diff --git a/.gitignore b/.gitignore index cac4a07e61..8d9502ae83 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ build/ *.ddump .idea/ porymap.project.cfg +prefabs.json .vscode/ *.a .fuse_hidden* diff --git a/INSTALL.md b/INSTALL.md index 7f1d47879f..5f2a1f05f1 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -44,15 +44,15 @@ WSL1 is the preferred terminal to build **pokeemerald**. The following instructi 3. The next step is to choose and install a Linux distribution from the Microsoft Store. The following instructions will assume Ubuntu as the Linux distribution of choice.
Note for advanced users... - - > You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested. + + > You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested.
4. Open the [Microsoft Store Linux Selection](https://aka.ms/wslstore), click Ubuntu, then click Get, which will install the Ubuntu distribution.
Notes... - > Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog. + > Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog. > Note 2: If the link does not work, then open the Microsoft Store manually, and search for the Ubuntu app (choose the one with no version number).
@@ -102,11 +102,11 @@ cd /mnt/c/Users//Desktop/decomps
Notes... -> Note 1: The Windows C:\ drive is called /mnt/c/ in WSL. -> Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users//Desktop/decomp folder"`. +> Note 1: The Windows C:\ drive is called /mnt/c/ in WSL. +> Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users//Desktop/decomp folder"`. > Note 3: Windows path names are case-insensitive so adhering to capitalization isn't needed
- + If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)), or continue reading below for [Windows instructions using msys2](#windows-msys2). @@ -213,10 +213,10 @@ Note that the directory **must exist** in Windows. If you want to store pokeemer
Notes... -> Note 1: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "c:/users//Desktop/decomp folder"`. -> Note 2: Windows path names are case-insensitive so adhering to capitalization isn't needed +> Note 1: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "c:/users//Desktop/decomp folder"`. +> Note 2: Windows path names are case-insensitive so adhering to capitalization isn't needed
- + If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)). ## macOS @@ -283,8 +283,8 @@ Note that the directory **must exist** in the folder system. If you want to stor
Note... - -> Note: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Desktop/decomp folder"` + +> Note: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Desktop/decomp folder"`
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)). @@ -305,7 +305,7 @@ Then proceed to [Choosing where to store pokeemerald (Linux)](#choosing-where-to > then you will have to install devkitARM. Install all the above packages except binutils-arm-none-eabi, and follow the instructions to > [install devkitARM on Debian/Ubuntu-based distributions](#installing-devkitarm-on-debianubuntu-based-distributions). - + ### Arch Linux Run this command as root to install the necessary packages: ```bash @@ -418,21 +418,16 @@ If you aren't in the pokeemerald directory already, then **change directory** to ```bash cd pokeemerald ``` -To build **pokeemerald.gba** for the first time and confirm it matches the official ROM image (Note: to speed up builds, see [Parallel builds](#parallel-builds)): +To build **pokeemerald.gba** (Note: to speed up builds, see [Parallel builds](#parallel-builds)): ```bash -make compare +make ``` -If an OK is returned, then the installation went smoothly. +If it has built successfully you will have the output file **pokeemerald.gba** in your project folder.
Note for Windows... > If you switched terminals since the last build (e.g. from msys2 to WSL1), you must run `make clean-tools` once before any subsequent `make` commands.
-To build **pokeemerald.gba** with your changes: -```bash -make -``` - # Building guidance ## Parallel builds @@ -451,6 +446,22 @@ Replace `` with the number that the `nproc` command returned. `nproc` is not available on macOS. The alternative is `sysctl -n hw.ncpu` ([relevant Stack Overflow thread](https://stackoverflow.com/questions/1715580)). +## Compare ROM to the original + +For contributing, or if you'd simply like to verify that your ROM is identical to the original game, run: +```bash +make compare +``` +If it matches, you will see the following at the end of the output: +```bash +pokeemerald.gba: OK +``` +If there are any changes from the original game, you will instead see: +```bash +pokeemerald.gba: FAILED +shasum: WARNING: 1 computed checksum did NOT match +``` + ## devkitARM's C compiler This project supports the `arm-none-eabi-gcc` compiler included with devkitARM. If devkitARM (a.k.a. gba-dev) has already been installed as part of the platform-specific instructions, simply run: @@ -528,7 +539,7 @@ devkitARM is now installed. devkitARM is now installed. ### Installing devkitARM on Arch Linux - + 1. Follow [devkitPro's instructions](https://devkitpro.org/wiki/devkitPro_pacman#Customising_Existing_Pacman_Install) to configure `pacman` to download devkitPro packages. 2. Install `gba-dev`: run the following command as root. diff --git a/Makefile b/Makefile index c36cc8e936..88303e7f39 100644 --- a/Makefile +++ b/Makefile @@ -254,7 +254,7 @@ tidynonmodern: tidymodern: rm -f $(MODERN_ROM_NAME) $(MODERN_ELF_NAME) $(MODERN_MAP_NAME) rm -rf $(MODERN_OBJ_DIR_NAME) - + ifneq ($(MODERN),0) $(C_BUILDDIR)/berry_crush.o: override CFLAGS += -Wno-address-of-packed-member endif @@ -410,7 +410,7 @@ LD_SCRIPT := ld_script.txt LD_SCRIPT_DEPS := $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld else LD_SCRIPT := ld_script_modern.txt -LD_SCRIPT_DEPS := +LD_SCRIPT_DEPS := endif $(OBJ_DIR)/ld_script.ld: $(LD_SCRIPT) $(LD_SCRIPT_DEPS) diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc index 5341e5a431..78c8131f66 100644 --- a/asm/macros/battle_ai_script.inc +++ b/asm/macros/battle_ai_script.inc @@ -550,38 +550,38 @@ .2byte \param1 .4byte \param2 .endm - + @ useful script macros .macro get_curr_move_type get_type AI_TYPE_MOVE .endm - + .macro get_user_type1 get_type AI_TYPE1_USER .endm - + .macro get_user_type2 get_type AI_TYPE2_USER .endm - + .macro get_target_type1 get_type AI_TYPE1_TARGET .endm - + .macro get_target_type2 get_type AI_TYPE2_TARGET .endm - + .macro if_ability battler:req, ability:req, ptr:req check_ability \battler, \ability if_equal 1, \ptr .endm - + .macro if_no_ability battler:req, ability:req, ptr:req check_ability \battler, \ability if_equal 0, \ptr .endm - + .macro if_type battler:req, type:req, ptr:req is_of_type \battler, \type if_equal 1, \ptr @@ -591,20 +591,20 @@ is_of_type \battler, \type if_equal 0, \ptr .endm - + .macro if_target_faster ptr:req if_user_goes 1, \ptr .endm - + .macro if_user_faster ptr:req if_user_goes 0, \ptr .endm - + .macro if_double_battle ptr:req is_double_battle if_equal 1, \ptr .endm - + .macro if_not_double_battle ptr:req is_double_battle if_equal 0, \ptr @@ -613,7 +613,7 @@ .macro if_any_move_disabled battler:req, ptr:req if_any_move_disabled_or_encored \battler, 0, \ptr .endm - + .macro if_any_move_encored battler:req, ptr:req if_any_move_disabled_or_encored \battler, 1, \ptr .endm diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index 15c48c39f5..67632e9885 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -270,16 +270,16 @@ .macro stopsound .byte 0x2f .endm - + @ useful macros .macro jumpreteq value:req, ptr:req jumpargeq ARG_RET_ID, \value, \ptr .endm - + .macro jumprettrue ptr:req jumpreteq TRUE, \ptr .endm - + .macro jumpretfalse ptr:req jumpreteq FALSE, \ptr .endm diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 73b3beca0b..ccb887327f 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -410,33 +410,33 @@ .byte \endMode .byte \endState .endm - + @ Help macros for 5 uses of moveend command - + @ All cases .macro moveendall setbyte sMOVEEND_STATE, 0 moveend 0, 0 .endm - + @ Chosen case .macro moveendcase case:req setbyte sMOVEEND_STATE, \case moveend 1, 0 .endm - + @ All cases from (inclusive) .macro moveendfrom from:req setbyte sMOVEEND_STATE, \from moveend 0, 0 .endm - + @ All cases from 0 to (not inclusive) .macro moveendto to:req setbyte sMOVEEND_STATE, 0 moveend 2, \to .endm - + @ Cases from (inclusive) to (not inclusive) .macro moveendfromto from:req, to:req setbyte sMOVEEND_STATE, \from @@ -668,7 +668,7 @@ .byte 0x77 .endm - .macro faintifabilitynotdamp + .macro tryexplosion .byte 0x78 .endm @@ -1031,7 +1031,7 @@ .byte 0xc8 .endm - .macro jumpifattackandspecialattackcannotfall ptr:req + .macro trymemento ptr:req .byte 0xc9 .4byte \ptr .endm @@ -1252,165 +1252,165 @@ .byte 0xf8 .byte \position .endm - + @ various command changed to more readable macros .macro cancelmultiturnmoves battler:req various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES .endm - + .macro setmagiccoattarget battler:req various \battler, VARIOUS_SET_MAGIC_COAT_TARGET .endm - + .macro getifcantrunfrombattle battler:req various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE .endm - + .macro getmovetarget battler:req various \battler, VARIOUS_GET_MOVE_TARGET .endm - + .macro getbattlerfainted battler:req various \battler, VARIOUS_GET_BATTLER_FAINTED .endm - + .macro resetintimidatetracebits battler:req various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS .endm - + .macro updatechoicemoveonlvlup battler:req various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP .endm - + .macro resetplayerfainted various BS_ATTACKER, VARIOUS_RESET_PLAYER_FAINTED .endm - + .macro palaceflavortext battler:req various \battler, VARIOUS_PALACE_FLAVOR_TEXT .endm - + .macro arenajudgmentwindow various BS_ATTACKER, VARIOUS_ARENA_JUDGMENT_WINDOW .endm - + .macro arenaopponentmonlost various BS_ATTACKER, VARIOUS_ARENA_OPPONENT_MON_LOST .endm - + .macro arenaplayermonlost various BS_ATTACKER, VARIOUS_ARENA_PLAYER_MON_LOST .endm - + .macro arenabothmonlost various BS_ATTACKER, VARIOUS_ARENA_BOTH_MONS_LOST .endm - + .macro forfeityesnobox battler:req various \battler, VARIOUS_EMIT_YESNOBOX .endm - + .macro arenadrawreftextbox various BS_ATTACKER, VARIOUS_DRAW_ARENA_REF_TEXT_BOX .endm - + .macro arenaerasereftextbox various BS_ATTACKER, VARIOUS_ERASE_ARENA_REF_TEXT_BOX .endm - + .macro arenajudgmentstring id:req various \id, VARIOUS_ARENA_JUDGMENT_STRING .endm - + .macro arenawaitmessage id:req various \id, VARIOUS_ARENA_WAIT_STRING .endm - + .macro waitcry battler:req various \battler, VARIOUS_WAIT_CRY .endm - + .macro returnopponentmon1toball battler:req various \battler, VARIOUS_RETURN_OPPONENT_MON1 .endm - + .macro returnopponentmon2toball battler:req various \battler, VARIOUS_RETURN_OPPONENT_MON2 .endm - + .macro volumedown various BS_ATTACKER, VARIOUS_VOLUME_DOWN .endm - + .macro volumeup various BS_ATTACKER, VARIOUS_VOLUME_UP .endm - + .macro setalreadystatusedmoveattempt battler:req various \battler, VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT .endm - + .macro palacetryescapestatus battler:req various \battler, VARIOUS_PALACE_TRY_ESCAPE_STATUS .endm - + .macro setoutcomeonteleport battler:req various \battler, VARIOUS_SET_TELEPORT_OUTCOME .endm - + .macro playtrainerdefeatbgm battler:req various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC .endm - + @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER, \stat | \stages << 4 | \down << 7 .endm - + .macro setmoveeffect effect:req setbyte cEFFECT_CHOOSER, \effect .endm - + .macro chosenstatus1animation battler:req, status:req chosenstatusanimation \battler, 0x0, \status .endm - + .macro chosenstatus2animation battler:req, status:req chosenstatusanimation \battler, 0x1, \status .endm - + .macro sethword dst:req, value:req setbyte \dst, (\value) & 0xFF setbyte \dst + 1, ((\value) >> 8) & 0xFF .endm - + .macro setword dst:req, value:req setbyte \dst, (\value) & 0xFF setbyte \dst + 1, ((\value) >> 8) & 0xFF setbyte \dst + 2, ((\value) >> 16) & 0xFF setbyte \dst + 3, ((\value) >> 24) & 0xFF .endm - + .macro copybyte dst:req, src:req copyarray \dst, \src, 0x1 .endm - + .macro copyhword dst:req, src:req copyarray \dst, \src, 0x2 .endm - + .macro copyword dst:req, src:req copyarray \dst, \src, 0x4 .endm - + .macro jumpifbytenotequal byte1:req, byte2:req, jumpptr:req jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr .endm - + .macro jumpifbyteequal byte1:req, byte2:req, jumpptr:req jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr .endm - + .macro jumpifmove move:req, jumpptr:req jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr .endm @@ -1418,23 +1418,23 @@ .macro jumpifnotmove move:req, jumpptr:req jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr .endm - + .macro jumpifstatus3 battler:req, status:req, jumpptr:req jumpifstatus3condition \battler, \status, FALSE, \jumpptr .endm - + .macro jumpifnostatus3 battler:req, status:req, jumpptr:req jumpifstatus3condition \battler, \status, TRUE, \jumpptr .endm - + .macro jumpifmovehadnoeffect jumpptr:req jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr .endm - + .macro jumpifbattletype flags:req, jumpptr:req jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr .endm - + .macro jumpifnotbattletype flags:req, jumpptr:req jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr .endm diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 661e675c97..77916efe13 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -276,8 +276,8 @@ .2byte SPECIAL_\function .endm - @ Blocks script execution until a command or C code manually unblocks it. Generally used with specific - @ commands and specials. Calling EnableBothScriptContexts for instance will allow execution to continue. + @ Blocks script execution until a command or C code manually unblocks it. Generally used with specific + @ commands and specials. Calling ScriptContext_Enable for instance will allow execution to continue. .macro waitstate .byte 0x27 .endm @@ -985,7 +985,7 @@ .endm @ Gives the player a Pokémon of the specified species and level, holding the specified item. The trailing 0s are unused parameters. - @ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome. + @ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome. .macro givemon species:req, level:req, item=ITEM_NONE .byte 0x79 .2byte \species @@ -997,7 +997,7 @@ .endm @ Gives the player an Egg of the specified species. - @ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome. + @ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome. .macro giveegg species:req .byte 0x7a .2byte \species @@ -1415,7 +1415,7 @@ .2byte \out .endm - @ Gives 'count' coins to the player, up to a total of MAX_COINS. + @ Gives 'count' coins to the player, up to a total of MAX_COINS. @ If the player already has MAX_COINS then VAR_RESULT is set to TRUE, otherwise it is set to FALSE. .macro addcoins count:req .byte 0xb4 @@ -1887,7 +1887,7 @@ @ Gives 'amount' of the specified 'item' to the player and prints a message with fanfare. @ If the player doesn't have space for all the items then as many are added as possible, the - @ message indicates there is no room, and VAR_RESULT is set to FALSE. + @ message indicates there is no room, and VAR_RESULT is set to FALSE. @ Otherwise VAR_RESULT is set to TRUE, and the message indicates they have received the item(s). .macro giveitem item:req, amount=1 setorcopyvar VAR_0x8000, \item diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc index 62618379b6..a43dc07ac5 100644 --- a/asm/macros/movement.inc +++ b/asm/macros/movement.inc @@ -152,8 +152,8 @@ 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 lock_anim, MOVEMENT_ACTION_LOCK_ANIM + create_movement_action unlock_anim, MOVEMENT_ACTION_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 diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index d856b926a2..df6cf1b6f3 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -850,46 +850,46 @@ AI_CV_MirrorMove_End: end AI_CV_MirrorMove_EncouragedMovesToMirror: - .2byte MOVE_SLEEP_POWDER - .2byte MOVE_LOVELY_KISS - .2byte MOVE_SPORE - .2byte MOVE_HYPNOSIS - .2byte MOVE_SING - .2byte MOVE_GRASS_WHISTLE - .2byte MOVE_SHADOW_PUNCH - .2byte MOVE_SAND_ATTACK - .2byte MOVE_SMOKESCREEN - .2byte MOVE_TOXIC - .2byte MOVE_GUILLOTINE - .2byte MOVE_HORN_DRILL - .2byte MOVE_FISSURE - .2byte MOVE_SHEER_COLD - .2byte MOVE_CROSS_CHOP - .2byte MOVE_AEROBLAST - .2byte MOVE_CONFUSE_RAY - .2byte MOVE_SWEET_KISS - .2byte MOVE_SCREECH - .2byte MOVE_COTTON_SPORE - .2byte MOVE_SCARY_FACE - .2byte MOVE_FAKE_TEARS - .2byte MOVE_METAL_SOUND - .2byte MOVE_THUNDER_WAVE - .2byte MOVE_GLARE - .2byte MOVE_POISON_POWDER - .2byte MOVE_SHADOW_BALL - .2byte MOVE_DYNAMIC_PUNCH - .2byte MOVE_HYPER_BEAM - .2byte MOVE_EXTREME_SPEED - .2byte MOVE_THIEF - .2byte MOVE_COVET - .2byte MOVE_ATTRACT - .2byte MOVE_SWAGGER - .2byte MOVE_TORMENT - .2byte MOVE_FLATTER - .2byte MOVE_TRICK - .2byte MOVE_SUPERPOWER - .2byte MOVE_SKILL_SWAP - .2byte -1 + .2byte MOVE_SLEEP_POWDER + .2byte MOVE_LOVELY_KISS + .2byte MOVE_SPORE + .2byte MOVE_HYPNOSIS + .2byte MOVE_SING + .2byte MOVE_GRASS_WHISTLE + .2byte MOVE_SHADOW_PUNCH + .2byte MOVE_SAND_ATTACK + .2byte MOVE_SMOKESCREEN + .2byte MOVE_TOXIC + .2byte MOVE_GUILLOTINE + .2byte MOVE_HORN_DRILL + .2byte MOVE_FISSURE + .2byte MOVE_SHEER_COLD + .2byte MOVE_CROSS_CHOP + .2byte MOVE_AEROBLAST + .2byte MOVE_CONFUSE_RAY + .2byte MOVE_SWEET_KISS + .2byte MOVE_SCREECH + .2byte MOVE_COTTON_SPORE + .2byte MOVE_SCARY_FACE + .2byte MOVE_FAKE_TEARS + .2byte MOVE_METAL_SOUND + .2byte MOVE_THUNDER_WAVE + .2byte MOVE_GLARE + .2byte MOVE_POISON_POWDER + .2byte MOVE_SHADOW_BALL + .2byte MOVE_DYNAMIC_PUNCH + .2byte MOVE_HYPER_BEAM + .2byte MOVE_EXTREME_SPEED + .2byte MOVE_THIEF + .2byte MOVE_COVET + .2byte MOVE_ATTRACT + .2byte MOVE_SWAGGER + .2byte MOVE_TORMENT + .2byte MOVE_FLATTER + .2byte MOVE_TRICK + .2byte MOVE_SUPERPOWER + .2byte MOVE_SKILL_SWAP + .2byte -1 AI_CV_AttackUp: if_stat_level_less_than AI_USER, STAT_ATK, 9, AI_CV_AttackUp2 @@ -940,16 +940,16 @@ AI_CV_DefenseUp_End: end AI_CV_DefenseUp_PhysicalTypes: - .byte TYPE_NORMAL - .byte TYPE_FIGHTING - .byte TYPE_POISON - .byte TYPE_GROUND - .byte TYPE_FLYING - .byte TYPE_ROCK - .byte TYPE_BUG - .byte TYPE_GHOST - .byte TYPE_STEEL - .byte -1 + .byte TYPE_NORMAL + .byte TYPE_FIGHTING + .byte TYPE_POISON + .byte TYPE_GROUND + .byte TYPE_FLYING + .byte TYPE_ROCK + .byte TYPE_BUG + .byte TYPE_GHOST + .byte TYPE_STEEL + .byte -1 AI_CV_SpeedUp: if_target_faster AI_CV_SpeedUp2 @@ -1011,16 +1011,16 @@ AI_CV_SpDefUp_End: end AI_CV_SpDefUp_PhysicalTypes: - .byte TYPE_NORMAL - .byte TYPE_FIGHTING - .byte TYPE_POISON - .byte TYPE_GROUND - .byte TYPE_FLYING - .byte TYPE_ROCK - .byte TYPE_BUG - .byte TYPE_GHOST - .byte TYPE_STEEL - .byte -1 + .byte TYPE_NORMAL + .byte TYPE_FIGHTING + .byte TYPE_POISON + .byte TYPE_GROUND + .byte TYPE_FLYING + .byte TYPE_ROCK + .byte TYPE_BUG + .byte TYPE_GHOST + .byte TYPE_STEEL + .byte -1 AI_CV_AccuracyUp: if_stat_level_less_than AI_USER, STAT_ACC, 9, AI_CV_AccuracyUp2 @@ -1108,13 +1108,13 @@ AI_CV_AttackDown_End: end AI_CV_AttackDown_UnknownTypeList: - .byte TYPE_NORMAL - .byte TYPE_FIGHTING - .byte TYPE_GROUND - .byte TYPE_ROCK - .byte TYPE_BUG - .byte TYPE_STEEL - .byte -1 + .byte TYPE_NORMAL + .byte TYPE_FIGHTING + .byte TYPE_GROUND + .byte TYPE_ROCK + .byte TYPE_BUG + .byte TYPE_STEEL + .byte -1 AI_CV_DefenseDown: if_hp_less_than AI_USER, 70, AI_CV_DefenseDown2 @@ -1168,15 +1168,15 @@ AI_CV_SpAtkDown_End: end AI_CV_SpAtkDown_SpecialTypeList: - .byte TYPE_FIRE - .byte TYPE_WATER - .byte TYPE_GRASS - .byte TYPE_ELECTRIC - .byte TYPE_PSYCHIC - .byte TYPE_ICE - .byte TYPE_DRAGON - .byte TYPE_DARK - .byte -1 + .byte TYPE_FIRE + .byte TYPE_WATER + .byte TYPE_GRASS + .byte TYPE_ELECTRIC + .byte TYPE_PSYCHIC + .byte TYPE_ICE + .byte TYPE_DRAGON + .byte TYPE_DARK + .byte -1 AI_CV_SpDefDown: if_hp_less_than AI_USER, 70, AI_CV_SpDefDown2 @@ -1378,15 +1378,15 @@ AI_CV_LightScreen_End: end AI_CV_LightScreen_SpecialTypeList: - .byte TYPE_FIRE - .byte TYPE_WATER - .byte TYPE_GRASS - .byte TYPE_ELECTRIC - .byte TYPE_PSYCHIC - .byte TYPE_ICE - .byte TYPE_DRAGON - .byte TYPE_DARK - .byte -1 + .byte TYPE_FIRE + .byte TYPE_WATER + .byte TYPE_GRASS + .byte TYPE_ELECTRIC + .byte TYPE_PSYCHIC + .byte TYPE_ICE + .byte TYPE_DRAGON + .byte TYPE_DARK + .byte -1 AI_CV_Rest: if_target_faster AI_CV_Rest4 @@ -1497,16 +1497,16 @@ AI_CV_Reflect_End: end AI_CV_Reflect_PhysicalTypeList: - .byte TYPE_NORMAL - .byte TYPE_FIGHTING - .byte TYPE_FLYING - .byte TYPE_POISON - .byte TYPE_GROUND - .byte TYPE_ROCK - .byte TYPE_BUG - .byte TYPE_GHOST - .byte TYPE_STEEL - .byte -1 + .byte TYPE_NORMAL + .byte TYPE_FIGHTING + .byte TYPE_FLYING + .byte TYPE_POISON + .byte TYPE_GROUND + .byte TYPE_ROCK + .byte TYPE_BUG + .byte TYPE_GHOST + .byte TYPE_STEEL + .byte -1 AI_CV_Poison: if_hp_less_than AI_USER, 50, AI_CV_Poison_ScoreDown1 @@ -1657,16 +1657,16 @@ AI_CV_Counter_End: end AI_CV_Counter_PhysicalTypeList: - .byte TYPE_NORMAL - .byte TYPE_FIGHTING - .byte TYPE_FLYING - .byte TYPE_POISON - .byte TYPE_GROUND - .byte TYPE_ROCK - .byte TYPE_BUG - .byte TYPE_GHOST - .byte TYPE_STEEL - .byte -1 + .byte TYPE_NORMAL + .byte TYPE_FIGHTING + .byte TYPE_FLYING + .byte TYPE_POISON + .byte TYPE_GROUND + .byte TYPE_ROCK + .byte TYPE_BUG + .byte TYPE_GHOST + .byte TYPE_STEEL + .byte -1 AI_CV_Encore: if_any_move_disabled AI_TARGET, AI_CV_Encore2 @@ -1685,69 +1685,69 @@ AI_CV_Encore_End: end AI_CV_Encore_EncouragedMovesToEncore: - .byte EFFECT_DREAM_EATER - .byte EFFECT_ATTACK_UP - .byte EFFECT_DEFENSE_UP - .byte EFFECT_SPEED_UP - .byte EFFECT_SPECIAL_ATTACK_UP - .byte EFFECT_HAZE - .byte EFFECT_ROAR - .byte EFFECT_CONVERSION - .byte EFFECT_TOXIC - .byte EFFECT_LIGHT_SCREEN - .byte EFFECT_REST - .byte EFFECT_SUPER_FANG - .byte EFFECT_SPECIAL_DEFENSE_UP_2 - .byte EFFECT_CONFUSE - .byte EFFECT_POISON - .byte EFFECT_PARALYZE - .byte EFFECT_LEECH_SEED - .byte EFFECT_SPLASH - .byte EFFECT_ATTACK_UP_2 - .byte EFFECT_ENCORE - .byte EFFECT_CONVERSION_2 - .byte EFFECT_LOCK_ON - .byte EFFECT_HEAL_BELL - .byte EFFECT_MEAN_LOOK - .byte EFFECT_NIGHTMARE - .byte EFFECT_PROTECT - .byte EFFECT_SKILL_SWAP - .byte EFFECT_FORESIGHT - .byte EFFECT_PERISH_SONG - .byte EFFECT_SANDSTORM - .byte EFFECT_ENDURE - .byte EFFECT_SWAGGER - .byte EFFECT_ATTRACT - .byte EFFECT_SAFEGUARD - .byte EFFECT_RAIN_DANCE - .byte EFFECT_SUNNY_DAY - .byte EFFECT_BELLY_DRUM - .byte EFFECT_PSYCH_UP - .byte EFFECT_FUTURE_SIGHT - .byte EFFECT_FAKE_OUT - .byte EFFECT_STOCKPILE - .byte EFFECT_SPIT_UP - .byte EFFECT_SWALLOW - .byte EFFECT_HAIL - .byte EFFECT_TORMENT - .byte EFFECT_WILL_O_WISP - .byte EFFECT_FOLLOW_ME - .byte EFFECT_CHARGE - .byte EFFECT_TRICK - .byte EFFECT_ROLE_PLAY - .byte EFFECT_INGRAIN - .byte EFFECT_RECYCLE - .byte EFFECT_KNOCK_OFF - .byte EFFECT_SKILL_SWAP - .byte EFFECT_IMPRISON - .byte EFFECT_REFRESH - .byte EFFECT_GRUDGE - .byte EFFECT_TEETER_DANCE - .byte EFFECT_MUD_SPORT - .byte EFFECT_WATER_SPORT - .byte EFFECT_DRAGON_DANCE - .byte EFFECT_CAMOUFLAGE - .byte -1 + .byte EFFECT_DREAM_EATER + .byte EFFECT_ATTACK_UP + .byte EFFECT_DEFENSE_UP + .byte EFFECT_SPEED_UP + .byte EFFECT_SPECIAL_ATTACK_UP + .byte EFFECT_HAZE + .byte EFFECT_ROAR + .byte EFFECT_CONVERSION + .byte EFFECT_TOXIC + .byte EFFECT_LIGHT_SCREEN + .byte EFFECT_REST + .byte EFFECT_SUPER_FANG + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_CONFUSE + .byte EFFECT_POISON + .byte EFFECT_PARALYZE + .byte EFFECT_LEECH_SEED + .byte EFFECT_SPLASH + .byte EFFECT_ATTACK_UP_2 + .byte EFFECT_ENCORE + .byte EFFECT_CONVERSION_2 + .byte EFFECT_LOCK_ON + .byte EFFECT_HEAL_BELL + .byte EFFECT_MEAN_LOOK + .byte EFFECT_NIGHTMARE + .byte EFFECT_PROTECT + .byte EFFECT_SKILL_SWAP + .byte EFFECT_FORESIGHT + .byte EFFECT_PERISH_SONG + .byte EFFECT_SANDSTORM + .byte EFFECT_ENDURE + .byte EFFECT_SWAGGER + .byte EFFECT_ATTRACT + .byte EFFECT_SAFEGUARD + .byte EFFECT_RAIN_DANCE + .byte EFFECT_SUNNY_DAY + .byte EFFECT_BELLY_DRUM + .byte EFFECT_PSYCH_UP + .byte EFFECT_FUTURE_SIGHT + .byte EFFECT_FAKE_OUT + .byte EFFECT_STOCKPILE + .byte EFFECT_SPIT_UP + .byte EFFECT_SWALLOW + .byte EFFECT_HAIL + .byte EFFECT_TORMENT + .byte EFFECT_WILL_O_WISP + .byte EFFECT_FOLLOW_ME + .byte EFFECT_CHARGE + .byte EFFECT_TRICK + .byte EFFECT_ROLE_PLAY + .byte EFFECT_INGRAIN + .byte EFFECT_RECYCLE + .byte EFFECT_KNOCK_OFF + .byte EFFECT_SKILL_SWAP + .byte EFFECT_IMPRISON + .byte EFFECT_REFRESH + .byte EFFECT_GRUDGE + .byte EFFECT_TEETER_DANCE + .byte EFFECT_MUD_SPORT + .byte EFFECT_WATER_SPORT + .byte EFFECT_DRAGON_DANCE + .byte EFFECT_CAMOUFLAGE + .byte -1 AI_CV_PainSplit: if_hp_less_than AI_TARGET, 80, AI_CV_PainSplit_ScoreDown1 @@ -1842,14 +1842,14 @@ AI_CV_Thief_End: end AI_CV_Thief_EncourageItemsToSteal: - .byte HOLD_EFFECT_CURE_SLP - .byte HOLD_EFFECT_CURE_STATUS - .byte HOLD_EFFECT_RESTORE_HP - .byte HOLD_EFFECT_EVASION_UP - .byte HOLD_EFFECT_LEFTOVERS - .byte HOLD_EFFECT_LIGHT_BALL - .byte HOLD_EFFECT_THICK_CLUB - .byte -1 + .byte HOLD_EFFECT_CURE_SLP + .byte HOLD_EFFECT_CURE_STATUS + .byte HOLD_EFFECT_RESTORE_HP + .byte HOLD_EFFECT_EVASION_UP + .byte HOLD_EFFECT_LEFTOVERS + .byte HOLD_EFFECT_LIGHT_BALL + .byte HOLD_EFFECT_THICK_CLUB + .byte -1 AI_CV_Curse: get_user_type1 @@ -1909,7 +1909,7 @@ AI_CV_Protect4: if_random_less_than 128, AI_CV_Protect_End score -1 goto AI_CV_Protect_End - + AI_CV_Protect3: get_last_used_bank_move AI_TARGET get_move_effect_from_result @@ -2144,15 +2144,15 @@ AI_CV_MirrorCoat_End: end AI_CV_MirrorCoat_SpecialTypeList: - .byte TYPE_FIRE - .byte TYPE_WATER - .byte TYPE_GRASS - .byte TYPE_ELECTRIC - .byte TYPE_PSYCHIC - .byte TYPE_ICE - .byte TYPE_DRAGON - .byte TYPE_DARK - .byte -1 + .byte TYPE_FIRE + .byte TYPE_WATER + .byte TYPE_GRASS + .byte TYPE_ELECTRIC + .byte TYPE_PSYCHIC + .byte TYPE_ICE + .byte TYPE_DRAGON + .byte TYPE_DARK + .byte -1 AI_CV_ChargeUpMove: if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_ChargeUpMove_ScoreDown2 @@ -2214,10 +2214,10 @@ AI_CV_SemiInvulnerable_End: end AI_CV_SandstormResistantTypes: - .byte TYPE_GROUND - .byte TYPE_ROCK - .byte TYPE_STEEL - .byte -1 + .byte TYPE_GROUND + .byte TYPE_ROCK + .byte TYPE_STEEL + .byte -1 AI_CV_FakeOut: score +2 @@ -2315,18 +2315,18 @@ AI_CV_Trick_End: end AI_CV_Trick_EffectsToEncourage: - .byte HOLD_EFFECT_CONFUSE_SPICY - .byte HOLD_EFFECT_CONFUSE_DRY - .byte HOLD_EFFECT_CONFUSE_SWEET - .byte HOLD_EFFECT_CONFUSE_BITTER - .byte HOLD_EFFECT_CONFUSE_SOUR - .byte HOLD_EFFECT_MACHO_BRACE - .byte HOLD_EFFECT_CHOICE_BAND - .byte -1 + .byte HOLD_EFFECT_CONFUSE_SPICY + .byte HOLD_EFFECT_CONFUSE_DRY + .byte HOLD_EFFECT_CONFUSE_SWEET + .byte HOLD_EFFECT_CONFUSE_BITTER + .byte HOLD_EFFECT_CONFUSE_SOUR + .byte HOLD_EFFECT_MACHO_BRACE + .byte HOLD_EFFECT_CHOICE_BAND + .byte -1 AI_CV_Trick_EffectsToEncourage2: - .byte HOLD_EFFECT_CHOICE_BAND - .byte -1 + .byte HOLD_EFFECT_CHOICE_BAND + .byte -1 AI_CV_ChangeSelfAbility: get_ability AI_USER @@ -2344,23 +2344,23 @@ AI_CV_ChangeSelfAbility_End: end AI_CV_ChangeSelfAbility_AbilitiesToEncourage: - .byte ABILITY_SPEED_BOOST - .byte ABILITY_BATTLE_ARMOR - .byte ABILITY_SAND_VEIL - .byte ABILITY_STATIC - .byte ABILITY_FLASH_FIRE - .byte ABILITY_WONDER_GUARD - .byte ABILITY_EFFECT_SPORE - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_HUGE_POWER - .byte ABILITY_RAIN_DISH - .byte ABILITY_CUTE_CHARM - .byte ABILITY_SHED_SKIN - .byte ABILITY_MARVEL_SCALE - .byte ABILITY_PURE_POWER - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_SHIELD_DUST - .byte -1 + .byte ABILITY_SPEED_BOOST + .byte ABILITY_BATTLE_ARMOR + .byte ABILITY_SAND_VEIL + .byte ABILITY_STATIC + .byte ABILITY_FLASH_FIRE + .byte ABILITY_WONDER_GUARD + .byte ABILITY_EFFECT_SPORE + .byte ABILITY_SWIFT_SWIM + .byte ABILITY_HUGE_POWER + .byte ABILITY_RAIN_DISH + .byte ABILITY_CUTE_CHARM + .byte ABILITY_SHED_SKIN + .byte ABILITY_MARVEL_SCALE + .byte ABILITY_PURE_POWER + .byte ABILITY_CHLOROPHYLL + .byte ABILITY_SHIELD_DUST + .byte -1 AI_CV_Superpower: if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_Superpower_ScoreDown1 @@ -2409,10 +2409,10 @@ AI_CV_Recycle_End: end AI_CV_Recycle_ItemsToEncourage: - .byte ITEM_CHESTO_BERRY - .byte ITEM_LUM_BERRY - .byte ITEM_STARF_BERRY - .byte -1 + .byte ITEM_CHESTO_BERRY + .byte ITEM_LUM_BERRY + .byte ITEM_STARF_BERRY + .byte -1 AI_CV_Revenge: if_status AI_TARGET, STATUS1_SLEEP, AI_CV_Revenge_ScoreDown2 @@ -2620,62 +2620,62 @@ AI_SetupFirstTurn_End: end AI_SetupFirstTurn_SetupEffectsToEncourage: - .byte EFFECT_ATTACK_UP - .byte EFFECT_DEFENSE_UP - .byte EFFECT_SPEED_UP - .byte EFFECT_SPECIAL_ATTACK_UP - .byte EFFECT_SPECIAL_DEFENSE_UP - .byte EFFECT_ACCURACY_UP - .byte EFFECT_EVASION_UP - .byte EFFECT_ATTACK_DOWN - .byte EFFECT_DEFENSE_DOWN - .byte EFFECT_SPEED_DOWN - .byte EFFECT_SPECIAL_ATTACK_DOWN - .byte EFFECT_SPECIAL_DEFENSE_DOWN - .byte EFFECT_ACCURACY_DOWN - .byte EFFECT_EVASION_DOWN - .byte EFFECT_CONVERSION - .byte EFFECT_LIGHT_SCREEN - .byte EFFECT_SPECIAL_DEFENSE_UP_2 - .byte EFFECT_FOCUS_ENERGY - .byte EFFECT_CONFUSE - .byte EFFECT_ATTACK_UP_2 - .byte EFFECT_DEFENSE_UP_2 - .byte EFFECT_SPEED_UP_2 - .byte EFFECT_SPECIAL_ATTACK_UP_2 - .byte EFFECT_SPECIAL_DEFENSE_UP_2 - .byte EFFECT_ACCURACY_UP_2 - .byte EFFECT_EVASION_UP_2 - .byte EFFECT_ATTACK_DOWN_2 - .byte EFFECT_DEFENSE_DOWN_2 - .byte EFFECT_SPEED_DOWN_2 - .byte EFFECT_SPECIAL_ATTACK_DOWN_2 - .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 - .byte EFFECT_ACCURACY_DOWN_2 - .byte EFFECT_EVASION_DOWN_2 - .byte EFFECT_REFLECT - .byte EFFECT_POISON - .byte EFFECT_PARALYZE - .byte EFFECT_SUBSTITUTE - .byte EFFECT_LEECH_SEED - .byte EFFECT_MINIMIZE - .byte EFFECT_CURSE - .byte EFFECT_SWAGGER - .byte EFFECT_CAMOUFLAGE - .byte EFFECT_YAWN - .byte EFFECT_DEFENSE_CURL - .byte EFFECT_TORMENT - .byte EFFECT_FLATTER - .byte EFFECT_WILL_O_WISP - .byte EFFECT_INGRAIN - .byte EFFECT_IMPRISON - .byte EFFECT_TEETER_DANCE - .byte EFFECT_TICKLE - .byte EFFECT_COSMIC_POWER - .byte EFFECT_BULK_UP - .byte EFFECT_CALM_MIND - .byte EFFECT_CAMOUFLAGE - .byte -1 + .byte EFFECT_ATTACK_UP + .byte EFFECT_DEFENSE_UP + .byte EFFECT_SPEED_UP + .byte EFFECT_SPECIAL_ATTACK_UP + .byte EFFECT_SPECIAL_DEFENSE_UP + .byte EFFECT_ACCURACY_UP + .byte EFFECT_EVASION_UP + .byte EFFECT_ATTACK_DOWN + .byte EFFECT_DEFENSE_DOWN + .byte EFFECT_SPEED_DOWN + .byte EFFECT_SPECIAL_ATTACK_DOWN + .byte EFFECT_SPECIAL_DEFENSE_DOWN + .byte EFFECT_ACCURACY_DOWN + .byte EFFECT_EVASION_DOWN + .byte EFFECT_CONVERSION + .byte EFFECT_LIGHT_SCREEN + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_FOCUS_ENERGY + .byte EFFECT_CONFUSE + .byte EFFECT_ATTACK_UP_2 + .byte EFFECT_DEFENSE_UP_2 + .byte EFFECT_SPEED_UP_2 + .byte EFFECT_SPECIAL_ATTACK_UP_2 + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_ACCURACY_UP_2 + .byte EFFECT_EVASION_UP_2 + .byte EFFECT_ATTACK_DOWN_2 + .byte EFFECT_DEFENSE_DOWN_2 + .byte EFFECT_SPEED_DOWN_2 + .byte EFFECT_SPECIAL_ATTACK_DOWN_2 + .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 + .byte EFFECT_ACCURACY_DOWN_2 + .byte EFFECT_EVASION_DOWN_2 + .byte EFFECT_REFLECT + .byte EFFECT_POISON + .byte EFFECT_PARALYZE + .byte EFFECT_SUBSTITUTE + .byte EFFECT_LEECH_SEED + .byte EFFECT_MINIMIZE + .byte EFFECT_CURSE + .byte EFFECT_SWAGGER + .byte EFFECT_CAMOUFLAGE + .byte EFFECT_YAWN + .byte EFFECT_DEFENSE_CURL + .byte EFFECT_TORMENT + .byte EFFECT_FLATTER + .byte EFFECT_WILL_O_WISP + .byte EFFECT_INGRAIN + .byte EFFECT_IMPRISON + .byte EFFECT_TEETER_DANCE + .byte EFFECT_TICKLE + .byte EFFECT_COSMIC_POWER + .byte EFFECT_BULK_UP + .byte EFFECT_CALM_MIND + .byte EFFECT_CAMOUFLAGE + .byte -1 @ ~60% chance to prefer moves that do 0 or 1 damage, or are in sIgnoredPowerfulMoveEffects @ Oddly this group includes moves like Explosion and Eruption, so the AI strategy isn't very coherent @@ -2698,26 +2698,26 @@ AI_Risky_End: end AI_Risky_EffectsToEncourage: - .byte EFFECT_SLEEP - .byte EFFECT_EXPLOSION - .byte EFFECT_MIRROR_MOVE - .byte EFFECT_OHKO - .byte EFFECT_HIGH_CRITICAL - .byte EFFECT_CONFUSE - .byte EFFECT_METRONOME - .byte EFFECT_PSYWAVE - .byte EFFECT_COUNTER - .byte EFFECT_DESTINY_BOND - .byte EFFECT_SWAGGER - .byte EFFECT_ATTRACT - .byte EFFECT_PRESENT - .byte EFFECT_ALL_STATS_UP_HIT - .byte EFFECT_BELLY_DRUM - .byte EFFECT_MIRROR_COAT - .byte EFFECT_FOCUS_PUNCH - .byte EFFECT_REVENGE - .byte EFFECT_TEETER_DANCE - .byte -1 + .byte EFFECT_SLEEP + .byte EFFECT_EXPLOSION + .byte EFFECT_MIRROR_MOVE + .byte EFFECT_OHKO + .byte EFFECT_HIGH_CRITICAL + .byte EFFECT_CONFUSE + .byte EFFECT_METRONOME + .byte EFFECT_PSYWAVE + .byte EFFECT_COUNTER + .byte EFFECT_DESTINY_BOND + .byte EFFECT_SWAGGER + .byte EFFECT_ATTRACT + .byte EFFECT_PRESENT + .byte EFFECT_ALL_STATS_UP_HIT + .byte EFFECT_BELLY_DRUM + .byte EFFECT_MIRROR_COAT + .byte EFFECT_FOCUS_PUNCH + .byte EFFECT_REVENGE + .byte EFFECT_TEETER_DANCE + .byte -1 AI_PreferBatonPass: if_target_is_ally AI_Ret @@ -2748,9 +2748,9 @@ AI_PreferBatonPass_End: end sMovesTable_ProtectMoves: - .2byte MOVE_PROTECT - .2byte MOVE_DETECT - .2byte -1 + .2byte MOVE_PROTECT + .2byte MOVE_DETECT + .2byte -1 AI_PreferBatonPass_EncourageIfHighStats: get_turn_count @@ -2950,222 +2950,222 @@ AI_HPAware_End: end AI_HPAware_DiscouragedEffectsWhenHighHP: - .byte EFFECT_EXPLOSION - .byte EFFECT_RESTORE_HP - .byte EFFECT_REST - .byte EFFECT_DESTINY_BOND - .byte EFFECT_FLAIL - .byte EFFECT_ENDURE - .byte EFFECT_MORNING_SUN - .byte EFFECT_SYNTHESIS - .byte EFFECT_MOONLIGHT - .byte EFFECT_SOFTBOILED - .byte EFFECT_MEMENTO - .byte EFFECT_GRUDGE - .byte EFFECT_OVERHEAT - .byte -1 + .byte EFFECT_EXPLOSION + .byte EFFECT_RESTORE_HP + .byte EFFECT_REST + .byte EFFECT_DESTINY_BOND + .byte EFFECT_FLAIL + .byte EFFECT_ENDURE + .byte EFFECT_MORNING_SUN + .byte EFFECT_SYNTHESIS + .byte EFFECT_MOONLIGHT + .byte EFFECT_SOFTBOILED + .byte EFFECT_MEMENTO + .byte EFFECT_GRUDGE + .byte EFFECT_OVERHEAT + .byte -1 AI_HPAware_DiscouragedEffectsWhenMediumHP: - .byte EFFECT_EXPLOSION - .byte EFFECT_ATTACK_UP - .byte EFFECT_DEFENSE_UP - .byte EFFECT_SPEED_UP - .byte EFFECT_SPECIAL_ATTACK_UP - .byte EFFECT_SPECIAL_DEFENSE_UP - .byte EFFECT_ACCURACY_UP - .byte EFFECT_EVASION_UP - .byte EFFECT_ATTACK_DOWN - .byte EFFECT_DEFENSE_DOWN - .byte EFFECT_SPEED_DOWN - .byte EFFECT_SPECIAL_ATTACK_DOWN - .byte EFFECT_SPECIAL_DEFENSE_DOWN - .byte EFFECT_ACCURACY_DOWN - .byte EFFECT_EVASION_DOWN - .byte EFFECT_BIDE - .byte EFFECT_CONVERSION - .byte EFFECT_LIGHT_SCREEN - .byte EFFECT_MIST - .byte EFFECT_FOCUS_ENERGY - .byte EFFECT_ATTACK_UP_2 - .byte EFFECT_DEFENSE_UP_2 - .byte EFFECT_SPEED_UP_2 - .byte EFFECT_SPECIAL_ATTACK_UP_2 - .byte EFFECT_SPECIAL_DEFENSE_UP_2 - .byte EFFECT_ACCURACY_UP_2 - .byte EFFECT_EVASION_UP_2 - .byte EFFECT_ATTACK_DOWN_2 - .byte EFFECT_DEFENSE_DOWN_2 - .byte EFFECT_SPEED_DOWN_2 - .byte EFFECT_SPECIAL_ATTACK_DOWN_2 - .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 - .byte EFFECT_ACCURACY_DOWN_2 - .byte EFFECT_EVASION_DOWN_2 - .byte EFFECT_CONVERSION_2 - .byte EFFECT_SAFEGUARD - .byte EFFECT_BELLY_DRUM - .byte EFFECT_TICKLE - .byte EFFECT_COSMIC_POWER - .byte EFFECT_BULK_UP - .byte EFFECT_CALM_MIND - .byte EFFECT_DRAGON_DANCE - .byte -1 + .byte EFFECT_EXPLOSION + .byte EFFECT_ATTACK_UP + .byte EFFECT_DEFENSE_UP + .byte EFFECT_SPEED_UP + .byte EFFECT_SPECIAL_ATTACK_UP + .byte EFFECT_SPECIAL_DEFENSE_UP + .byte EFFECT_ACCURACY_UP + .byte EFFECT_EVASION_UP + .byte EFFECT_ATTACK_DOWN + .byte EFFECT_DEFENSE_DOWN + .byte EFFECT_SPEED_DOWN + .byte EFFECT_SPECIAL_ATTACK_DOWN + .byte EFFECT_SPECIAL_DEFENSE_DOWN + .byte EFFECT_ACCURACY_DOWN + .byte EFFECT_EVASION_DOWN + .byte EFFECT_BIDE + .byte EFFECT_CONVERSION + .byte EFFECT_LIGHT_SCREEN + .byte EFFECT_MIST + .byte EFFECT_FOCUS_ENERGY + .byte EFFECT_ATTACK_UP_2 + .byte EFFECT_DEFENSE_UP_2 + .byte EFFECT_SPEED_UP_2 + .byte EFFECT_SPECIAL_ATTACK_UP_2 + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_ACCURACY_UP_2 + .byte EFFECT_EVASION_UP_2 + .byte EFFECT_ATTACK_DOWN_2 + .byte EFFECT_DEFENSE_DOWN_2 + .byte EFFECT_SPEED_DOWN_2 + .byte EFFECT_SPECIAL_ATTACK_DOWN_2 + .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 + .byte EFFECT_ACCURACY_DOWN_2 + .byte EFFECT_EVASION_DOWN_2 + .byte EFFECT_CONVERSION_2 + .byte EFFECT_SAFEGUARD + .byte EFFECT_BELLY_DRUM + .byte EFFECT_TICKLE + .byte EFFECT_COSMIC_POWER + .byte EFFECT_BULK_UP + .byte EFFECT_CALM_MIND + .byte EFFECT_DRAGON_DANCE + .byte -1 AI_HPAware_DiscouragedEffectsWhenLowHP: - .byte EFFECT_ATTACK_UP - .byte EFFECT_DEFENSE_UP - .byte EFFECT_SPEED_UP - .byte EFFECT_SPECIAL_ATTACK_UP - .byte EFFECT_SPECIAL_DEFENSE_UP - .byte EFFECT_ACCURACY_UP - .byte EFFECT_EVASION_UP - .byte EFFECT_ATTACK_DOWN - .byte EFFECT_DEFENSE_DOWN - .byte EFFECT_SPEED_DOWN - .byte EFFECT_SPECIAL_ATTACK_DOWN - .byte EFFECT_SPECIAL_DEFENSE_DOWN - .byte EFFECT_ACCURACY_DOWN - .byte EFFECT_EVASION_DOWN - .byte EFFECT_BIDE - .byte EFFECT_CONVERSION - .byte EFFECT_LIGHT_SCREEN - .byte EFFECT_MIST - .byte EFFECT_FOCUS_ENERGY - .byte EFFECT_ATTACK_UP_2 - .byte EFFECT_DEFENSE_UP_2 - .byte EFFECT_SPEED_UP_2 - .byte EFFECT_SPECIAL_ATTACK_UP_2 - .byte EFFECT_SPECIAL_DEFENSE_UP_2 - .byte EFFECT_ACCURACY_UP_2 - .byte EFFECT_EVASION_UP_2 - .byte EFFECT_ATTACK_DOWN_2 - .byte EFFECT_DEFENSE_DOWN_2 - .byte EFFECT_SPEED_DOWN_2 - .byte EFFECT_SPECIAL_ATTACK_DOWN_2 - .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 - .byte EFFECT_ACCURACY_DOWN_2 - .byte EFFECT_EVASION_DOWN_2 - .byte EFFECT_RAGE - .byte EFFECT_CONVERSION_2 - .byte EFFECT_LOCK_ON - .byte EFFECT_SAFEGUARD - .byte EFFECT_BELLY_DRUM - .byte EFFECT_PSYCH_UP - .byte EFFECT_MIRROR_COAT - .byte EFFECT_SOLAR_BEAM - .byte EFFECT_ERUPTION - .byte EFFECT_TICKLE - .byte EFFECT_COSMIC_POWER - .byte EFFECT_BULK_UP - .byte EFFECT_CALM_MIND - .byte EFFECT_DRAGON_DANCE - .byte -1 + .byte EFFECT_ATTACK_UP + .byte EFFECT_DEFENSE_UP + .byte EFFECT_SPEED_UP + .byte EFFECT_SPECIAL_ATTACK_UP + .byte EFFECT_SPECIAL_DEFENSE_UP + .byte EFFECT_ACCURACY_UP + .byte EFFECT_EVASION_UP + .byte EFFECT_ATTACK_DOWN + .byte EFFECT_DEFENSE_DOWN + .byte EFFECT_SPEED_DOWN + .byte EFFECT_SPECIAL_ATTACK_DOWN + .byte EFFECT_SPECIAL_DEFENSE_DOWN + .byte EFFECT_ACCURACY_DOWN + .byte EFFECT_EVASION_DOWN + .byte EFFECT_BIDE + .byte EFFECT_CONVERSION + .byte EFFECT_LIGHT_SCREEN + .byte EFFECT_MIST + .byte EFFECT_FOCUS_ENERGY + .byte EFFECT_ATTACK_UP_2 + .byte EFFECT_DEFENSE_UP_2 + .byte EFFECT_SPEED_UP_2 + .byte EFFECT_SPECIAL_ATTACK_UP_2 + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_ACCURACY_UP_2 + .byte EFFECT_EVASION_UP_2 + .byte EFFECT_ATTACK_DOWN_2 + .byte EFFECT_DEFENSE_DOWN_2 + .byte EFFECT_SPEED_DOWN_2 + .byte EFFECT_SPECIAL_ATTACK_DOWN_2 + .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 + .byte EFFECT_ACCURACY_DOWN_2 + .byte EFFECT_EVASION_DOWN_2 + .byte EFFECT_RAGE + .byte EFFECT_CONVERSION_2 + .byte EFFECT_LOCK_ON + .byte EFFECT_SAFEGUARD + .byte EFFECT_BELLY_DRUM + .byte EFFECT_PSYCH_UP + .byte EFFECT_MIRROR_COAT + .byte EFFECT_SOLAR_BEAM + .byte EFFECT_ERUPTION + .byte EFFECT_TICKLE + .byte EFFECT_COSMIC_POWER + .byte EFFECT_BULK_UP + .byte EFFECT_CALM_MIND + .byte EFFECT_DRAGON_DANCE + .byte -1 AI_HPAware_DiscouragedEffectsWhenTargetHighHP: - .byte -1 + .byte -1 AI_HPAware_DiscouragedEffectsWhenTargetMediumHP: - .byte EFFECT_ATTACK_UP - .byte EFFECT_DEFENSE_UP - .byte EFFECT_SPEED_UP - .byte EFFECT_SPECIAL_ATTACK_UP - .byte EFFECT_SPECIAL_DEFENSE_UP - .byte EFFECT_ACCURACY_UP - .byte EFFECT_EVASION_UP - .byte EFFECT_ATTACK_DOWN - .byte EFFECT_DEFENSE_DOWN - .byte EFFECT_SPEED_DOWN - .byte EFFECT_SPECIAL_ATTACK_DOWN - .byte EFFECT_SPECIAL_DEFENSE_DOWN - .byte EFFECT_ACCURACY_DOWN - .byte EFFECT_EVASION_DOWN - .byte EFFECT_MIST - .byte EFFECT_FOCUS_ENERGY - .byte EFFECT_ATTACK_UP_2 - .byte EFFECT_DEFENSE_UP_2 - .byte EFFECT_SPEED_UP_2 - .byte EFFECT_SPECIAL_ATTACK_UP_2 - .byte EFFECT_SPECIAL_DEFENSE_UP_2 - .byte EFFECT_ACCURACY_UP_2 - .byte EFFECT_EVASION_UP_2 - .byte EFFECT_ATTACK_DOWN_2 - .byte EFFECT_DEFENSE_DOWN_2 - .byte EFFECT_SPEED_DOWN_2 - .byte EFFECT_SPECIAL_ATTACK_DOWN_2 - .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 - .byte EFFECT_ACCURACY_DOWN_2 - .byte EFFECT_EVASION_DOWN_2 - .byte EFFECT_POISON - .byte EFFECT_PAIN_SPLIT - .byte EFFECT_PERISH_SONG - .byte EFFECT_SAFEGUARD - .byte EFFECT_TICKLE - .byte EFFECT_COSMIC_POWER - .byte EFFECT_BULK_UP - .byte EFFECT_CALM_MIND - .byte EFFECT_DRAGON_DANCE - .byte -1 + .byte EFFECT_ATTACK_UP + .byte EFFECT_DEFENSE_UP + .byte EFFECT_SPEED_UP + .byte EFFECT_SPECIAL_ATTACK_UP + .byte EFFECT_SPECIAL_DEFENSE_UP + .byte EFFECT_ACCURACY_UP + .byte EFFECT_EVASION_UP + .byte EFFECT_ATTACK_DOWN + .byte EFFECT_DEFENSE_DOWN + .byte EFFECT_SPEED_DOWN + .byte EFFECT_SPECIAL_ATTACK_DOWN + .byte EFFECT_SPECIAL_DEFENSE_DOWN + .byte EFFECT_ACCURACY_DOWN + .byte EFFECT_EVASION_DOWN + .byte EFFECT_MIST + .byte EFFECT_FOCUS_ENERGY + .byte EFFECT_ATTACK_UP_2 + .byte EFFECT_DEFENSE_UP_2 + .byte EFFECT_SPEED_UP_2 + .byte EFFECT_SPECIAL_ATTACK_UP_2 + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_ACCURACY_UP_2 + .byte EFFECT_EVASION_UP_2 + .byte EFFECT_ATTACK_DOWN_2 + .byte EFFECT_DEFENSE_DOWN_2 + .byte EFFECT_SPEED_DOWN_2 + .byte EFFECT_SPECIAL_ATTACK_DOWN_2 + .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 + .byte EFFECT_ACCURACY_DOWN_2 + .byte EFFECT_EVASION_DOWN_2 + .byte EFFECT_POISON + .byte EFFECT_PAIN_SPLIT + .byte EFFECT_PERISH_SONG + .byte EFFECT_SAFEGUARD + .byte EFFECT_TICKLE + .byte EFFECT_COSMIC_POWER + .byte EFFECT_BULK_UP + .byte EFFECT_CALM_MIND + .byte EFFECT_DRAGON_DANCE + .byte -1 AI_HPAware_DiscouragedEffectsWhenTargetLowHP: - .byte EFFECT_SLEEP - .byte EFFECT_EXPLOSION - .byte EFFECT_ATTACK_UP - .byte EFFECT_DEFENSE_UP - .byte EFFECT_SPEED_UP - .byte EFFECT_SPECIAL_ATTACK_UP - .byte EFFECT_SPECIAL_DEFENSE_UP - .byte EFFECT_ACCURACY_UP - .byte EFFECT_EVASION_UP - .byte EFFECT_ATTACK_DOWN - .byte EFFECT_DEFENSE_DOWN - .byte EFFECT_SPEED_DOWN - .byte EFFECT_SPECIAL_ATTACK_DOWN - .byte EFFECT_SPECIAL_DEFENSE_DOWN - .byte EFFECT_ACCURACY_DOWN - .byte EFFECT_EVASION_DOWN - .byte EFFECT_BIDE - .byte EFFECT_CONVERSION - .byte EFFECT_TOXIC - .byte EFFECT_LIGHT_SCREEN - .byte EFFECT_OHKO - .byte EFFECT_SUPER_FANG //Maybe supposed to be EFFECT_RAZOR_WIND - .byte EFFECT_SUPER_FANG - .byte EFFECT_MIST - .byte EFFECT_FOCUS_ENERGY - .byte EFFECT_CONFUSE - .byte EFFECT_ATTACK_UP_2 - .byte EFFECT_DEFENSE_UP_2 - .byte EFFECT_SPEED_UP_2 - .byte EFFECT_SPECIAL_ATTACK_UP_2 - .byte EFFECT_SPECIAL_DEFENSE_UP_2 - .byte EFFECT_ACCURACY_UP_2 - .byte EFFECT_EVASION_UP_2 - .byte EFFECT_ATTACK_DOWN_2 - .byte EFFECT_DEFENSE_DOWN_2 - .byte EFFECT_SPEED_DOWN_2 - .byte EFFECT_SPECIAL_ATTACK_DOWN_2 - .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 - .byte EFFECT_ACCURACY_DOWN_2 - .byte EFFECT_EVASION_DOWN_2 - .byte EFFECT_POISON - .byte EFFECT_PARALYZE - .byte EFFECT_PAIN_SPLIT - .byte EFFECT_CONVERSION_2 - .byte EFFECT_LOCK_ON - .byte EFFECT_SPITE - .byte EFFECT_PERISH_SONG - .byte EFFECT_SWAGGER - .byte EFFECT_FURY_CUTTER - .byte EFFECT_ATTRACT - .byte EFFECT_SAFEGUARD - .byte EFFECT_PSYCH_UP - .byte EFFECT_MIRROR_COAT - .byte EFFECT_WILL_O_WISP - .byte EFFECT_TICKLE - .byte EFFECT_COSMIC_POWER - .byte EFFECT_BULK_UP - .byte EFFECT_CALM_MIND - .byte EFFECT_DRAGON_DANCE - .byte -1 + .byte EFFECT_SLEEP + .byte EFFECT_EXPLOSION + .byte EFFECT_ATTACK_UP + .byte EFFECT_DEFENSE_UP + .byte EFFECT_SPEED_UP + .byte EFFECT_SPECIAL_ATTACK_UP + .byte EFFECT_SPECIAL_DEFENSE_UP + .byte EFFECT_ACCURACY_UP + .byte EFFECT_EVASION_UP + .byte EFFECT_ATTACK_DOWN + .byte EFFECT_DEFENSE_DOWN + .byte EFFECT_SPEED_DOWN + .byte EFFECT_SPECIAL_ATTACK_DOWN + .byte EFFECT_SPECIAL_DEFENSE_DOWN + .byte EFFECT_ACCURACY_DOWN + .byte EFFECT_EVASION_DOWN + .byte EFFECT_BIDE + .byte EFFECT_CONVERSION + .byte EFFECT_TOXIC + .byte EFFECT_LIGHT_SCREEN + .byte EFFECT_OHKO + .byte EFFECT_SUPER_FANG //Maybe supposed to be EFFECT_RAZOR_WIND + .byte EFFECT_SUPER_FANG + .byte EFFECT_MIST + .byte EFFECT_FOCUS_ENERGY + .byte EFFECT_CONFUSE + .byte EFFECT_ATTACK_UP_2 + .byte EFFECT_DEFENSE_UP_2 + .byte EFFECT_SPEED_UP_2 + .byte EFFECT_SPECIAL_ATTACK_UP_2 + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_ACCURACY_UP_2 + .byte EFFECT_EVASION_UP_2 + .byte EFFECT_ATTACK_DOWN_2 + .byte EFFECT_DEFENSE_DOWN_2 + .byte EFFECT_SPEED_DOWN_2 + .byte EFFECT_SPECIAL_ATTACK_DOWN_2 + .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 + .byte EFFECT_ACCURACY_DOWN_2 + .byte EFFECT_EVASION_DOWN_2 + .byte EFFECT_POISON + .byte EFFECT_PARALYZE + .byte EFFECT_PAIN_SPLIT + .byte EFFECT_CONVERSION_2 + .byte EFFECT_LOCK_ON + .byte EFFECT_SPITE + .byte EFFECT_PERISH_SONG + .byte EFFECT_SWAGGER + .byte EFFECT_FURY_CUTTER + .byte EFFECT_ATTRACT + .byte EFFECT_SAFEGUARD + .byte EFFECT_PSYCH_UP + .byte EFFECT_MIRROR_COAT + .byte EFFECT_WILL_O_WISP + .byte EFFECT_TICKLE + .byte EFFECT_COSMIC_POWER + .byte EFFECT_BULK_UP + .byte EFFECT_CALM_MIND + .byte EFFECT_DRAGON_DANCE + .byte -1 @ Given the AI_TryOnAlly at the beginning it's possible that this was the start of a more @ comprehensive double battle AI script diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index eff53de845..8eaff7c07f 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -798,14 +798,14 @@ Move_DOUBLE_EDGE: createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, 0, ANIM_TARGET, 0 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -32, 0, 0, 3 waitforvisualfinish - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, 0, 0 - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, 1, 0 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_ATTACKER, 0 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 4, 0, 12, 1 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 2, 16, 0, RGB_WHITE waitforvisualfinish - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, 0, 1 - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, 1, 1 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_ATTACKER, 1 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_TARGET, 1 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5 delay 3 @@ -2441,7 +2441,7 @@ Move_HORN_ATTACK: Move_FURY_ATTACK: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 256, 0, 2 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 256, ANIM_ATTACKER, 2 choosetwoturnanim FuryAttackRight, FuryAttackLeft FuryAttackContinue: createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 @@ -2590,7 +2590,7 @@ Move_LOW_KICK: createsprite gSlidingKickSpriteTemplate, ANIM_TARGET, 2, -24, 28, 40, 8, 160, 0 delay 4 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -8, 8, ANIM_TARGET, 2 - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 6, 384, 1, 2 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 6, 384, ANIM_TARGET, 2 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 @@ -2835,7 +2835,7 @@ SkullBashSetUpHeadDown: createsprite gSlideMonToOffsetAndBackSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, -24, 0, 0, 10, 0 playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER waitforvisualfinish - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 16, 96, 0, 2 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 16, 96, ANIM_ATTACKER, 2 waitforvisualfinish createsprite gSlideMonToOffsetAndBackSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 24, 0, 0, 10, 1 waitforvisualfinish @@ -3958,7 +3958,7 @@ Move_MIST_BALL: createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, F_PAL_BG, 1, 1, RGB(23, 16, 31), 16, RGB_WHITE, 16 delay 0 playsewithpan SE_M_HAZE, 0 - createvisualtask AnimTask_LoadMistTiles, 5 + createvisualtask AnimTask_MistBallFog, 5 createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 3, 0, 16, RGB_WHITE delay 8 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 70, 0 @@ -8570,14 +8570,14 @@ Move_ARM_THRUST: loadspritegfx ANIM_TAG_IMPACT splitbgprio ANIM_TARGET setalpha 12, 8 - createvisualtask AnimTask_RotateMonSpriteToSide, 5, 8, 5, 0, 0 + createvisualtask AnimTask_RotateMonSpriteToSide, 5, 8, 5, ANIM_ATTACKER, 0 delay 6 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 3 delay 4 playsewithpan SE_M_SWAGGER, SOUND_PAN_TARGET createsprite gArmThrustHandSpriteTemplate, ANIM_TARGET, 2, 10, -8, 14, 3 waitforvisualfinish - createvisualtask AnimTask_RotateMonSpriteToSide, 5, 8, 5, 0, 1 + createvisualtask AnimTask_RotateMonSpriteToSide, 5, 8, 5, ANIM_ATTACKER, 1 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET choosetwoturnanim ArmThrustRight, ArmThrustLeft ArmThrustContinue: diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index e3408a3a78..7e99911b19 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1,6 +1,7 @@ #include "constants/global.h" #include "constants/battle.h" #include "constants/pokemon.h" +#include "constants/battle_arena.h" #include "constants/battle_script_commands.h" #include "constants/battle_anim.h" #include "constants/battle_string_ids.h" @@ -14,7 +15,7 @@ .include "constants/constants.inc" .section script_data, "aw", %progbits - + .align 2 gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHit @ EFFECT_HIT @@ -374,7 +375,8 @@ BattleScript_EffectExplosion:: attackcanceler attackstring ppreduce - faintifabilitynotdamp +@ Below jumps to BattleScript_DampStopsExplosion if it fails (only way it can) + tryexplosion setatkhptozero waitstate jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_ExplosionDoAnimStartLoop @@ -489,7 +491,7 @@ BattleScript_EffectStatUp:: BattleScript_EffectStatUpAfterAtkCanceler:: attackstring ppreduce - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_StatUpEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_StatUpEnd jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_StatUpAttackAnim pause B_WAIT_TIME_SHORT goto BattleScript_StatUpPrintString @@ -535,7 +537,7 @@ BattleScript_EffectStatDown:: accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce - statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_StatDownEnd + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_StatDownEnd jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_StatDownDoAnim jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_FELL_EMPTY, BattleScript_StatDownEnd pause B_WAIT_TIME_SHORT @@ -1491,17 +1493,17 @@ BattleScript_CurseTrySpeed:: attackanimation waitanimation setstatchanger STAT_SPEED, 1, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CurseTryAttack + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CurseTryAttack printfromtable gStatDownStringIds waitmessage B_WAIT_TIME_LONG BattleScript_CurseTryAttack:: setstatchanger STAT_ATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CurseTryDefense + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CurseTryDefense printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG BattleScript_CurseTryDefense:: setstatchanger STAT_DEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CurseEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CurseEnd printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG BattleScript_CurseEnd:: @@ -1613,7 +1615,7 @@ BattleScript_EffectSwagger:: attackanimation waitanimation setstatchanger STAT_ATK, 2, FALSE - statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_SwaggerTryConfuse + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_SwaggerTryConfuse jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_SwaggerTryConfuse setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 @@ -1812,7 +1814,7 @@ BattleScript_EffectSkullBash:: setbyte sTWOTURN_STRINGID, B_MSG_TURN1_SKULL_BASH call BattleScriptFirstChargingTurn setstatchanger STAT_DEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_SkullBashEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_SkullBashEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_SkullBashEnd setgraphicalstatchangevalues playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 @@ -1926,8 +1928,8 @@ BattleScript_EffectTeleport:: ppreduce jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed getifcantrunfrombattle BS_ATTACKER - jumpifbyte CMP_EQUAL, gBattleCommunication, 1, BattleScript_ButItFailed - jumpifbyte CMP_EQUAL, gBattleCommunication, 2, BattleScript_PrintAbilityMadeIneffective + jumpifbyte CMP_EQUAL, gBattleCommunication, BATTLE_RUN_FORBIDDEN, BattleScript_ButItFailed + jumpifbyte CMP_EQUAL, gBattleCommunication, BATTLE_RUN_FAILURE, BattleScript_PrintAbilityMadeIneffective attackanimation waitanimation printstring STRINGID_PKMNFLEDFROMBATTLE @@ -2015,7 +2017,7 @@ BattleScript_EffectDefenseCurl:: ppreduce setdefensecurlbit setstatchanger STAT_DEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_DefenseCurlDoStatUpAnim + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_DefenseCurlDoStatUpAnim jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_StatUpPrintString attackanimation waitanimation @@ -2156,7 +2158,7 @@ BattleScript_EffectFlatter:: attackanimation waitanimation setstatchanger STAT_SPATK, 1, FALSE - statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_FlatterTryConfuse + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_FlatterTryConfuse jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_FlatterTryConfuse setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 @@ -2201,10 +2203,10 @@ BattleScript_AlreadyBurned:: BattleScript_EffectMemento:: attackcanceler - jumpifbyte CMP_EQUAL, cMISS_TYPE, B_MSG_PROTECTED, BattleScript_MementoFailProtect + jumpifbyte CMP_EQUAL, cMISS_TYPE, B_MSG_PROTECTED, BattleScript_MementoTargetProtect attackstring ppreduce - jumpifattackandspecialattackcannotfall BattleScript_ButItFailed + trymemento BattleScript_ButItFailed setatkhptozero attackanimation waitanimation @@ -2213,16 +2215,16 @@ BattleScript_EffectMemento:: playstatchangeanimation BS_TARGET, BIT_ATK | BIT_SPATK, STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO | STAT_CHANGE_MULTIPLE_STATS playstatchangeanimation BS_TARGET, BIT_ATK, STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO setstatchanger STAT_ATK, 2, TRUE - statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_EffectMementoTrySpAtk - @ Greater than STAT_FELL is checking if the stat cannot decrease + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_EffectMementoTrySpAtk +@ Greater than B_MSG_DEFENDER_STAT_FELL is checking if the stat cannot decrease jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_FELL, BattleScript_EffectMementoTrySpAtk printfromtable gStatDownStringIds waitmessage B_WAIT_TIME_LONG BattleScript_EffectMementoTrySpAtk: playstatchangeanimation BS_TARGET, BIT_SPATK, STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO setstatchanger STAT_SPATK, 2, TRUE - statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_EffectMementoTryFaint - @ Greater than STAT_FELL is checking if the stat cannot decrease + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_EffectMementoTryFaint +@ Greater than B_MSG_DEFENDER_STAT_FELL is checking if the stat cannot decrease jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_FELL, BattleScript_EffectMementoTryFaint printfromtable gStatDownStringIds waitmessage B_WAIT_TIME_LONG @@ -2233,11 +2235,12 @@ BattleScript_EffectMementoPrintNoEffect: printstring STRINGID_BUTNOEFFECT waitmessage B_WAIT_TIME_LONG goto BattleScript_EffectMementoTryFaint -BattleScript_MementoFailProtect: +@ If the target is protected there's no need to check the target's stats or animate, the user will just faint +BattleScript_MementoTargetProtect: attackstring ppreduce - jumpifattackandspecialattackcannotfall BattleScript_MementoFailEnd -BattleScript_MementoFailEnd: + trymemento BattleScript_MementoTargetProtectEnd +BattleScript_MementoTargetProtectEnd: setatkhptozero pause B_WAIT_TIME_LONG effectivenesssound @@ -2660,14 +2663,14 @@ BattleScript_TickleDoMoveAnim:: playstatchangeanimation BS_TARGET, BIT_ATK | BIT_DEF, STAT_CHANGE_NEGATIVE | STAT_CHANGE_MULTIPLE_STATS playstatchangeanimation BS_TARGET, BIT_ATK, STAT_CHANGE_NEGATIVE setstatchanger STAT_ATK, 1, TRUE - statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TickleTryLowerDef + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_TickleTryLowerDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_TickleTryLowerDef printfromtable gStatDownStringIds waitmessage B_WAIT_TIME_LONG BattleScript_TickleTryLowerDef:: playstatchangeanimation BS_TARGET, BIT_DEF, STAT_CHANGE_NEGATIVE setstatchanger STAT_DEF, 1, TRUE - statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TickleEnd + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_TickleEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_TickleEnd printfromtable gStatDownStringIds waitmessage B_WAIT_TIME_LONG @@ -2693,13 +2696,13 @@ BattleScript_CosmicPowerDoMoveAnim:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_SPDEF, 0 setstatchanger STAT_DEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CosmicPowerTrySpDef + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CosmicPowerTrySpDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CosmicPowerTrySpDef printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG BattleScript_CosmicPowerTrySpDef:: setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CosmicPowerEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CosmicPowerEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CosmicPowerEnd printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG @@ -2722,13 +2725,13 @@ BattleScript_BulkUpDoMoveAnim:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, 0 setstatchanger STAT_ATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_BulkUpTryDef + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_BulkUpTryDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_BulkUpTryDef printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG BattleScript_BulkUpTryDef:: setstatchanger STAT_DEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_BulkUpEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_BulkUpEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_BulkUpEnd printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG @@ -2747,13 +2750,13 @@ BattleScript_CalmMindDoMoveAnim:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_SPATK | BIT_SPDEF, 0 setstatchanger STAT_SPATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CalmMindTrySpDef + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CalmMindTrySpDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CalmMindTrySpDef printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG BattleScript_CalmMindTrySpDef:: setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CalmMindEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CalmMindEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CalmMindEnd printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG @@ -2779,13 +2782,13 @@ BattleScript_DragonDanceDoMoveAnim:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_SPEED, 0 setstatchanger STAT_ATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_DragonDanceTrySpeed + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_DragonDanceTrySpeed jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_DragonDanceTrySpeed printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG BattleScript_DragonDanceTrySpeed:: setstatchanger STAT_SPEED, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_DragonDanceEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_DragonDanceEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_DragonDanceEnd printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG @@ -2823,7 +2826,7 @@ BattleScript_GiveExp:: setbyte sGIVEEXP_STATE, 0 getexp BS_TARGET end2 - + BattleScript_HandleFaintedMon:: checkteamslost BattleScript_LinkHandleFaintedMonMultiple jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_FaintedMonEnd @@ -3456,27 +3459,27 @@ BattleScript_AllStatsUpAtk:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED | BIT_SPATK | BIT_SPDEF, 0 setstatchanger STAT_ATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpDef + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AllStatsUpDef printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG BattleScript_AllStatsUpDef:: setstatchanger STAT_DEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpSpeed + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AllStatsUpSpeed printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG BattleScript_AllStatsUpSpeed:: setstatchanger STAT_SPEED, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpSpAtk + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AllStatsUpSpAtk printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG BattleScript_AllStatsUpSpAtk:: setstatchanger STAT_SPATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpSpDef + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AllStatsUpSpDef printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG BattleScript_AllStatsUpSpDef:: setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpRet + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AllStatsUpRet printfromtable gStatUpStringIds waitmessage B_WAIT_TIME_LONG BattleScript_AllStatsUpRet:: @@ -3623,14 +3626,14 @@ BattleScript_AtkDefDown:: playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_ATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE | STAT_CHANGE_MULTIPLE_STATS playstatchangeanimation BS_ATTACKER, BIT_ATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE setstatchanger STAT_ATK, 1, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_AtkDefDown_TryDef + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_ALLOW_PTR, BattleScript_AtkDefDown_TryDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_AtkDefDown_TryDef printfromtable gStatDownStringIds waitmessage B_WAIT_TIME_LONG BattleScript_AtkDefDown_TryDef:: playstatchangeanimation BS_ATTACKER, BIT_DEF, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE setstatchanger STAT_DEF, 1, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_AtkDefDown_End + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_ALLOW_PTR, BattleScript_AtkDefDown_End jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_AtkDefDown_End printfromtable gStatDownStringIds waitmessage B_WAIT_TIME_LONG @@ -3696,7 +3699,7 @@ BattleScript_SAtkDown2:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_SPATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO setstatchanger STAT_SPATK, 2, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_SAtkDown2End + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_ALLOW_PTR, BattleScript_SAtkDown2End jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_SAtkDown2End printfromtable gStatDownStringIds waitmessage B_WAIT_TIME_LONG @@ -4027,7 +4030,7 @@ BattleScript_IntimidateActivatesLoop: jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_IntimidatePrevented jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_IntimidatePrevented jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_IntimidatePrevented - statbuffchange STAT_BUFF_NOT_PROTECT_AFFECTED | STAT_BUFF_ALLOW_PTR, BattleScript_IntimidateActivatesLoopIncrement + statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_IntimidateActivatesLoopIncrement jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_IntimidateActivatesLoopIncrement setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 @@ -4043,7 +4046,7 @@ BattleScript_IntimidatePrevented: printstring STRINGID_PREVENTEDFROMWORKING waitmessage B_WAIT_TIME_LONG goto BattleScript_IntimidateActivatesLoopIncrement - + BattleScript_DroughtActivates:: pause B_WAIT_TIME_SHORT printstring STRINGID_PKMNSXINTENSIFIEDSUN @@ -4406,7 +4409,7 @@ BattleScript_BerryConfuseHealEnd2:: BattleScript_BerryStatRaiseEnd2:: playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_BerryStatRaiseDoStatUp + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_BerryStatRaiseDoStatUp BattleScript_BerryStatRaiseDoStatUp:: setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_ITEM call BattleScript_StatUp @@ -4480,7 +4483,7 @@ BattleScript_ArenaDoJudgment:: arenajudgmentstring B_MSG_REF_THATS_IT arenawaitmessage B_MSG_REF_THATS_IT pause B_WAIT_TIME_LONG - setbyte gBattleCommunication, 0 + setbyte gBattleCommunication, 0 @ Reset state for arenajudgmentwindow arenajudgmentwindow pause B_WAIT_TIME_LONG arenajudgmentwindow @@ -4493,8 +4496,9 @@ BattleScript_ArenaDoJudgment:: arenajudgmentstring B_MSG_REF_JUDGE_BODY arenawaitmessage B_MSG_REF_JUDGE_BODY arenajudgmentwindow - jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 3, BattleScript_ArenaJudgmentPlayerLoses - jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 4, BattleScript_ArenaJudgmentDraw + jumpifbyte CMP_EQUAL, gBattleCommunication + 1, ARENA_RESULT_PLAYER_LOST, BattleScript_ArenaJudgmentPlayerLoses + jumpifbyte CMP_EQUAL, gBattleCommunication + 1, ARENA_RESULT_TIE, BattleScript_ArenaJudgmentDraw +@ ARENA_RESULT_PLAYER_WON arenajudgmentstring B_MSG_REF_PLAYER_WON arenawaitmessage B_MSG_REF_PLAYER_WON arenajudgmentwindow diff --git a/data/contest_ai_scripts.s b/data/contest_ai_scripts.s index ef4feb25ff..ecd3103ae2 100644 --- a/data/contest_ai_scripts.s +++ b/data/contest_ai_scripts.s @@ -435,11 +435,15 @@ AI_CGM_BetterWhenAudienceExcited: AI_CGM_BetterWhenAudienceExcited_1stUp: @ BUG: Should be if_appeal_num_eq 0 @ 1st up on 1st appeal excitement will always be 0 - if_appeal_num_not_eq 0, AI_CGM_BetterWhenAudienceExcited_Not1stAppeal +.ifdef BUGFIX + if_appeal_num_eq 0, AI_CGM_BetterWhenAudienceExcited_1stAppeal +.else + if_appeal_num_not_eq 0, AI_CGM_BetterWhenAudienceExcited_1stAppeal +.endif if_excitement_eq 4, AI_CGM_BetterWhenAudienceExcited_1AwayFromMax if_excitement_eq 3, AI_CGM_BetterWhenAudienceExcited_2AwayFromMax end -AI_CGM_BetterWhenAudienceExcited_Not1stAppeal: +AI_CGM_BetterWhenAudienceExcited_1stAppeal: if_random_less_than 125, AI_CGM_End score -15 end @@ -542,7 +546,11 @@ AI_CGM_TargetMonWithJudgesAttention: end AI_CGM_TargetMonWithJudgesAttention_CheckMon1: if_cannot_participate MON_1, AI_CGM_TargetMonWithJudgesAttention_CheckMon2 +.ifdef BUGFIX + if_not_used_combo_starter MON_1, AI_CGM_TargetMonWithJudgesAttention_CheckMon2 +.else if_used_combo_starter MON_1, AI_CGM_TargetMonWithJudgesAttention_CheckMon2 +.endif if_random_less_than 125, AI_CGM_TargetMonWithJudgesAttention_CheckMon2 score +2 if_not_completed_combo MON_1, AI_CGM_TargetMonWithJudgesAttention_CheckMon2 @@ -551,7 +559,11 @@ AI_CGM_TargetMonWithJudgesAttention_CheckMon1: AI_CGM_TargetMonWithJudgesAttention_CheckMon2: if_user_order_eq MON_2, AI_CGM_End if_cannot_participate MON_2, AI_CGM_TargetMonWithJudgesAttention_CheckMon3 +.ifdef BUGFIX + if_not_used_combo_starter MON_2, AI_CGM_TargetMonWithJudgesAttention_CheckMon3 +.else if_used_combo_starter MON_2, AI_CGM_TargetMonWithJudgesAttention_CheckMon3 +.endif if_random_less_than 125, AI_CGM_TargetMonWithJudgesAttention_CheckMon3 score +2 if_not_completed_combo MON_2, AI_CGM_TargetMonWithJudgesAttention_CheckMon3 @@ -560,7 +572,11 @@ AI_CGM_TargetMonWithJudgesAttention_CheckMon2: AI_CGM_TargetMonWithJudgesAttention_CheckMon3: if_user_order_eq MON_3, AI_CGM_End if_cannot_participate MON_3, AI_CGM_End +.ifdef BUGFIX + if_not_used_combo_starter MON_3, AI_CGM_End +.else if_used_combo_starter MON_3, AI_CGM_End +.endif if_random_less_than 125, AI_CGM_End score +2 if_not_completed_combo MON_3, AI_CGM_End diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/map.json b/data/maps/AbandonedShip_HiddenFloorRooms/map.json index b81c33c843..e9442f22e2 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/map.json +++ b/data/maps/AbandonedShip_HiddenFloorRooms/map.json @@ -51,7 +51,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemTM18", - "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_18" + "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM18" }, { "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", diff --git a/data/maps/AbandonedShip_Room_B1F/map.json b/data/maps/AbandonedShip_Room_B1F/map.json index f5d14ac595..537f0ec645 100644 --- a/data/maps/AbandonedShip_Room_B1F/map.json +++ b/data/maps/AbandonedShip_Room_B1F/map.json @@ -25,7 +25,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "AbandonedShip_Room_B1F_EventScript_ItemTM13", - "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_13" + "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM13" } ], "warp_events": [ diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc index 481f7000db..2a8903fe6f 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc @@ -472,8 +472,8 @@ BattleFrontier_BattlePalaceLobby_Text_FeatWillBeRecorded: @ Unused BattleFrontier_BattlePalaceLobby_Text_BattlePointsFor7WinStreak: - .string "For the feat of your 7-win streak,\n" - .string "we present you with Battle Point(s).$" + .string "For the feat of your 7-win streak,\n" + .string "we present you with Battle Point(s).$" BattleFrontier_BattlePalaceLobby_Text_NoSpaceForPrize: .string "You seem to have no space for\n" diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc index 1039422808..f9723ffa0f 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc +++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc @@ -33,8 +33,8 @@ EverGrandeCity_ChampionsRoom_EventScript_EnterRoom:: waitmovement 0 setvar VAR_TEMP_1, 1 goto EverGrandeCity_ChampionsRoom_EventScript_Wallace - releaseall - end + releaseall + end EverGrandeCity_ChampionsRoom_Movement_PlayerApproachWallace: walk_up diff --git a/data/maps/FortreeCity_DecorationShop/scripts.inc b/data/maps/FortreeCity_DecorationShop/scripts.inc index a42f47af73..4394312876 100644 --- a/data/maps/FortreeCity_DecorationShop/scripts.inc +++ b/data/maps/FortreeCity_DecorationShop/scripts.inc @@ -19,7 +19,7 @@ FortreeCity_DecorationShop_EventScript_ClerkDesks:: release end - .align 2 + .align 2 FortreeCity_DecorationShop_PokemartDecor_Desks: .2byte DECOR_SMALL_DESK .2byte DECOR_POKEMON_DESK diff --git a/data/maps/MeteorFalls_1F_1R/map.json b/data/maps/MeteorFalls_1F_1R/map.json index f177410e27..145289ce79 100644 --- a/data/maps/MeteorFalls_1F_1R/map.json +++ b/data/maps/MeteorFalls_1F_1R/map.json @@ -25,7 +25,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "MeteorFalls_1F_1R_EventScript_ItemTM23", - "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_TM_23" + "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_TM23" }, { "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", diff --git a/data/maps/MeteorFalls_B1F_2R/map.json b/data/maps/MeteorFalls_B1F_2R/map.json index 57276d86db..7fc43762f5 100644 --- a/data/maps/MeteorFalls_B1F_2R/map.json +++ b/data/maps/MeteorFalls_B1F_2R/map.json @@ -25,7 +25,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "MeteorFalls_B1F_2R_EventScript_ItemTM02", - "flag": "FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_02" + "flag": "FLAG_ITEM_METEOR_FALLS_B1F_2R_TM02" } ], "warp_events": [ diff --git a/data/maps/MtPyre_6F/map.json b/data/maps/MtPyre_6F/map.json index dc2e7f9b00..88c091f3e3 100644 --- a/data/maps/MtPyre_6F/map.json +++ b/data/maps/MtPyre_6F/map.json @@ -38,7 +38,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "MtPyre_6F_EventScript_ItemTM30", - "flag": "FLAG_ITEM_MT_PYRE_6F_TM_30" + "flag": "FLAG_ITEM_MT_PYRE_6F_TM30" }, { "graphics_id": "OBJ_EVENT_GFX_PSYCHIC_M", diff --git a/data/maps/MtPyre_Exterior/map.json b/data/maps/MtPyre_Exterior/map.json index 58c865305f..2df79262c2 100644 --- a/data/maps/MtPyre_Exterior/map.json +++ b/data/maps/MtPyre_Exterior/map.json @@ -38,7 +38,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "MtPyre_Exterior_EventScript_ItemTM48", - "flag": "FLAG_ITEM_MT_PYRE_EXTERIOR_TM_48" + "flag": "FLAG_ITEM_MT_PYRE_EXTERIOR_TM48" } ], "warp_events": [ diff --git a/data/maps/OldaleTown/map.json b/data/maps/OldaleTown/map.json index ee6101ff6c..cc4bd008c3 100644 --- a/data/maps/OldaleTown/map.json +++ b/data/maps/OldaleTown/map.json @@ -158,7 +158,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "OldaleTown_EventScript_CitySign" + "script": "OldaleTown_EventScript_TownSign" }, { "type": "sign", diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc index 3f43386cb3..b2c25a6dfb 100644 --- a/data/maps/OldaleTown/scripts.inc +++ b/data/maps/OldaleTown/scripts.inc @@ -29,8 +29,8 @@ OldaleTown_EventScript_MoveMartEmployee:: setobjectmovementtype LOCALID_MART_EMPLOYEE, MOVEMENT_TYPE_FACE_DOWN return -OldaleTown_EventScript_CitySign:: - msgbox OldaleTown_Text_CitySign, MSGBOX_SIGN +OldaleTown_EventScript_TownSign:: + msgbox OldaleTown_Text_TownSign, MSGBOX_SIGN end OldaleTown_EventScript_Girl:: @@ -395,7 +395,7 @@ OldaleTown_Text_BrendanLetsGoBack: .string "LAB now.\l" .string "{PLAYER}, you should hustle back, too.$" -OldaleTown_Text_CitySign: +OldaleTown_Text_TownSign: .string "OLDALE TOWN\n" .string "“Where things start off scarce.”$" diff --git a/data/maps/PacifidlogTown_House2/scripts.inc b/data/maps/PacifidlogTown_House2/scripts.inc index 3dedcec30f..175b477e7a 100644 --- a/data/maps/PacifidlogTown_House2/scripts.inc +++ b/data/maps/PacifidlogTown_House2/scripts.inc @@ -11,9 +11,9 @@ PacifidlogTown_House2_EventScript_FanClubYoungerBrother:: call_if_unset FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_FirstMonAssessment setflag FLAG_MET_FANCLUB_YOUNGER_BROTHER specialvar VAR_RESULT, GetLeadMonFriendshipScore - goto_if_ge VAR_RESULT, 4, PacifidlogTown_House2_EventScript_GiveReturn + goto_if_ge VAR_RESULT, FRIENDSHIP_150_TO_199, PacifidlogTown_House2_EventScript_GiveReturn specialvar VAR_RESULT, GetLeadMonFriendshipScore - goto_if_ge VAR_RESULT, 2, PacifidlogTown_House2_EventScript_PutInEffort + goto_if_ge VAR_RESULT, FRIENDSHIP_50_TO_99, PacifidlogTown_House2_EventScript_PutInEffort goto PacifidlogTown_House2_EventScript_GiveFrustration end diff --git a/data/maps/Route111/map.json b/data/maps/Route111/map.json index 4621591e43..566e7c9629 100644 --- a/data/maps/Route111/map.json +++ b/data/maps/Route111/map.json @@ -262,7 +262,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "Route111_EventScript_ItemTM37", - "flag": "FLAG_ITEM_ROUTE_111_TM_37" + "flag": "FLAG_ITEM_ROUTE_111_TM37" }, { "graphics_id": "OBJ_EVENT_GFX_BERRY_TREE", diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc index 6cb83b4528..f97326c543 100644 --- a/data/maps/Route111/scripts.inc +++ b/data/maps/Route111/scripts.inc @@ -144,7 +144,7 @@ Route111_EventScript_RootFossilDisappeared:: @ Unused Route111_Movement_PlayerFall:: - store_lock_anim + lock_anim walk_fast_down walk_fast_down walk_fast_down diff --git a/data/maps/Route113/map.json b/data/maps/Route113/map.json index 422b88e6ef..783406346e 100644 --- a/data/maps/Route113/map.json +++ b/data/maps/Route113/map.json @@ -451,7 +451,7 @@ "y": 5, "elevation": 3, "item": "ITEM_TM32", - "flag": "FLAG_HIDDEN_ITEM_ROUTE_113_TM_32" + "flag": "FLAG_HIDDEN_ITEM_ROUTE_113_TM32" }, { "type": "hidden_item", diff --git a/data/maps/Route115/map.json b/data/maps/Route115/map.json index bbac132f52..a5e2b10f9e 100644 --- a/data/maps/Route115/map.json +++ b/data/maps/Route115/map.json @@ -166,7 +166,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "Route115_EventScript_ItemTM01", - "flag": "FLAG_ITEM_ROUTE_115_TM_01" + "flag": "FLAG_ITEM_ROUTE_115_TM01" }, { "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", diff --git a/data/maps/SafariZone_Northwest/map.json b/data/maps/SafariZone_Northwest/map.json index 1e27def2cd..20fffd0498 100644 --- a/data/maps/SafariZone_Northwest/map.json +++ b/data/maps/SafariZone_Northwest/map.json @@ -49,7 +49,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "SafariZone_Northwest_EventScript_ItemTM22", - "flag": "FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_22" + "flag": "FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM22" } ], "warp_events": [], diff --git a/data/maps/ScorchedSlab/map.json b/data/maps/ScorchedSlab/map.json index e90f1f5c1f..cb97894903 100644 --- a/data/maps/ScorchedSlab/map.json +++ b/data/maps/ScorchedSlab/map.json @@ -25,7 +25,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "ScorchedSlab_EventScript_ItemTM11", - "flag": "FLAG_ITEM_SCORCHED_SLAB_TM_11" + "flag": "FLAG_ITEM_SCORCHED_SLAB_TM11" } ], "warp_events": [ diff --git a/data/maps/SeafloorCavern_Room9/map.json b/data/maps/SeafloorCavern_Room9/map.json index 0557b0c3eb..7942b3d1d4 100644 --- a/data/maps/SeafloorCavern_Room9/map.json +++ b/data/maps/SeafloorCavern_Room9/map.json @@ -90,7 +90,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "SeafloorCavern_Room9_EventScript_ItemTM26", - "flag": "FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_26" + "flag": "FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM26" }, { "graphics_id": "OBJ_EVENT_GFX_KYOGRE_ASLEEP", diff --git a/data/maps/ShoalCave_LowTideIceRoom/map.json b/data/maps/ShoalCave_LowTideIceRoom/map.json index ea4f0cedf4..3195d408b3 100644 --- a/data/maps/ShoalCave_LowTideIceRoom/map.json +++ b/data/maps/ShoalCave_LowTideIceRoom/map.json @@ -25,7 +25,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "ShoalCave_LowTideIceRoom_EventScript_ItemTM07", - "flag": "FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_07" + "flag": "FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM07" }, { "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", diff --git a/data/maps/SkyPillar_Top/map.json b/data/maps/SkyPillar_Top/map.json index a980c6b07b..2fee121065 100644 --- a/data/maps/SkyPillar_Top/map.json +++ b/data/maps/SkyPillar_Top/map.json @@ -56,7 +56,7 @@ "x": 14, "y": 9, "elevation": 3, - "var": "VAR_SKY_PILLAR_RAQUAZA_CRY_DONE", + "var": "VAR_SKY_PILLAR_RAYQUAZA_CRY_DONE", "var_value": "0", "script": "SkyPillar_Top_EventScript_AwakenRayquaza" } diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc index 7b65d9e257..19cd7e4f42 100644 --- a/data/maps/SkyPillar_Top/scripts.inc +++ b/data/maps/SkyPillar_Top/scripts.inc @@ -128,7 +128,7 @@ SkyPillar_Top_EventScript_AwakenRayquaza:: special RemoveCameraObject setvar VAR_SOOTOPOLIS_CITY_STATE, 5 setvar VAR_SKY_PILLAR_STATE, 1 - setvar VAR_SKY_PILLAR_RAQUAZA_CRY_DONE, 1 + setvar VAR_SKY_PILLAR_RAYQUAZA_CRY_DONE, 1 releaseall end diff --git a/data/maps/SlateportCity_PokemonFanClub/scripts.inc b/data/maps/SlateportCity_PokemonFanClub/scripts.inc index b97e29a028..3b50428614 100644 --- a/data/maps/SlateportCity_PokemonFanClub/scripts.inc +++ b/data/maps/SlateportCity_PokemonFanClub/scripts.inc @@ -192,7 +192,7 @@ SlateportCity_PokemonFanClub_EventScript_SootheBellWoman:: goto_if_set FLAG_RECEIVED_SOOTHE_BELL, SlateportCity_PokemonFanClub_EventScript_ReceivedSootheBell msgbox SlateportCity_PokemonFanClub_Text_ShowMePokemonThatLoveYou, MSGBOX_DEFAULT specialvar VAR_RESULT, GetLeadMonFriendshipScore - goto_if_ge VAR_RESULT, 4, SlateportCity_PokemonFanClub_EventScript_GiveSootheBell + goto_if_ge VAR_RESULT, FRIENDSHIP_150_TO_199, SlateportCity_PokemonFanClub_EventScript_GiveSootheBell release end diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc b/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc index 84cdef029e..97e522471f 100644 --- a/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc +++ b/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc @@ -7,13 +7,13 @@ VerdanturfTown_FriendshipRatersHouse_EventScript_FriendshipRater:: msgbox VerdanturfTown_FriendshipRatersHouse_Text_SeeHowMuchPokemonLikesYou, MSGBOX_DEFAULT specialvar VAR_RESULT, GetLeadMonFriendshipScore switch VAR_RESULT - case 0, VerdanturfTown_FriendshipRatersHouse_EventScript_DetestsYou - case 1, VerdanturfTown_FriendshipRatersHouse_EventScript_VeryWary - case 2, VerdanturfTown_FriendshipRatersHouse_EventScript_NotUsedToYou - case 3, VerdanturfTown_FriendshipRatersHouse_EventScript_GettingUsedToYou - case 4, VerdanturfTown_FriendshipRatersHouse_EventScript_LikesYouQuiteALot - case 5, VerdanturfTown_FriendshipRatersHouse_EventScript_VeryHappy - case 6, VerdanturfTown_FriendshipRatersHouse_EventScript_AdoresYou + case FRIENDSHIP_NONE, VerdanturfTown_FriendshipRatersHouse_EventScript_DetestsYou + case FRIENDSHIP_1_TO_49, VerdanturfTown_FriendshipRatersHouse_EventScript_VeryWary + case FRIENDSHIP_50_TO_99, VerdanturfTown_FriendshipRatersHouse_EventScript_NotUsedToYou + case FRIENDSHIP_100_TO_149, VerdanturfTown_FriendshipRatersHouse_EventScript_GettingUsedToYou + case FRIENDSHIP_150_TO_199, VerdanturfTown_FriendshipRatersHouse_EventScript_LikesYouQuiteALot + case FRIENDSHIP_200_TO_254, VerdanturfTown_FriendshipRatersHouse_EventScript_VeryHappy + case FRIENDSHIP_MAX, VerdanturfTown_FriendshipRatersHouse_EventScript_AdoresYou release end diff --git a/data/maps/VictoryRoad_B1F/map.json b/data/maps/VictoryRoad_B1F/map.json index 6e290ce6de..68b013ef46 100644 --- a/data/maps/VictoryRoad_B1F/map.json +++ b/data/maps/VictoryRoad_B1F/map.json @@ -246,7 +246,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "VictoryRoad_B1F_EventScript_ItemTM29", - "flag": "FLAG_ITEM_VICTORY_ROAD_B1F_TM_29" + "flag": "FLAG_ITEM_VICTORY_ROAD_B1F_TM29" }, { "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc index e1fa3d1799..eda3505bf4 100644 --- a/data/scripts/mauville_man.inc +++ b/data/scripts/mauville_man.inc @@ -315,7 +315,7 @@ MauvilleCity_PokemonCenter_1F_Text_TrendsStartedStory:: .string "the HOENN region!$" MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedTitle:: - .string "The BERRY-Planting TRAINER$" + .string "The BERRY-Planting TRAINER$" MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedAction:: .string "Planted BERRIES$" diff --git a/data/scripts/new_game.inc b/data/scripts/new_game.inc index 7c5c3fc7de..e9c8dd8d56 100644 --- a/data/scripts/new_game.inc +++ b/data/scripts/new_game.inc @@ -38,7 +38,7 @@ EventScript_ResetAllBerries:: setberrytree BERRY_TREE_ROUTE_117_WEPEAR_3, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES setberrytree BERRY_TREE_ROUTE_117_WEPEAR_2, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES setberrytree BERRY_TREE_ROUTE_117_WEPEAR_1, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES - + @ Route 112 setberrytree BERRY_TREE_ROUTE_112_RAWST_2, ITEM_TO_BERRY(ITEM_RAWST_BERRY), BERRY_STAGE_BERRIES setberrytree BERRY_TREE_ROUTE_112_PECHA_2, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES diff --git a/data/scripts/roulette.inc b/data/scripts/roulette.inc index 7163a449aa..fcb09bef27 100644 --- a/data/scripts/roulette.inc +++ b/data/scripts/roulette.inc @@ -22,7 +22,7 @@ Roulette_EventScript_Play:: special PlayRoulette waitstate end - + Roulette_Text_PlayMinimumWagerIsX:: .string "The minimum wager at this table\n" .string "is {STR_VAR_1}. Do you want to play?$" diff --git a/data/text/event_ticket_2.inc b/data/text/event_ticket_2.inc index 0165b5fde9..e5536eebf8 100644 --- a/data/text/event_ticket_2.inc +++ b/data/text/event_ticket_2.inc @@ -1,71 +1,71 @@ EventTicket_Text_OldSeaMapTooFar: - .string "What's up, youngster?\p" - .string "What, it's you who's supposed to have\n" - .string "a tattered old map?\p" - .string "Let's have a look.\n" - .string "… … … … … …\p" - .string "Boy, this is quite a ways away.\n" - .string "I'm afraid I can't help you…$" + .string "What's up, youngster?\p" + .string "What, it's you who's supposed to have\n" + .string "a tattered old map?\p" + .string "Let's have a look.\n" + .string "… … … … … …\p" + .string "Boy, this is quite a ways away.\n" + .string "I'm afraid I can't help you…$" EventTicket_Text_BrineyHoldOnASecond: - .string "BRINEY: Hold on a second!\p" - .string "What's the idea of turning down\n" - .string "someone that I owe so much to?$" + .string "BRINEY: Hold on a second!\p" + .string "What's the idea of turning down\n" + .string "someone that I owe so much to?$" EventTicket_Text_BrineyLetsSail: - .string "{PLAYER}{KUN}, I'm terribly sorry.\p" - .string "You came to me seeking my help,\n" - .string "and we almost turned you away.\p" - .string "Well, let me make things right.\p" - .string "We'll sail right away, of course!\p" - .string "Let's find this island on\n" - .string "this OLD SEA MAP!$" + .string "{PLAYER}{KUN}, I'm terribly sorry.\p" + .string "You came to me seeking my help,\n" + .string "and we almost turned you away.\p" + .string "Well, let me make things right.\p" + .string "We'll sail right away, of course!\p" + .string "Let's find this island on\n" + .string "this OLD SEA MAP!$" EventTicket_Text_OddTicketGetOnBoard: - .string "Is it you who brought that odd\n" - .string "ticket?\p" - .string "Where you're trying to go is an island\n" - .string "that's far, far away.\p" - .string "No one knows what awaits there…\p" - .string "The very thought excites my blood\n" - .string "as a sailing man!\p" - .string "Get on board, youngster!$" + .string "Is it you who brought that odd\n" + .string "ticket?\p" + .string "Where you're trying to go is an island\n" + .string "that's far, far away.\p" + .string "No one knows what awaits there…\p" + .string "The very thought excites my blood\n" + .string "as a sailing man!\p" + .string "Get on board, youngster!$" FarawayIsland_Entrance_Text_SailorReturn: - .string "CAPT. BRINEY can be so maddeningly\n" - .string "fickle…\p" - .string "Do you want to return to LILYCOVE?$" + .string "CAPT. BRINEY can be so maddeningly\n" + .string "fickle…\p" + .string "Do you want to return to LILYCOVE?$" BirthIsland_Harbor_Text_SailorReturn: - .string "What an oddly shaped island, eh?\n" - .string "Do you want to return to LILYCOVE?$" + .string "What an oddly shaped island, eh?\n" + .string "Do you want to return to LILYCOVE?$" EventTicket_Text_OddTicketsWhereTo: - .string "Is it you who brought those\n" - .string "odd tickets?\p" - .string "… … …Hm.\p" - .string "These tickets will get you to islands\n" - .string "that are far, far away.\p" - .string "No one knows what awaits there,\n" - .string "or what may happen there.\p" - .string "The very thought excites my blood\n" - .string "as a sailing man!\p" - .string "Get on board, youngster!\n" - .string "Where shall we sail first?$" + .string "Is it you who brought those\n" + .string "odd tickets?\p" + .string "… … …Hm.\p" + .string "These tickets will get you to islands\n" + .string "that are far, far away.\p" + .string "No one knows what awaits there,\n" + .string "or what may happen there.\p" + .string "The very thought excites my blood\n" + .string "as a sailing man!\p" + .string "Get on board, youngster!\n" + .string "Where shall we sail first?$" NavelRock_Harbor_Text_SailorReturn: - .string "Did… Did you hear that?\n" - .string "That low growling from deep in there.\p" - .string "Are you sure it's safe?\n" - .string "Do you think we should leave?$" + .string "Did… Did you hear that?\n" + .string "That low growling from deep in there.\p" + .string "Are you sure it's safe?\n" + .string "Do you think we should leave?$" FarawayIsland_Entrance_Text_Sign: - .string "The writing is fading as if it was\n" - .string "written a long time ago…\p" - .string "“…ber, 6th day\n" - .string "If any human…sets foot here…\l" - .string "again…et it be a kindhearted pers…\l" - .string "…ith that hope, I depar…”$" + .string "The writing is fading as if it was\n" + .string "written a long time ago…\p" + .string "“…ber, 6th day\n" + .string "If any human…sets foot here…\l" + .string "again…et it be a kindhearted pers…\l" + .string "…ith that hope, I depar…”$" FarawayIsland_Interior_Text_Mew: - .string "Myuu…$" + .string "Myuu…$" diff --git a/data/text/pkmn_center_nurse.inc b/data/text/pkmn_center_nurse.inc index 05a186f2fa..eb0a0dc46d 100644 --- a/data/text/pkmn_center_nurse.inc +++ b/data/text/pkmn_center_nurse.inc @@ -1,51 +1,51 @@ gText_WouldYouLikeToRestYourPkmn:: - .string "Hello, and welcome to\n" - .string "the POKéMON CENTER.\p" - .string "We restore your tired POKéMON\n" - .string "to full health.\p" - .string "Would you like to rest your POKéMON?$" + .string "Hello, and welcome to\n" + .string "the POKéMON CENTER.\p" + .string "We restore your tired POKéMON\n" + .string "to full health.\p" + .string "Would you like to rest your POKéMON?$" gText_IllTakeYourPkmn:: - .string "Okay, I'll take your POKéMON\n" - .string "for a few seconds.$" + .string "Okay, I'll take your POKéMON\n" + .string "for a few seconds.$" gText_RestoredPkmnToFullHealth:: - .string "Thank you for waiting.\p" - .string "We've restored your POKéMON\n" - .string "to full health.$" + .string "Thank you for waiting.\p" + .string "We've restored your POKéMON\n" + .string "to full health.$" gText_WeHopeToSeeYouAgain:: - .string "We hope to see you again!$" + .string "We hope to see you again!$" gText_WelcomeCutShort:: - .string "Hello, and welcome to\n" - .string "the POKéMON CENTER.\p" - .string "We restore your tired POKéMON\n" - .string "to full health.\p" - .string "Would you like to…$" + .string "Hello, and welcome to\n" + .string "the POKéMON CENTER.\p" + .string "We restore your tired POKéMON\n" + .string "to full health.\p" + .string "Would you like to…$" gText_NoticesGoldCard:: - .string "Th-that card…\n" - .string "Could it be… The GOLD CARD?!\p" - .string "Oh, the gold color is brilliant!\n" - .string "The four stars seem to sparkle!\p" - .string "I've seen several TRAINERS with\n" - .string "a SILVER CARD before, but, {PLAYER},\l" - .string "you're the first TRAINER I've ever\l" - .string "seen with a GOLD CARD!\p" - .string "Okay, {PLAYER}, please allow me\n" - .string "the honor of resting your POKéMON!$" + .string "Th-that card…\n" + .string "Could it be… The GOLD CARD?!\p" + .string "Oh, the gold color is brilliant!\n" + .string "The four stars seem to sparkle!\p" + .string "I've seen several TRAINERS with\n" + .string "a SILVER CARD before, but, {PLAYER},\l" + .string "you're the first TRAINER I've ever\l" + .string "seen with a GOLD CARD!\p" + .string "Okay, {PLAYER}, please allow me\n" + .string "the honor of resting your POKéMON!$" gText_YouWantTheUsual:: - .string "I'm delighted to see you, {PLAYER}!\n" - .string "You want the usual, am I right?$" + .string "I'm delighted to see you, {PLAYER}!\n" + .string "You want the usual, am I right?$" gText_IllTakeYourPkmn2:: - .string "Okay, I'll take your POKéMON\n" - .string "for a few seconds.$" + .string "Okay, I'll take your POKéMON\n" + .string "for a few seconds.$" gText_ThankYouForWaiting:: - .string "Thank you for waiting.$" + .string "Thank you for waiting.$" gText_WeHopeToSeeYouAgain2:: - .string "We hope to see you again!$" + .string "We hope to see you again!$" diff --git a/data/text/secret_base_trainers.inc b/data/text/secret_base_trainers.inc index f1881533ab..ef8ba4dca5 100644 --- a/data/text/secret_base_trainers.inc +++ b/data/text/secret_base_trainers.inc @@ -1,286 +1,286 @@ SecretBase_Text_Trainer0Intro: - .string "Have you made a SECRET BASE already?\p" - .string "I went here, there, everywhere before\n" - .string "choosing this place.\p" - .string "Since you're already here, how would\n" - .string "you like to battle?$" + .string "Have you made a SECRET BASE already?\p" + .string "I went here, there, everywhere before\n" + .string "choosing this place.\p" + .string "Since you're already here, how would\n" + .string "you like to battle?$" SecretBase_Text_Trainer0AcceptBattle: - .string "Okay!\n" - .string "Here we come!$" + .string "Okay!\n" + .string "Here we come!$" SecretBase_Text_Trainer0DeclineBattle: - .string "Hunh?\n" - .string "Oh, you can't now…$" + .string "Hunh?\n" + .string "Oh, you can't now…$" SecretBase_Text_Trainer0Defeated:: - .string "Waaargh! You're too strong!\n" - .string "About me losing… Please keep it secret!$" + .string "Waaargh! You're too strong!\n" + .string "About me losing… Please keep it secret!$" SecretBase_Text_Trainer0PostBattle: - .string "What do you think of my SECRET BASE?\n" - .string "Come visit me again tomorrow.$" + .string "What do you think of my SECRET BASE?\n" + .string "Come visit me again tomorrow.$" SecretBase_Text_Trainer0PreChampion: - .string "Have you made a SECRET BASE already?\p" - .string "I went here, there, everywhere before\n" - .string "choosing this place.\p" - .string "Feel free to hang out!$" + .string "Have you made a SECRET BASE already?\p" + .string "I went here, there, everywhere before\n" + .string "choosing this place.\p" + .string "Feel free to hang out!$" SecretBase_Text_Trainer5Intro: - .string "There're a lot of places where\n" - .string "you can make a SECRET BASE.\p" - .string "But I like this spot best.\n" - .string "Don't you think it's nice?\p" - .string "Oh, would you like to have a battle?$" + .string "There're a lot of places where\n" + .string "you can make a SECRET BASE.\p" + .string "But I like this spot best.\n" + .string "Don't you think it's nice?\p" + .string "Oh, would you like to have a battle?$" SecretBase_Text_Trainer5AcceptBattle: - .string "Okay, here goes!$" + .string "Okay, here goes!$" SecretBase_Text_Trainer5DeclineBattle: - .string "Oh…\n" - .string "You can't now, okay.$" + .string "Oh…\n" + .string "You can't now, okay.$" SecretBase_Text_Trainer5Defeated:: - .string "Hmmm… It's our loss…\n" - .string "But don't tell anyone!\l" - .string "It's a confidential secret!$" + .string "Hmmm… It's our loss…\n" + .string "But don't tell anyone!\l" + .string "It's a confidential secret!$" SecretBase_Text_Trainer5PostBattle: - .string "If you're in this area again,\n" - .string "I hope you'll visit me.$" + .string "If you're in this area again,\n" + .string "I hope you'll visit me.$" SecretBase_Text_Trainer5PreChampion: - .string "There're a lot of places where you can\n" - .string "make a SECRET BASE.\p" - .string "But I like this spot best.\n" - .string "Don't you think it's nice?$" + .string "There're a lot of places where you can\n" + .string "make a SECRET BASE.\p" + .string "But I like this spot best.\n" + .string "Don't you think it's nice?$" SecretBase_Text_Trainer1Intro: - .string "This is a popular spot.\n" - .string "It's always taken.\p" - .string "Oh! Were you thinking about\n" - .string "taking this spot, too?\p" - .string "I'll tell you what, you can have this\n" - .string "spot if you can beat me.$" + .string "This is a popular spot.\n" + .string "It's always taken.\p" + .string "Oh! Were you thinking about\n" + .string "taking this spot, too?\p" + .string "I'll tell you what, you can have this\n" + .string "spot if you can beat me.$" SecretBase_Text_Trainer1AcceptBattle: - .string "Okay!\n" - .string "I'm going to defend my SECRET BASE!$" + .string "Okay!\n" + .string "I'm going to defend my SECRET BASE!$" SecretBase_Text_Trainer1DeclineBattle: - .string "Hunh? Is that right?\n" - .string "You're not interested in this spot?$" + .string "Hunh? Is that right?\n" + .string "You're not interested in this spot?$" SecretBase_Text_Trainer1Defeated:: - .string "I can't keep going!\n" - .string "I surrender!$" + .string "I can't keep going!\n" + .string "I surrender!$" SecretBase_Text_Trainer1PostBattle: - .string "Okay, when I move one day,\n" - .string "this place will be yours!$" + .string "Okay, when I move one day,\n" + .string "this place will be yours!$" SecretBase_Text_Trainer1PreChampion: - .string "This is a popular spot.\n" - .string "It's always taken.\p" - .string "I waited a long time for it to open.\n" - .string "I finally got to use it!$" + .string "This is a popular spot.\n" + .string "It's always taken.\p" + .string "I waited a long time for it to open.\n" + .string "I finally got to use it!$" SecretBase_Text_Trainer6Intro: - .string "Welcome to my POKéMON LAB.\p" - .string "I carry out research on battling in\n" - .string "secrecy.\p" - .string "Would you like to see how strong I am?$" + .string "Welcome to my POKéMON LAB.\p" + .string "I carry out research on battling in\n" + .string "secrecy.\p" + .string "Would you like to see how strong I am?$" SecretBase_Text_Trainer6AcceptBattle: - .string "I'm going to go all out!$" + .string "I'm going to go all out!$" SecretBase_Text_Trainer6DeclineBattle: - .string "Oh.\n" - .string "Some other time, then!$" + .string "Oh.\n" + .string "Some other time, then!$" SecretBase_Text_Trainer6Defeated:: - .string "Hmm… I've still got lots to learn.\n" - .string "I have to study some more.$" + .string "Hmm… I've still got lots to learn.\n" + .string "I have to study some more.$" SecretBase_Text_Trainer6PostBattle: - .string "Thanks for battling with me.\n" - .string "Please come back again tomorrow.$" + .string "Thanks for battling with me.\n" + .string "Please come back again tomorrow.$" SecretBase_Text_Trainer6PreChampion: - .string "Welcome to my POKéMON LAB.\p" - .string "I carry out research on battling in\n" - .string "secrecy.$" + .string "Welcome to my POKéMON LAB.\p" + .string "I carry out research on battling in\n" + .string "secrecy.$" SecretBase_Text_Trainer2Intro: - .string "A big mansion is nice, but I like this\n" - .string "sort of place more.\p" - .string "I like it because all kinds of people\n" - .string "come visit me.\p" - .string "So, how would you like a battle?$" + .string "A big mansion is nice, but I like this\n" + .string "sort of place more.\p" + .string "I like it because all kinds of people\n" + .string "come visit me.\p" + .string "So, how would you like a battle?$" SecretBase_Text_Trainer2AcceptBattle: - .string "That's the way!$" + .string "That's the way!$" SecretBase_Text_Trainer2DeclineBattle: - .string "When you're ready, give me a shout!$" + .string "When you're ready, give me a shout!$" SecretBase_Text_Trainer2Defeated:: - .string "Aww! Done in!\n" - .string "But it's still fun to battle!$" + .string "Aww! Done in!\n" + .string "But it's still fun to battle!$" SecretBase_Text_Trainer2PostBattle: - .string "Well, anyway, I should go buy some\n" - .string "decorations and furniture.\p" - .string "I want my SECRET BASE to be a place\n" - .string "other people can enjoy.$" + .string "Well, anyway, I should go buy some\n" + .string "decorations and furniture.\p" + .string "I want my SECRET BASE to be a place\n" + .string "other people can enjoy.$" SecretBase_Text_Trainer2PreChampion: - .string "A big mansion is nice, but I like this\n" - .string "sort of place more.\p" - .string "I like it because all kinds of people\n" - .string "come visit me.$" + .string "A big mansion is nice, but I like this\n" + .string "sort of place more.\p" + .string "I like it because all kinds of people\n" + .string "come visit me.$" SecretBase_Text_Trainer7Intro: - .string "I simply adore shopping for decorations\n" - .string "and furniture.\p" - .string "I also love raising POKéMON just\n" - .string "as much.\p" - .string "If you would be so kind, will you battle\n" - .string "with my POKéMON?$" + .string "I simply adore shopping for decorations\n" + .string "and furniture.\p" + .string "I also love raising POKéMON just\n" + .string "as much.\p" + .string "If you would be so kind, will you battle\n" + .string "with my POKéMON?$" SecretBase_Text_Trainer7AcceptBattle: - .string "Thank you.\n" - .string "Shall we begin?$" + .string "Thank you.\n" + .string "Shall we begin?$" SecretBase_Text_Trainer7DeclineBattle: - .string "Oh.\n" - .string "How disappointing…$" + .string "Oh.\n" + .string "How disappointing…$" SecretBase_Text_Trainer7Defeated:: - .string "I concede…$" + .string "I concede…$" SecretBase_Text_Trainer7PostBattle: - .string "That was all in good fun!\n" - .string "I should go enjoy shopping now.$" + .string "That was all in good fun!\n" + .string "I should go enjoy shopping now.$" SecretBase_Text_Trainer7PreChampion: - .string "I simply adore shopping for decorations\n" - .string "and furniture.\p" - .string "I also love raising POKéMON just\n" - .string "as much.$" + .string "I simply adore shopping for decorations\n" + .string "and furniture.\p" + .string "I also love raising POKéMON just\n" + .string "as much.$" SecretBase_Text_Trainer3Intro: - .string "Some people make their SECRET BASES in\n" - .string "hard-to-find places.\l" - .string "Do they want to just lie low?\p" - .string "But since you found me, how about we\n" - .string "have a battle?$" + .string "Some people make their SECRET BASES in\n" + .string "hard-to-find places.\l" + .string "Do they want to just lie low?\p" + .string "But since you found me, how about we\n" + .string "have a battle?$" SecretBase_Text_Trainer3AcceptBattle: - .string "I'm not going down easily!$" + .string "I'm not going down easily!$" SecretBase_Text_Trainer3DeclineBattle: - .string "Oh… Are you maybe tired from searching\n" - .string "for this place?$" + .string "Oh… Are you maybe tired from searching\n" + .string "for this place?$" SecretBase_Text_Trainer3Defeated:: - .string "I went down…$" + .string "I went down…$" SecretBase_Text_Trainer3PostBattle: - .string "Where's your SECRET BASE?\n" - .string "I should go visit you there.$" + .string "Where's your SECRET BASE?\n" + .string "I should go visit you there.$" SecretBase_Text_Trainer3PreChampion: - .string "Some people make their SECRET BASES in\n" - .string "hard-to-find places.\l" - .string "Do they want to just lie low?$" + .string "Some people make their SECRET BASES in\n" + .string "hard-to-find places.\l" + .string "Do they want to just lie low?$" SecretBase_Text_Trainer8Intro: - .string "People have told me that you can get\n" - .string "decorations in several ways.\p" - .string "We should have a race to see who can\n" - .string "get nicer decorations and furniture!\p" - .string "In the meantime, want to battle?$" + .string "People have told me that you can get\n" + .string "decorations in several ways.\p" + .string "We should have a race to see who can\n" + .string "get nicer decorations and furniture!\p" + .string "In the meantime, want to battle?$" SecretBase_Text_Trainer8AcceptBattle: - .string "This is my SECRET BASE.\n" - .string "I can't lose!$" + .string "This is my SECRET BASE.\n" + .string "I can't lose!$" SecretBase_Text_Trainer8DeclineBattle: - .string "I'll battle with you anytime.$" + .string "I'll battle with you anytime.$" SecretBase_Text_Trainer8Defeated:: - .string "Huh?\n" - .string "Did I just lose?$" + .string "Huh?\n" + .string "Did I just lose?$" SecretBase_Text_Trainer8PostBattle: - .string "I won't lose at collecting decorations.\n" - .string "Come visit again!$" + .string "I won't lose at collecting decorations.\n" + .string "Come visit again!$" SecretBase_Text_Trainer8PreChampion: - .string "People have told me that you can get\n" - .string "decorations in several ways.\p" - .string "We should have a race to see who can\n" - .string "get nicer decorations and furniture!$" + .string "People have told me that you can get\n" + .string "decorations in several ways.\p" + .string "We should have a race to see who can\n" + .string "get nicer decorations and furniture!$" SecretBase_Text_Trainer4Intro: - .string "I found a spot I liked, and I did it up\n" - .string "with my favorite decorations.\p" - .string "I raise my favorite POKéMON and grow\n" - .string "stronger with it.\p" - .string "That's what I do.\n" - .string "Want to battle with me?$" + .string "I found a spot I liked, and I did it up\n" + .string "with my favorite decorations.\p" + .string "I raise my favorite POKéMON and grow\n" + .string "stronger with it.\p" + .string "That's what I do.\n" + .string "Want to battle with me?$" SecretBase_Text_Trainer4AcceptBattle: - .string "Show me what you're made of!$" + .string "Show me what you're made of!$" SecretBase_Text_Trainer4DeclineBattle: - .string "I guess there are times when you're not\n" - .string "into it.$" + .string "I guess there are times when you're not\n" + .string "into it.$" SecretBase_Text_Trainer4Defeated:: - .string "I know exactly what you're made of now.$" + .string "I know exactly what you're made of now.$" SecretBase_Text_Trainer4PostBattle: - .string "We can both become stronger.\n" - .string "Let's keep at it!$" + .string "We can both become stronger.\n" + .string "Let's keep at it!$" SecretBase_Text_Trainer4PreChampion: - .string "I found a spot I liked, and I did it up\n" - .string "with my favorite decorations.\p" - .string "I raise my favorite POKéMON and grow\n" - .string "stronger with it.\p" - .string "Every day is a great day.$" + .string "I found a spot I liked, and I did it up\n" + .string "with my favorite decorations.\p" + .string "I raise my favorite POKéMON and grow\n" + .string "stronger with it.\p" + .string "Every day is a great day.$" SecretBase_Text_Trainer9Intro: - .string "You can learn a lot about the taste\n" - .string "and sense of people by the kinds of\l" - .string "decorations they have, and how they\l" - .string "display them.\p" - .string "What do you think of my taste?\n" - .string "Are you speechless?\p" - .string "Want to see my taste in battling?$" + .string "You can learn a lot about the taste\n" + .string "and sense of people by the kinds of\l" + .string "decorations they have, and how they\l" + .string "display them.\p" + .string "What do you think of my taste?\n" + .string "Are you speechless?\p" + .string "Want to see my taste in battling?$" SecretBase_Text_Trainer9AcceptBattle: - .string "There's no holding back!$" + .string "There's no holding back!$" SecretBase_Text_Trainer9DeclineBattle: - .string "I'll be happy to demonstrate my style\n" - .string "anytime.$" + .string "I'll be happy to demonstrate my style\n" + .string "anytime.$" SecretBase_Text_Trainer9Defeated:: - .string "You're supremely talented!\n" - .string "Your power seems to be limitless…$" + .string "You're supremely talented!\n" + .string "Your power seems to be limitless…$" SecretBase_Text_Trainer9PostBattle: - .string "What did you think of my style?\n" - .string "I'll keep on polishing it!$" + .string "What did you think of my style?\n" + .string "I'll keep on polishing it!$" SecretBase_Text_Trainer9PreChampion: - .string "You can learn a lot about the taste\n" - .string "and sense of people by the kinds of\l" - .string "decorations they have, and how they\l" - .string "display them.\p" - .string "What do you think of my taste?\n" - .string "Are you speechless?$" + .string "You can learn a lot about the taste\n" + .string "and sense of people by the kinds of\l" + .string "decorations they have, and how they\l" + .string "display them.\p" + .string "What do you think of my taste?\n" + .string "Are you speechless?$" diff --git a/docs/legacy_WSL1_INSTALL.md b/docs/legacy_WSL1_INSTALL.md index b9840d1c82..7d40960f3b 100644 --- a/docs/legacy_WSL1_INSTALL.md +++ b/docs/legacy_WSL1_INSTALL.md @@ -17,8 +17,8 @@ cd /mnt/c/Users//Downloads ``` - > Note 1: The Windows C:\ drive is called /mnt/c/ in WSL. - > Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users//Downloads folder"`. + > Note 1: The Windows C:\ drive is called /mnt/c/ in WSL. + > Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users//Downloads folder"`. > Note 3: Windows path names are case-insensitive so adhering to capitalization isn't needed 4. Once the directory has been changed to the folder containing the devkitPro pacman package, run the following commands to install devkitARM. diff --git a/gflib/bg.c b/gflib/bg.c index 6e97be2073..4b0379de01 100644 --- a/gflib/bg.c +++ b/gflib/bg.c @@ -33,7 +33,7 @@ struct BgConfig2 u32 basePalette:4; u32 unk_3:18; - void* tilemap; + void *tilemap; s32 bg_x; s32 bg_y; }; @@ -183,14 +183,14 @@ u8 LoadBgVram(u8 bg, const void *src, u16 size, u16 destOffset, u8 mode) case 0x1: offset = sGpuBgConfigs.configs[bg].charBaseIndex * BG_CHAR_SIZE; offset = destOffset + offset; - cursor = RequestDma3Copy(src, (void*)(offset + BG_VRAM), size, 0); + cursor = RequestDma3Copy(src, (void *)(offset + BG_VRAM), size, 0); if (cursor == -1) return -1; break; case 0x2: offset = sGpuBgConfigs.configs[bg].mapBaseIndex * BG_SCREEN_SIZE; offset = destOffset + offset; - cursor = RequestDma3Copy(src, (void*)(offset + BG_VRAM), size, 0); + cursor = RequestDma3Copy(src, (void *)(offset + BG_VRAM), size, 0); if (cursor == -1) return -1; break; @@ -372,7 +372,7 @@ void SetBgMode(u8 bgMode) SetBgModeInternal(bgMode); } -u16 LoadBgTiles(u8 bg, const void* src, u16 size, u16 destOffset) +u16 LoadBgTiles(u8 bg, const void *src, u16 size, u16 destOffset) { u16 tileOffset; u8 cursor; @@ -422,7 +422,7 @@ u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset) if (!IsInvalidBg32(bg)) { u16 paletteOffset = (sGpuBgConfigs2[bg].basePalette * 0x20) + (destOffset * 2); - cursor = RequestDma3Copy(src, (void*)(paletteOffset + BG_PLTT), size, 0); + cursor = RequestDma3Copy(src, (void *)(paletteOffset + BG_PLTT), size, 0); if (cursor == -1) { @@ -863,7 +863,7 @@ void UnsetBgTilemapBuffer(u8 bg) } } -void* GetBgTilemapBuffer(u8 bg) +void *GetBgTilemapBuffer(u8 bg) { if (IsInvalidBg32(bg)) return NULL; @@ -906,7 +906,7 @@ void CopyBgTilemapBufferToVram(u8 bg) } } -void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height) +void CopyToBgTilemapBufferRect(u8 bg, const void *src, u8 destX, u8 destY, u8 width, u8 height) { u16 destX16; u16 destY16; @@ -923,7 +923,7 @@ void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 wi { for (destX16 = destX; destX16 < (destX + width); destX16++) { - ((u16*)sGpuBgConfigs2[bg].tilemap)[((destY16 * 0x20) + destX16)] = *srcCopy++; + ((u16 *)sGpuBgConfigs2[bg].tilemap)[((destY16 * 0x20) + destX16)] = *srcCopy++; } } break; @@ -936,7 +936,7 @@ void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 wi { for (destX16 = destX; destX16 < (destX + width); destX16++) { - ((u8*)sGpuBgConfigs2[bg].tilemap)[((destY16 * mode) + destX16)] = *srcCopy++; + ((u8 *)sGpuBgConfigs2[bg].tilemap)[((destY16 * mode) + destX16)] = *srcCopy++; } } break; @@ -984,7 +984,7 @@ void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 { for (j = destX; j < (destX + rectWidth); j++) { - *(u8*)(sGpuBgConfigs2[bg].tilemap + ((var * i) + j)) = *(u8*)(srcPtr) + tileOffset; + *(u8 *)(sGpuBgConfigs2[bg].tilemap + ((var * i) + j)) = *(u8 *)(srcPtr) + tileOffset; srcPtr++; } srcPtr += (srcWidth - rectWidth); @@ -1009,7 +1009,7 @@ void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, { for (x16 = x; x16 < (x + width); x16++) { - ((u16*)sGpuBgConfigs2[bg].tilemap)[((y16 * 0x20) + x16)] = tileNum; + ((u16 *)sGpuBgConfigs2[bg].tilemap)[((y16 * 0x20) + x16)] = tileNum; } } break; @@ -1019,7 +1019,7 @@ void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, { for (x16 = x; x16 < (x + width); x16++) { - ((u8*)sGpuBgConfigs2[bg].tilemap)[((y16 * mode) + x16)] = tileNum; + ((u8 *)sGpuBgConfigs2[bg].tilemap)[((y16 * mode) + x16)] = tileNum; } } break; @@ -1052,7 +1052,7 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt { for (x16 = x; x16 < (x + width); x16++) { - CopyTileMapEntry(&firstTileNum, &((u16*)sGpuBgConfigs2[bg].tilemap)[(u16)GetTileMapIndexFromCoords(x16, y16, attribute, mode, mode2)], paletteSlot, 0, 0); + CopyTileMapEntry(&firstTileNum, &((u16 *)sGpuBgConfigs2[bg].tilemap)[(u16)GetTileMapIndexFromCoords(x16, y16, attribute, mode, mode2)], paletteSlot, 0, 0); firstTileNum = (firstTileNum & (MAPGRID_COLLISION_MASK | MAPGRID_ELEVATION_MASK)) + ((firstTileNum + tileNumDelta) & MAPGRID_METATILE_ID_MASK); } } @@ -1063,7 +1063,7 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt { for (x16 = x; x16 < (x + width); x16++) { - ((u8*)sGpuBgConfigs2[bg].tilemap)[(y16 * mode3) + x16] = firstTileNum; + ((u8 *)sGpuBgConfigs2[bg].tilemap)[(y16 * mode3) + x16] = firstTileNum; firstTileNum = (firstTileNum & (MAPGRID_COLLISION_MASK | MAPGRID_ELEVATION_MASK)) + ((firstTileNum + tileNumDelta) & MAPGRID_METATILE_ID_MASK); } } @@ -1240,7 +1240,7 @@ bool32 IsInvalidBg32(u8 bg) bool32 IsTileMapOutsideWram(u8 bg) { - if (sGpuBgConfigs2[bg].tilemap > (void*)IWRAM_END) + if (sGpuBgConfigs2[bg].tilemap > (void *)IWRAM_END) return TRUE; else if (sGpuBgConfigs2[bg].tilemap == NULL) return TRUE; diff --git a/gflib/bg.h b/gflib/bg.h index 02ff073694..9818339910 100644 --- a/gflib/bg.h +++ b/gflib/bg.h @@ -3,29 +3,29 @@ enum { - BG_ATTR_CHARBASEINDEX = 1, - BG_ATTR_MAPBASEINDEX, - BG_ATTR_SCREENSIZE, - BG_ATTR_PALETTEMODE, - BG_ATTR_MOSAIC, - BG_ATTR_WRAPAROUND, - BG_ATTR_PRIORITY, - BG_ATTR_METRIC, - BG_ATTR_TYPE, - BG_ATTR_BASETILE, + BG_ATTR_CHARBASEINDEX = 1, + BG_ATTR_MAPBASEINDEX, + BG_ATTR_SCREENSIZE, + BG_ATTR_PALETTEMODE, + BG_ATTR_MOSAIC, + BG_ATTR_WRAPAROUND, + BG_ATTR_PRIORITY, + BG_ATTR_METRIC, + BG_ATTR_TYPE, + BG_ATTR_BASETILE, }; enum { - BG_TYPE_NORMAL, - BG_TYPE_AFFINE, - BG_TYPE_NONE = 0xFFFF + BG_TYPE_NORMAL, + BG_TYPE_AFFINE, + BG_TYPE_NONE = 0xFFFF }; // Modes for ChangeBgX / ChangeBgY enum { - BG_COORD_SET, - BG_COORD_ADD, - BG_COORD_SUB, + BG_COORD_SET, + BG_COORD_ADD, + BG_COORD_SUB, }; // Modes for Unused_AdjustBgMosaic @@ -62,7 +62,7 @@ void ResetBgsAndClearDma3BusyFlags(u32 leftoverFireRedLeafGreenVariable); void InitBgsFromTemplates(u8 bgMode, const struct BgTemplate *templates, u8 numTemplates); void InitBgFromTemplate(const struct BgTemplate *template); void SetBgMode(u8 bgMode); -u16 LoadBgTiles(u8 bg, const void* src, u16 size, u16 destOffset); +u16 LoadBgTiles(u8 bg, const void *src, u16 size, u16 destOffset); u16 LoadBgTilemap(u8 bg, const void *src, u16 size, u16 destOffset); u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset); bool8 IsDma3ManagerBusyWithBgCopy(void); @@ -79,10 +79,10 @@ void SetBgAffine(u8 bg, s32 srcCenterX, s32 srcCenterY, s16 dispCenterX, s16 dis u8 Unused_AdjustBgMosaic(u8 val, u8 mode); void SetBgTilemapBuffer(u8 bg, void *tilemap); void UnsetBgTilemapBuffer(u8 bg); -void* GetBgTilemapBuffer(u8 bg); +void *GetBgTilemapBuffer(u8 bg); void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset); void CopyBgTilemapBufferToVram(u8 bg); -void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height); +void CopyToBgTilemapBufferRect(u8 bg, const void *src, u8 destX, u8 destY, u8 width, u8 height); void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette); void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, s16 tileOffset, s16 palette2); void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height); diff --git a/gflib/malloc.h b/gflib/malloc.h index 8d49e0be7d..851db83a62 100644 --- a/gflib/malloc.h +++ b/gflib/malloc.h @@ -2,13 +2,10 @@ #define GUARD_ALLOC_H #define HEAP_SIZE 0x1C000 -#define malloc Alloc -#define calloc(ct, sz) AllocZeroed((ct) * (sz)) -#define free Free #define FREE_AND_SET_NULL(ptr) \ { \ - free(ptr); \ + Free(ptr); \ ptr = NULL; \ } diff --git a/gflib/sprite.c b/gflib/sprite.c index e5bf890634..cbcd6fb7c0 100644 --- a/gflib/sprite.c +++ b/gflib/sprite.c @@ -94,7 +94,7 @@ static void ApplyAffineAnimFrame(u8 matrixNum, struct AffineAnimFrameCmd *frameC static u8 IndexOfSpriteTileTag(u16 tag); static void AllocSpriteTileRange(u16 tag, u16 start, u16 count); static void DoLoadSpritePalette(const u16 *src, u16 paletteOffset); -static void UpdateSpriteMatrixAnchorPos(struct Sprite*, s32, s32); +static void UpdateSpriteMatrixAnchorPos(struct Sprite *, s32, s32); typedef void (*AnimFunc)(struct Sprite *); typedef void (*AnimCmdFunc)(struct Sprite *); @@ -103,9 +103,9 @@ typedef void (*AffineAnimCmdFunc)(u8 matrixNum, struct Sprite *); #define DUMMY_OAM_DATA \ { \ .y = DISPLAY_HEIGHT, \ - .affineMode = 0, \ + .affineMode = ST_OAM_AFFINE_OFF, \ .objMode = 0, \ - .mosaic = 0, \ + .mosaic = FALSE, \ .bpp = 0, \ .shape = SPRITE_SHAPE(8x8), \ .x = DISPLAY_WIDTH + 64, \ @@ -1201,7 +1201,7 @@ u8 GetSpriteMatrixNum(struct Sprite *sprite) // Used to shift a sprite's position as it scales. // Only used by the minigame countdown, so that for instance the numbers don't slide up as they squish down before jumping. -void SetSpriteMatrixAnchor(struct Sprite* sprite, s16 x, s16 y) +void SetSpriteMatrixAnchor(struct Sprite *sprite, s16 x, s16 y) { sprite->sAnchorX = x; sprite->sAnchorY = y; diff --git a/gflib/sprite.h b/gflib/sprite.h index f7ef165328..86527bc4c0 100644 --- a/gflib/sprite.h +++ b/gflib/sprite.h @@ -282,7 +282,7 @@ void FreeSpritePalette(struct Sprite *sprite); void FreeSpriteOamMatrix(struct Sprite *sprite); void DestroySpriteAndFreeResources(struct Sprite *sprite); void AnimateSprite(struct Sprite *sprite); -void SetSpriteMatrixAnchor(struct Sprite* sprite, s16 x, s16 y); +void SetSpriteMatrixAnchor(struct Sprite *sprite, s16 x, s16 y); void StartSpriteAnim(struct Sprite *sprite, u8 animNum); void StartSpriteAnimIfDifferent(struct Sprite *sprite, u8 animNum); void SeekSpriteAnim(struct Sprite *sprite, u8 animCmdIndex); diff --git a/gflib/string_util.c b/gflib/string_util.c index bc6f976c71..4bf8d946db 100644 --- a/gflib/string_util.c +++ b/gflib/string_util.c @@ -387,7 +387,7 @@ u8 *StringBraille(u8 *dest, const u8 *src) const u8 setBrailleFont[] = { EXT_CTRL_CODE_BEGIN, EXT_CTRL_CODE_FONT, - 6, + FONT_BRAILLE, EOS }; const u8 gotoLine2[] = { diff --git a/gflib/text.c b/gflib/text.c index c400c05823..e7a7d5957b 100644 --- a/gflib/text.c +++ b/gflib/text.c @@ -73,7 +73,7 @@ static const u8 sDarkDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow_alt 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[] = { +static const u8 sWindowVerticalScrollSpeeds[] = { [OPTIONS_TEXT_SPEED_SLOW] = 1, [OPTIONS_TEXT_SPEED_MID] = 2, [OPTIONS_TEXT_SPEED_FAST] = 4, @@ -299,7 +299,7 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u8 speed, voi else { sTempTextPrinter.textSpeed = 0; - + // Render all text (up to limit) at once for (j = 0; j < 0x400; ++j) { @@ -652,7 +652,7 @@ void ClearTextSpan(struct TextPrinter *textPrinter, u32 width) struct Window *window; struct Bitmap pixels_data; struct TextGlyph *glyph; - u8* glyphHeight; + u8 *glyphHeight; if (sLastTextBgColor != TEXT_COLOR_TRANSPARENT) { @@ -1684,7 +1684,7 @@ u8 GetMenuCursorDimensionByFont(u8 fontId, u8 whichDimension) static void DecompressGlyph_Small(u16 glyphId, bool32 isJapanese) { - const u16* glyphs; + const u16 *glyphs; if (isJapanese == 1) { @@ -1726,7 +1726,7 @@ static u32 GetGlyphWidth_Small(u16 glyphId, bool32 isJapanese) static void DecompressGlyph_Narrow(u16 glyphId, bool32 isJapanese) { - const u16* glyphs; + const u16 *glyphs; if (isJapanese == TRUE) { @@ -1768,7 +1768,7 @@ static u32 GetGlyphWidth_Narrow(u16 glyphId, bool32 isJapanese) static void DecompressGlyph_SmallNarrow(u16 glyphId, bool32 isJapanese) { - const u16* glyphs; + const u16 *glyphs; if (isJapanese == TRUE) { @@ -1810,7 +1810,7 @@ static u32 GetGlyphWidth_SmallNarrow(u16 glyphId, bool32 isJapanese) static void DecompressGlyph_Short(u16 glyphId, bool32 isJapanese) { - const u16* glyphs; + const u16 *glyphs; if (isJapanese == TRUE) { @@ -1854,7 +1854,7 @@ static u32 GetGlyphWidth_Short(u16 glyphId, bool32 isJapanese) static void DecompressGlyph_Normal(u16 glyphId, bool32 isJapanese) { - const u16* glyphs; + const u16 *glyphs; if (isJapanese == TRUE) { @@ -1896,7 +1896,7 @@ static u32 GetGlyphWidth_Normal(u16 glyphId, bool32 isJapanese) static void DecompressGlyph_Bold(u16 glyphId) { - const u16* glyphs; + const u16 *glyphs; glyphs = sFontBoldJapaneseGlyphs + (0x100 * (glyphId >> 4)) + (0x8 * (glyphId & 0xF)); DecompressGlyphTile(glyphs, gCurGlyph.gfxBufferTop); diff --git a/gflib/text.h b/gflib/text.h index 2f660354fc..a88cb990e1 100644 --- a/gflib/text.h +++ b/gflib/text.h @@ -65,7 +65,7 @@ struct TextPrinterSubStruct struct TextPrinterTemplate { - const u8* currentChar; + const u8 *currentChar; u8 windowId; u8 fontId; u8 x; @@ -148,7 +148,6 @@ void RestoreTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor); void DecompressGlyphTile(const void *src_, void *dest_); void CopyGlyphToWindow(struct TextPrinter *x); void ClearTextSpan(struct TextPrinter *textPrinter, u32 width); -u8 GetMenuCursorDimensionByFont(u8, u8); void TextPrinterInitDownArrowCounters(struct TextPrinter *textPrinter); void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter); diff --git a/gflib/window.c b/gflib/window.c index 8ca1a4b628..ff9e8a6e01 100644 --- a/gflib/window.c +++ b/gflib/window.c @@ -35,7 +35,7 @@ bool16 InitWindows(const struct WindowTemplate *templates) int j; u8 bgLayer; u16 attrib; - u8* allocatedTilemapBuffer; + u8 *allocatedTilemapBuffer; int allocatedBaseBlock; for (i = 0; i < NUM_BACKGROUNDS; ++i) @@ -405,7 +405,7 @@ void BlitBitmapRectToWindow(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u struct Bitmap sourceRect; struct Bitmap destRect; - sourceRect.pixels = (u8*)pixels; + sourceRect.pixels = (u8 *)pixels; sourceRect.width = srcWidth; sourceRect.height = srcHeight; @@ -421,7 +421,7 @@ static void BlitBitmapRectToWindowWithColorKey(u8 windowId, const u8 *pixels, u1 struct Bitmap sourceRect; struct Bitmap destRect; - sourceRect.pixels = (u8*)pixels; + sourceRect.pixels = (u8 *)pixels; sourceRect.width = srcWidth; sourceRect.height = srcHeight; @@ -463,9 +463,9 @@ void FillWindowPixelBuffer(u8 windowId, u8 fillValue) destOffset = i + (a); \ srcOffset = i + (((width * (distanceLoop & ~7)) | (distanceLoop & 7)) * 4); \ if (srcOffset < size) \ - *(u32*)(tileData + destOffset) = *(u32*)(tileData + srcOffset); \ + *(u32 *)(tileData + destOffset) = *(u32 *)(tileData + srcOffset); \ else \ - *(u32*)(tileData + destOffset) = fillValue32; \ + *(u32 *)(tileData + destOffset) = fillValue32; \ distanceLoop++; \ } @@ -474,9 +474,9 @@ void FillWindowPixelBuffer(u8 windowId, u8 fillValue) destOffset = i + (a); \ srcOffset = i + (((width * (distanceLoop & ~7)) | (distanceLoop & 7)) * 4); \ if (srcOffset < size) \ - *(u32*)(tileData - destOffset) = *(u32*)(tileData - srcOffset); \ + *(u32 *)(tileData - destOffset) = *(u32 *)(tileData - srcOffset); \ else \ - *(u32*)(tileData - destOffset) = fillValue32; \ + *(u32 *)(tileData - destOffset) = fillValue32; \ distanceLoop++; \ } @@ -550,7 +550,7 @@ bool8 SetWindowAttribute(u8 windowId, u8 attributeId, u32 value) gWindows[windowId].window.baseBlock = value; return FALSE; case WINDOW_TILE_DATA: - gWindows[windowId].tileData = (u8*)(value); + gWindows[windowId].tileData = (u8 *)(value); return TRUE; case WINDOW_BG: case WINDOW_WIDTH: @@ -605,7 +605,7 @@ static void DummyWindowBgTilemap8Bit(void) u16 AddWindow8Bit(const struct WindowTemplate *template) { u16 windowId; - u8* memAddress; + u8 *memAddress; u8 bgLayer; for (windowId = 0; windowId < WINDOWS_MAX; windowId++) @@ -675,7 +675,7 @@ void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u struct Bitmap sourceRect; struct Bitmap destRect; - sourceRect.pixels = (u8*) pixels; + sourceRect.pixels = (u8 *) pixels; sourceRect.width = srcWidth; sourceRect.height = srcHeight; diff --git a/gflib/window.h b/gflib/window.h index 6cb98c8456..583e7e1673 100644 --- a/gflib/window.h +++ b/gflib/window.h @@ -73,7 +73,7 @@ void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u void CopyWindowToVram8Bit(u8 windowId, u8 mode); extern struct Window gWindows[]; -extern void* gWindowBgTilemapBuffers[]; +extern void *gWindowBgTilemapBuffers[]; extern u32 gUnusedWindowVar1; extern u32 gUnusedWindowVar2; extern u32 gUnusedWindowVar3; diff --git a/graphics/battle_frontier/arena_judgement_symbols.png b/graphics/battle_frontier/arena_judgment_symbols.png similarity index 100% rename from graphics/battle_frontier/arena_judgement_symbols.png rename to graphics/battle_frontier/arena_judgment_symbols.png diff --git a/graphics/battle_transitions/rayquaza.png b/graphics/battle_transitions/rayquaza.png index 5c3a914749..00df7d7415 100644 Binary files a/graphics/battle_transitions/rayquaza.png and b/graphics/battle_transitions/rayquaza.png differ diff --git a/graphics/battle_transitions/regis.png b/graphics/battle_transitions/regis.png index a083107374..4926b165b7 100644 Binary files a/graphics/battle_transitions/regis.png and b/graphics/battle_transitions/regis.png differ diff --git a/graphics/naming_screen/back_button.png b/graphics/naming_screen/back_button.png new file mode 100644 index 0000000000..bf7730024d Binary files /dev/null and b/graphics/naming_screen/back_button.png differ diff --git a/graphics/naming_screen/buttons.pal b/graphics/naming_screen/buttons.pal new file mode 100644 index 0000000000..fdf80bdb06 --- /dev/null +++ b/graphics/naming_screen/buttons.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 213 +255 255 255 +57 57 57 +139 139 131 +197 189 180 +230 222 213 +74 115 139 +123 172 197 +172 115 74 +213 156 115 +98 156 57 +148 189 106 +189 164 32 +230 222 90 +57 57 57 +57 57 57 diff --git a/graphics/naming_screen/cursor.pal b/graphics/naming_screen/cursor.pal new file mode 100644 index 0000000000..8950f9b34b --- /dev/null +++ b/graphics/naming_screen/cursor.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 213 +255 8 8 +222 57 74 +180 65 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 222 213 +0 0 0 +230 222 213 +0 0 0 diff --git a/graphics/naming_screen/cursor.png b/graphics/naming_screen/cursor.png index 3d92ef6f49..e0f5022bed 100644 Binary files a/graphics/naming_screen/cursor.png and b/graphics/naming_screen/cursor.png differ diff --git a/graphics/naming_screen/cursor_filled.png b/graphics/naming_screen/cursor_filled.png new file mode 100644 index 0000000000..efb5e11015 Binary files /dev/null and b/graphics/naming_screen/cursor_filled.png differ diff --git a/graphics/naming_screen/cursor_squished.png b/graphics/naming_screen/cursor_squished.png new file mode 100644 index 0000000000..5126fcccae Binary files /dev/null and b/graphics/naming_screen/cursor_squished.png differ diff --git a/graphics/naming_screen/input_arrow.png b/graphics/naming_screen/input_arrow.png index e07b9e5a80..0a50726733 100644 Binary files a/graphics/naming_screen/input_arrow.png and b/graphics/naming_screen/input_arrow.png differ diff --git a/graphics/naming_screen/menu.pal b/graphics/naming_screen/menu.pal index 0da3b93f2f..2f5c86a568 100644 --- a/graphics/naming_screen/menu.pal +++ b/graphics/naming_screen/menu.pal @@ -1,6 +1,6 @@ JASC-PAL 0100 -96 +16 106 156 213 255 255 255 115 115 115 @@ -17,83 +17,3 @@ JASC-PAL 230 222 90 238 230 139 246 238 197 -106 156 213 -255 255 255 -57 57 57 -115 115 115 -0 0 0 -0 0 0 -0 0 0 -0 0 255 -0 0 255 -0 0 255 -0 0 255 -74 115 139 -98 139 164 -123 172 197 -156 205 230 -180 222 246 -106 156 213 -255 255 255 -57 57 57 -115 115 115 -0 0 0 -0 0 0 -0 0 0 -0 0 255 -0 0 255 -0 0 255 -0 0 255 -172 115 74 -189 131 90 -213 156 115 -246 205 164 -255 230 197 -106 156 213 -255 255 255 -57 57 57 -115 115 115 -0 0 0 -0 0 0 -0 0 0 -0 0 255 -0 0 255 -0 0 255 -0 0 255 -98 156 57 -123 172 82 -148 189 106 -197 230 156 -213 238 189 -106 156 213 -255 255 255 -57 57 57 -139 139 131 -197 189 180 -230 222 213 -74 115 139 -123 172 197 -172 115 74 -213 156 115 -98 156 57 -148 189 106 -189 164 32 -230 222 90 -57 57 57 -57 57 57 -106 156 213 -255 8 8 -222 57 74 -180 65 82 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -230 222 213 -0 0 0 -230 222 213 -0 0 0 diff --git a/graphics/naming_screen/ok_button.png b/graphics/naming_screen/ok_button.png new file mode 100644 index 0000000000..3850f462a4 Binary files /dev/null and b/graphics/naming_screen/ok_button.png differ diff --git a/graphics/naming_screen/page_button.png b/graphics/naming_screen/page_button.png deleted file mode 100644 index e5a0048941..0000000000 Binary files a/graphics/naming_screen/page_button.png and /dev/null differ diff --git a/graphics/naming_screen/page_swap_button.png b/graphics/naming_screen/page_swap_button.png new file mode 100644 index 0000000000..2e5cabed0f Binary files /dev/null and b/graphics/naming_screen/page_swap_button.png differ diff --git a/graphics/naming_screen/page_swap_frame.png b/graphics/naming_screen/page_swap_frame.png new file mode 100644 index 0000000000..bc3ff122b2 Binary files /dev/null and b/graphics/naming_screen/page_swap_frame.png differ diff --git a/graphics/naming_screen/page_swap_lower.pal b/graphics/naming_screen/page_swap_lower.pal new file mode 100644 index 0000000000..0fac7e3752 --- /dev/null +++ b/graphics/naming_screen/page_swap_lower.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 213 +255 255 255 +57 57 57 +115 115 115 +0 0 0 +0 0 0 +0 0 0 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +172 115 74 +189 131 90 +213 156 115 +246 205 164 +255 230 197 diff --git a/graphics/naming_screen/page_swap_lower.png b/graphics/naming_screen/page_swap_lower.png new file mode 100644 index 0000000000..5747c6265d Binary files /dev/null and b/graphics/naming_screen/page_swap_lower.png differ diff --git a/graphics/naming_screen/page_swap_others.pal b/graphics/naming_screen/page_swap_others.pal new file mode 100644 index 0000000000..0bb9d4f719 --- /dev/null +++ b/graphics/naming_screen/page_swap_others.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 213 +255 255 255 +57 57 57 +115 115 115 +0 0 0 +0 0 0 +0 0 0 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +98 156 57 +123 172 82 +148 189 106 +197 230 156 +213 238 189 diff --git a/graphics/naming_screen/page_swap_others.png b/graphics/naming_screen/page_swap_others.png new file mode 100644 index 0000000000..1c878a7532 Binary files /dev/null and b/graphics/naming_screen/page_swap_others.png differ diff --git a/graphics/naming_screen/page_swap_upper.pal b/graphics/naming_screen/page_swap_upper.pal new file mode 100644 index 0000000000..af5c2d1a52 --- /dev/null +++ b/graphics/naming_screen/page_swap_upper.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 213 +255 255 255 +57 57 57 +115 115 115 +0 0 0 +0 0 0 +0 0 0 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +74 115 139 +98 139 164 +123 172 197 +156 205 230 +180 222 246 diff --git a/graphics/naming_screen/page_swap_upper.png b/graphics/naming_screen/page_swap_upper.png new file mode 100644 index 0000000000..922f0b93f5 Binary files /dev/null and b/graphics/naming_screen/page_swap_upper.png differ diff --git a/graphics/naming_screen/pc_icon/off.png b/graphics/naming_screen/pc_icon_off.png similarity index 100% rename from graphics/naming_screen/pc_icon/off.png rename to graphics/naming_screen/pc_icon_off.png diff --git a/graphics/naming_screen/pc_icon/on.png b/graphics/naming_screen/pc_icon_on.png similarity index 100% rename from graphics/naming_screen/pc_icon/on.png rename to graphics/naming_screen/pc_icon_on.png diff --git a/graphics/naming_screen/unused.pal b/graphics/naming_screen/rival.pal similarity index 100% rename from graphics/naming_screen/unused.pal rename to graphics/naming_screen/rival.pal diff --git a/graphics/naming_screen/roptions.png b/graphics/naming_screen/roptions.png deleted file mode 100644 index dfb7e01059..0000000000 Binary files a/graphics/naming_screen/roptions.png and /dev/null differ diff --git a/graphics/naming_screen/rwindow.png b/graphics/naming_screen/rwindow.png deleted file mode 100644 index 9571abb805..0000000000 Binary files a/graphics/naming_screen/rwindow.png and /dev/null differ diff --git a/graphics/naming_screen/underscore.png b/graphics/naming_screen/underscore.png index 409ca82ed6..58d78ce086 100644 Binary files a/graphics/naming_screen/underscore.png and b/graphics/naming_screen/underscore.png differ diff --git a/graphics/picture_frame/lobby.png b/graphics/picture_frame/lobby.png index 1b7da4a1a6..2f04105ff0 100644 Binary files a/graphics/picture_frame/lobby.png and b/graphics/picture_frame/lobby.png differ diff --git a/graphics/trainers/back_pics/brendan_back_pic.png b/graphics/trainers/back_pics/brendan.png similarity index 100% rename from graphics/trainers/back_pics/brendan_back_pic.png rename to graphics/trainers/back_pics/brendan.png diff --git a/graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.png b/graphics/trainers/back_pics/brendan_rs.png similarity index 100% rename from graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.png rename to graphics/trainers/back_pics/brendan_rs.png diff --git a/graphics/trainers/back_pics/leaf_back_pic.png b/graphics/trainers/back_pics/leaf.png similarity index 100% rename from graphics/trainers/back_pics/leaf_back_pic.png rename to graphics/trainers/back_pics/leaf.png diff --git a/graphics/trainers/back_pics/may_back_pic.png b/graphics/trainers/back_pics/may.png similarity index 100% rename from graphics/trainers/back_pics/may_back_pic.png rename to graphics/trainers/back_pics/may.png diff --git a/graphics/trainers/back_pics/ruby_sapphire_may_back_pic.png b/graphics/trainers/back_pics/may_rs.png similarity index 100% rename from graphics/trainers/back_pics/ruby_sapphire_may_back_pic.png rename to graphics/trainers/back_pics/may_rs.png diff --git a/graphics/trainers/back_pics/red_back_pic.png b/graphics/trainers/back_pics/red.png similarity index 100% rename from graphics/trainers/back_pics/red_back_pic.png rename to graphics/trainers/back_pics/red.png diff --git a/graphics/trainers/back_pics/steven_back_pic.png b/graphics/trainers/back_pics/steven.png similarity index 100% rename from graphics/trainers/back_pics/steven_back_pic.png rename to graphics/trainers/back_pics/steven.png diff --git a/graphics/trainers/back_pics/wally_back_pic.png b/graphics/trainers/back_pics/wally.png similarity index 100% rename from graphics/trainers/back_pics/wally_back_pic.png rename to graphics/trainers/back_pics/wally.png diff --git a/graphics/trainers/front_pics/aqua_admin_f_front_pic.png b/graphics/trainers/front_pics/aqua_admin_f.png similarity index 100% rename from graphics/trainers/front_pics/aqua_admin_f_front_pic.png rename to graphics/trainers/front_pics/aqua_admin_f.png diff --git a/graphics/trainers/front_pics/aqua_admin_m_front_pic.png b/graphics/trainers/front_pics/aqua_admin_m.png similarity index 100% rename from graphics/trainers/front_pics/aqua_admin_m_front_pic.png rename to graphics/trainers/front_pics/aqua_admin_m.png diff --git a/graphics/trainers/front_pics/aqua_grunt_f_front_pic.png b/graphics/trainers/front_pics/aqua_grunt_f.png similarity index 100% rename from graphics/trainers/front_pics/aqua_grunt_f_front_pic.png rename to graphics/trainers/front_pics/aqua_grunt_f.png diff --git a/graphics/trainers/front_pics/aqua_grunt_m_front_pic.png b/graphics/trainers/front_pics/aqua_grunt_m.png similarity index 100% rename from graphics/trainers/front_pics/aqua_grunt_m_front_pic.png rename to graphics/trainers/front_pics/aqua_grunt_m.png diff --git a/graphics/trainers/front_pics/aqua_leader_archie_front_pic.png b/graphics/trainers/front_pics/aqua_leader_archie.png similarity index 100% rename from graphics/trainers/front_pics/aqua_leader_archie_front_pic.png rename to graphics/trainers/front_pics/aqua_leader_archie.png diff --git a/graphics/trainers/front_pics/arena_tycoon_greta_front_pic.png b/graphics/trainers/front_pics/arena_tycoon_greta.png similarity index 100% rename from graphics/trainers/front_pics/arena_tycoon_greta_front_pic.png rename to graphics/trainers/front_pics/arena_tycoon_greta.png diff --git a/graphics/trainers/front_pics/aroma_lady_front_pic.png b/graphics/trainers/front_pics/aroma_lady.png similarity index 100% rename from graphics/trainers/front_pics/aroma_lady_front_pic.png rename to graphics/trainers/front_pics/aroma_lady.png diff --git a/graphics/trainers/front_pics/battle_girl_front_pic.png b/graphics/trainers/front_pics/battle_girl.png similarity index 100% rename from graphics/trainers/front_pics/battle_girl_front_pic.png rename to graphics/trainers/front_pics/battle_girl.png diff --git a/graphics/trainers/front_pics/beauty_front_pic.png b/graphics/trainers/front_pics/beauty.png similarity index 100% rename from graphics/trainers/front_pics/beauty_front_pic.png rename to graphics/trainers/front_pics/beauty.png diff --git a/graphics/trainers/front_pics/bird_keeper_front_pic.png b/graphics/trainers/front_pics/bird_keeper.png similarity index 100% rename from graphics/trainers/front_pics/bird_keeper_front_pic.png rename to graphics/trainers/front_pics/bird_keeper.png diff --git a/graphics/trainers/front_pics/black_belt_front_pic.png b/graphics/trainers/front_pics/black_belt.png similarity index 100% rename from graphics/trainers/front_pics/black_belt_front_pic.png rename to graphics/trainers/front_pics/black_belt.png diff --git a/graphics/trainers/front_pics/brendan_front_pic.png b/graphics/trainers/front_pics/brendan.png similarity index 100% rename from graphics/trainers/front_pics/brendan_front_pic.png rename to graphics/trainers/front_pics/brendan.png diff --git a/graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.png b/graphics/trainers/front_pics/brendan_rs.png similarity index 100% rename from graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.png rename to graphics/trainers/front_pics/brendan_rs.png diff --git a/graphics/trainers/front_pics/bug_catcher_front_pic.png b/graphics/trainers/front_pics/bug_catcher.png similarity index 100% rename from graphics/trainers/front_pics/bug_catcher_front_pic.png rename to graphics/trainers/front_pics/bug_catcher.png diff --git a/graphics/trainers/front_pics/bug_maniac_front_pic.png b/graphics/trainers/front_pics/bug_maniac.png similarity index 100% rename from graphics/trainers/front_pics/bug_maniac_front_pic.png rename to graphics/trainers/front_pics/bug_maniac.png diff --git a/graphics/trainers/front_pics/camper_front_pic.png b/graphics/trainers/front_pics/camper.png similarity index 100% rename from graphics/trainers/front_pics/camper_front_pic.png rename to graphics/trainers/front_pics/camper.png diff --git a/graphics/trainers/front_pics/champion_wallace_front_pic.png b/graphics/trainers/front_pics/champion_wallace.png similarity index 100% rename from graphics/trainers/front_pics/champion_wallace_front_pic.png rename to graphics/trainers/front_pics/champion_wallace.png diff --git a/graphics/trainers/front_pics/collector_front_pic.png b/graphics/trainers/front_pics/collector.png similarity index 100% rename from graphics/trainers/front_pics/collector_front_pic.png rename to graphics/trainers/front_pics/collector.png diff --git a/graphics/trainers/front_pics/cooltrainer_f_front_pic.png b/graphics/trainers/front_pics/cooltrainer_f.png similarity index 100% rename from graphics/trainers/front_pics/cooltrainer_f_front_pic.png rename to graphics/trainers/front_pics/cooltrainer_f.png diff --git a/graphics/trainers/front_pics/cooltrainer_m_front_pic.png b/graphics/trainers/front_pics/cooltrainer_m.png similarity index 100% rename from graphics/trainers/front_pics/cooltrainer_m_front_pic.png rename to graphics/trainers/front_pics/cooltrainer_m.png diff --git a/graphics/trainers/front_pics/cycling_triathlete_f_front_pic.png b/graphics/trainers/front_pics/cycling_triathlete_f.png similarity index 100% rename from graphics/trainers/front_pics/cycling_triathlete_f_front_pic.png rename to graphics/trainers/front_pics/cycling_triathlete_f.png diff --git a/graphics/trainers/front_pics/cycling_triathlete_m_front_pic.png b/graphics/trainers/front_pics/cycling_triathlete_m.png similarity index 100% rename from graphics/trainers/front_pics/cycling_triathlete_m_front_pic.png rename to graphics/trainers/front_pics/cycling_triathlete_m.png diff --git a/graphics/trainers/front_pics/dome_ace_tucker_front_pic.png b/graphics/trainers/front_pics/dome_ace_tucker.png similarity index 100% rename from graphics/trainers/front_pics/dome_ace_tucker_front_pic.png rename to graphics/trainers/front_pics/dome_ace_tucker.png diff --git a/graphics/trainers/front_pics/dragon_tamer_front_pic.png b/graphics/trainers/front_pics/dragon_tamer.png similarity index 100% rename from graphics/trainers/front_pics/dragon_tamer_front_pic.png rename to graphics/trainers/front_pics/dragon_tamer.png diff --git a/graphics/trainers/front_pics/elite_four_drake_front_pic.png b/graphics/trainers/front_pics/elite_four_drake.png similarity index 100% rename from graphics/trainers/front_pics/elite_four_drake_front_pic.png rename to graphics/trainers/front_pics/elite_four_drake.png diff --git a/graphics/trainers/front_pics/elite_four_glacia_front_pic.png b/graphics/trainers/front_pics/elite_four_glacia.png similarity index 100% rename from graphics/trainers/front_pics/elite_four_glacia_front_pic.png rename to graphics/trainers/front_pics/elite_four_glacia.png diff --git a/graphics/trainers/front_pics/elite_four_phoebe_front_pic.png b/graphics/trainers/front_pics/elite_four_phoebe.png similarity index 100% rename from graphics/trainers/front_pics/elite_four_phoebe_front_pic.png rename to graphics/trainers/front_pics/elite_four_phoebe.png diff --git a/graphics/trainers/front_pics/elite_four_sidney_front_pic.png b/graphics/trainers/front_pics/elite_four_sidney.png similarity index 100% rename from graphics/trainers/front_pics/elite_four_sidney_front_pic.png rename to graphics/trainers/front_pics/elite_four_sidney.png diff --git a/graphics/trainers/front_pics/expert_f_front_pic.png b/graphics/trainers/front_pics/expert_f.png similarity index 100% rename from graphics/trainers/front_pics/expert_f_front_pic.png rename to graphics/trainers/front_pics/expert_f.png diff --git a/graphics/trainers/front_pics/expert_m_front_pic.png b/graphics/trainers/front_pics/expert_m.png similarity index 100% rename from graphics/trainers/front_pics/expert_m_front_pic.png rename to graphics/trainers/front_pics/expert_m.png diff --git a/graphics/trainers/front_pics/factory_head_noland_front_pic.png b/graphics/trainers/front_pics/factory_head_noland.png similarity index 100% rename from graphics/trainers/front_pics/factory_head_noland_front_pic.png rename to graphics/trainers/front_pics/factory_head_noland.png diff --git a/graphics/trainers/front_pics/fisherman_front_pic.png b/graphics/trainers/front_pics/fisherman.png similarity index 100% rename from graphics/trainers/front_pics/fisherman_front_pic.png rename to graphics/trainers/front_pics/fisherman.png diff --git a/graphics/trainers/front_pics/gentleman_front_pic.png b/graphics/trainers/front_pics/gentleman.png similarity index 100% rename from graphics/trainers/front_pics/gentleman_front_pic.png rename to graphics/trainers/front_pics/gentleman.png diff --git a/graphics/trainers/front_pics/guitarist_front_pic.png b/graphics/trainers/front_pics/guitarist.png similarity index 100% rename from graphics/trainers/front_pics/guitarist_front_pic.png rename to graphics/trainers/front_pics/guitarist.png diff --git a/graphics/trainers/front_pics/hex_maniac_front_pic.png b/graphics/trainers/front_pics/hex_maniac.png similarity index 100% rename from graphics/trainers/front_pics/hex_maniac_front_pic.png rename to graphics/trainers/front_pics/hex_maniac.png diff --git a/graphics/trainers/front_pics/hiker_front_pic.png b/graphics/trainers/front_pics/hiker.png similarity index 100% rename from graphics/trainers/front_pics/hiker_front_pic.png rename to graphics/trainers/front_pics/hiker.png diff --git a/graphics/trainers/front_pics/interviewer_front_pic.png b/graphics/trainers/front_pics/interviewer.png similarity index 100% rename from graphics/trainers/front_pics/interviewer_front_pic.png rename to graphics/trainers/front_pics/interviewer.png diff --git a/graphics/trainers/front_pics/kindler_front_pic.png b/graphics/trainers/front_pics/kindler.png similarity index 100% rename from graphics/trainers/front_pics/kindler_front_pic.png rename to graphics/trainers/front_pics/kindler.png diff --git a/graphics/trainers/front_pics/lady_front_pic.png b/graphics/trainers/front_pics/lady.png similarity index 100% rename from graphics/trainers/front_pics/lady_front_pic.png rename to graphics/trainers/front_pics/lady.png diff --git a/graphics/trainers/front_pics/lass_front_pic.png b/graphics/trainers/front_pics/lass.png similarity index 100% rename from graphics/trainers/front_pics/lass_front_pic.png rename to graphics/trainers/front_pics/lass.png diff --git a/graphics/trainers/front_pics/leader_brawly_front_pic.png b/graphics/trainers/front_pics/leader_brawly.png similarity index 100% rename from graphics/trainers/front_pics/leader_brawly_front_pic.png rename to graphics/trainers/front_pics/leader_brawly.png diff --git a/graphics/trainers/front_pics/leader_flannery_front_pic.png b/graphics/trainers/front_pics/leader_flannery.png similarity index 100% rename from graphics/trainers/front_pics/leader_flannery_front_pic.png rename to graphics/trainers/front_pics/leader_flannery.png diff --git a/graphics/trainers/front_pics/leader_juan_front_pic.png b/graphics/trainers/front_pics/leader_juan.png similarity index 100% rename from graphics/trainers/front_pics/leader_juan_front_pic.png rename to graphics/trainers/front_pics/leader_juan.png diff --git a/graphics/trainers/front_pics/leader_norman_front_pic.png b/graphics/trainers/front_pics/leader_norman.png similarity index 100% rename from graphics/trainers/front_pics/leader_norman_front_pic.png rename to graphics/trainers/front_pics/leader_norman.png diff --git a/graphics/trainers/front_pics/leader_roxanne_front_pic.png b/graphics/trainers/front_pics/leader_roxanne.png similarity index 100% rename from graphics/trainers/front_pics/leader_roxanne_front_pic.png rename to graphics/trainers/front_pics/leader_roxanne.png diff --git a/graphics/trainers/front_pics/leader_tate_and_liza_front_pic.png b/graphics/trainers/front_pics/leader_tate_and_liza.png similarity index 100% rename from graphics/trainers/front_pics/leader_tate_and_liza_front_pic.png rename to graphics/trainers/front_pics/leader_tate_and_liza.png diff --git a/graphics/trainers/front_pics/leader_wattson_front_pic.png b/graphics/trainers/front_pics/leader_wattson.png similarity index 100% rename from graphics/trainers/front_pics/leader_wattson_front_pic.png rename to graphics/trainers/front_pics/leader_wattson.png diff --git a/graphics/trainers/front_pics/leader_winona_front_pic.png b/graphics/trainers/front_pics/leader_winona.png similarity index 100% rename from graphics/trainers/front_pics/leader_winona_front_pic.png rename to graphics/trainers/front_pics/leader_winona.png diff --git a/graphics/trainers/front_pics/leaf_front_pic.png b/graphics/trainers/front_pics/leaf.png similarity index 100% rename from graphics/trainers/front_pics/leaf_front_pic.png rename to graphics/trainers/front_pics/leaf.png diff --git a/graphics/trainers/front_pics/magma_admin_front_pic.png b/graphics/trainers/front_pics/magma_admin.png similarity index 100% rename from graphics/trainers/front_pics/magma_admin_front_pic.png rename to graphics/trainers/front_pics/magma_admin.png diff --git a/graphics/trainers/front_pics/magma_grunt_f_front_pic.png b/graphics/trainers/front_pics/magma_grunt_f.png similarity index 100% rename from graphics/trainers/front_pics/magma_grunt_f_front_pic.png rename to graphics/trainers/front_pics/magma_grunt_f.png diff --git a/graphics/trainers/front_pics/magma_grunt_m_front_pic.png b/graphics/trainers/front_pics/magma_grunt_m.png similarity index 100% rename from graphics/trainers/front_pics/magma_grunt_m_front_pic.png rename to graphics/trainers/front_pics/magma_grunt_m.png diff --git a/graphics/trainers/front_pics/magma_leader_maxie_front_pic.png b/graphics/trainers/front_pics/magma_leader_maxie.png similarity index 100% rename from graphics/trainers/front_pics/magma_leader_maxie_front_pic.png rename to graphics/trainers/front_pics/magma_leader_maxie.png diff --git a/graphics/trainers/front_pics/may_front_pic.png b/graphics/trainers/front_pics/may.png similarity index 100% rename from graphics/trainers/front_pics/may_front_pic.png rename to graphics/trainers/front_pics/may.png diff --git a/graphics/trainers/front_pics/ruby_sapphire_may_front_pic.png b/graphics/trainers/front_pics/may_rs.png similarity index 100% rename from graphics/trainers/front_pics/ruby_sapphire_may_front_pic.png rename to graphics/trainers/front_pics/may_rs.png diff --git a/graphics/trainers/front_pics/ninja_boy_front_pic.png b/graphics/trainers/front_pics/ninja_boy.png similarity index 100% rename from graphics/trainers/front_pics/ninja_boy_front_pic.png rename to graphics/trainers/front_pics/ninja_boy.png diff --git a/graphics/trainers/front_pics/old_couple_front_pic.png b/graphics/trainers/front_pics/old_couple.png similarity index 100% rename from graphics/trainers/front_pics/old_couple_front_pic.png rename to graphics/trainers/front_pics/old_couple.png diff --git a/graphics/trainers/front_pics/palace_maven_spenser_front_pic.png b/graphics/trainers/front_pics/palace_maven_spenser.png similarity index 100% rename from graphics/trainers/front_pics/palace_maven_spenser_front_pic.png rename to graphics/trainers/front_pics/palace_maven_spenser.png diff --git a/graphics/trainers/front_pics/parasol_lady_front_pic.png b/graphics/trainers/front_pics/parasol_lady.png similarity index 100% rename from graphics/trainers/front_pics/parasol_lady_front_pic.png rename to graphics/trainers/front_pics/parasol_lady.png diff --git a/graphics/trainers/front_pics/picnicker_front_pic.png b/graphics/trainers/front_pics/picnicker.png similarity index 100% rename from graphics/trainers/front_pics/picnicker_front_pic.png rename to graphics/trainers/front_pics/picnicker.png diff --git a/graphics/trainers/front_pics/pike_queen_lucy_front_pic.png b/graphics/trainers/front_pics/pike_queen_lucy.png similarity index 100% rename from graphics/trainers/front_pics/pike_queen_lucy_front_pic.png rename to graphics/trainers/front_pics/pike_queen_lucy.png diff --git a/graphics/trainers/front_pics/pokefan_f_front_pic.png b/graphics/trainers/front_pics/pokefan_f.png similarity index 100% rename from graphics/trainers/front_pics/pokefan_f_front_pic.png rename to graphics/trainers/front_pics/pokefan_f.png diff --git a/graphics/trainers/front_pics/pokefan_m_front_pic.png b/graphics/trainers/front_pics/pokefan_m.png similarity index 100% rename from graphics/trainers/front_pics/pokefan_m_front_pic.png rename to graphics/trainers/front_pics/pokefan_m.png diff --git a/graphics/trainers/front_pics/pokemaniac_front_pic.png b/graphics/trainers/front_pics/pokemaniac.png similarity index 100% rename from graphics/trainers/front_pics/pokemaniac_front_pic.png rename to graphics/trainers/front_pics/pokemaniac.png diff --git a/graphics/trainers/front_pics/pokemon_breeder_f_front_pic.png b/graphics/trainers/front_pics/pokemon_breeder_f.png similarity index 100% rename from graphics/trainers/front_pics/pokemon_breeder_f_front_pic.png rename to graphics/trainers/front_pics/pokemon_breeder_f.png diff --git a/graphics/trainers/front_pics/pokemon_breeder_m_front_pic.png b/graphics/trainers/front_pics/pokemon_breeder_m.png similarity index 100% rename from graphics/trainers/front_pics/pokemon_breeder_m_front_pic.png rename to graphics/trainers/front_pics/pokemon_breeder_m.png diff --git a/graphics/trainers/front_pics/pokemon_ranger_f_front_pic.png b/graphics/trainers/front_pics/pokemon_ranger_f.png similarity index 100% rename from graphics/trainers/front_pics/pokemon_ranger_f_front_pic.png rename to graphics/trainers/front_pics/pokemon_ranger_f.png diff --git a/graphics/trainers/front_pics/pokemon_ranger_m_front_pic.png b/graphics/trainers/front_pics/pokemon_ranger_m.png similarity index 100% rename from graphics/trainers/front_pics/pokemon_ranger_m_front_pic.png rename to graphics/trainers/front_pics/pokemon_ranger_m.png diff --git a/graphics/trainers/front_pics/psychic_f_front_pic.png b/graphics/trainers/front_pics/psychic_f.png similarity index 100% rename from graphics/trainers/front_pics/psychic_f_front_pic.png rename to graphics/trainers/front_pics/psychic_f.png diff --git a/graphics/trainers/front_pics/psychic_m_front_pic.png b/graphics/trainers/front_pics/psychic_m.png similarity index 100% rename from graphics/trainers/front_pics/psychic_m_front_pic.png rename to graphics/trainers/front_pics/psychic_m.png diff --git a/graphics/trainers/front_pics/pyramid_king_brandon_front_pic.png b/graphics/trainers/front_pics/pyramid_king_brandon.png similarity index 100% rename from graphics/trainers/front_pics/pyramid_king_brandon_front_pic.png rename to graphics/trainers/front_pics/pyramid_king_brandon.png diff --git a/graphics/trainers/front_pics/red_front_pic.png b/graphics/trainers/front_pics/red.png similarity index 100% rename from graphics/trainers/front_pics/red_front_pic.png rename to graphics/trainers/front_pics/red.png diff --git a/graphics/trainers/front_pics/rich_boy_front_pic.png b/graphics/trainers/front_pics/rich_boy.png similarity index 100% rename from graphics/trainers/front_pics/rich_boy_front_pic.png rename to graphics/trainers/front_pics/rich_boy.png diff --git a/graphics/trainers/front_pics/ruin_maniac_front_pic.png b/graphics/trainers/front_pics/ruin_maniac.png similarity index 100% rename from graphics/trainers/front_pics/ruin_maniac_front_pic.png rename to graphics/trainers/front_pics/ruin_maniac.png diff --git a/graphics/trainers/front_pics/running_triathlete_f_front_pic.png b/graphics/trainers/front_pics/running_triathlete_f.png similarity index 100% rename from graphics/trainers/front_pics/running_triathlete_f_front_pic.png rename to graphics/trainers/front_pics/running_triathlete_f.png diff --git a/graphics/trainers/front_pics/running_triathlete_m_front_pic.png b/graphics/trainers/front_pics/running_triathlete_m.png similarity index 100% rename from graphics/trainers/front_pics/running_triathlete_m_front_pic.png rename to graphics/trainers/front_pics/running_triathlete_m.png diff --git a/graphics/trainers/front_pics/sailor_front_pic.png b/graphics/trainers/front_pics/sailor.png similarity index 100% rename from graphics/trainers/front_pics/sailor_front_pic.png rename to graphics/trainers/front_pics/sailor.png diff --git a/graphics/trainers/front_pics/salon_maiden_anabel_front_pic.png b/graphics/trainers/front_pics/salon_maiden_anabel.png similarity index 100% rename from graphics/trainers/front_pics/salon_maiden_anabel_front_pic.png rename to graphics/trainers/front_pics/salon_maiden_anabel.png diff --git a/graphics/trainers/front_pics/school_kid_f_front_pic.png b/graphics/trainers/front_pics/school_kid_f.png similarity index 100% rename from graphics/trainers/front_pics/school_kid_f_front_pic.png rename to graphics/trainers/front_pics/school_kid_f.png diff --git a/graphics/trainers/front_pics/school_kid_m_front_pic.png b/graphics/trainers/front_pics/school_kid_m.png similarity index 100% rename from graphics/trainers/front_pics/school_kid_m_front_pic.png rename to graphics/trainers/front_pics/school_kid_m.png diff --git a/graphics/trainers/front_pics/sis_and_bro_front_pic.png b/graphics/trainers/front_pics/sis_and_bro.png similarity index 100% rename from graphics/trainers/front_pics/sis_and_bro_front_pic.png rename to graphics/trainers/front_pics/sis_and_bro.png diff --git a/graphics/trainers/front_pics/sr_and_jr_front_pic.png b/graphics/trainers/front_pics/sr_and_jr.png similarity index 100% rename from graphics/trainers/front_pics/sr_and_jr_front_pic.png rename to graphics/trainers/front_pics/sr_and_jr.png diff --git a/graphics/trainers/front_pics/steven_front_pic.png b/graphics/trainers/front_pics/steven.png similarity index 100% rename from graphics/trainers/front_pics/steven_front_pic.png rename to graphics/trainers/front_pics/steven.png diff --git a/graphics/trainers/front_pics/swimmer_f_front_pic.png b/graphics/trainers/front_pics/swimmer_f.png similarity index 100% rename from graphics/trainers/front_pics/swimmer_f_front_pic.png rename to graphics/trainers/front_pics/swimmer_f.png diff --git a/graphics/trainers/front_pics/swimmer_m_front_pic.png b/graphics/trainers/front_pics/swimmer_m.png similarity index 100% rename from graphics/trainers/front_pics/swimmer_m_front_pic.png rename to graphics/trainers/front_pics/swimmer_m.png diff --git a/graphics/trainers/front_pics/swimming_triathlete_f_front_pic.png b/graphics/trainers/front_pics/swimming_triathlete_f.png similarity index 100% rename from graphics/trainers/front_pics/swimming_triathlete_f_front_pic.png rename to graphics/trainers/front_pics/swimming_triathlete_f.png diff --git a/graphics/trainers/front_pics/swimming_triathlete_m_front_pic.png b/graphics/trainers/front_pics/swimming_triathlete_m.png similarity index 100% rename from graphics/trainers/front_pics/swimming_triathlete_m_front_pic.png rename to graphics/trainers/front_pics/swimming_triathlete_m.png diff --git a/graphics/trainers/front_pics/tuber_f_front_pic.png b/graphics/trainers/front_pics/tuber_f.png similarity index 100% rename from graphics/trainers/front_pics/tuber_f_front_pic.png rename to graphics/trainers/front_pics/tuber_f.png diff --git a/graphics/trainers/front_pics/tuber_m_front_pic.png b/graphics/trainers/front_pics/tuber_m.png similarity index 100% rename from graphics/trainers/front_pics/tuber_m_front_pic.png rename to graphics/trainers/front_pics/tuber_m.png diff --git a/graphics/trainers/front_pics/twins_front_pic.png b/graphics/trainers/front_pics/twins.png similarity index 100% rename from graphics/trainers/front_pics/twins_front_pic.png rename to graphics/trainers/front_pics/twins.png diff --git a/graphics/trainers/front_pics/wally_front_pic.png b/graphics/trainers/front_pics/wally.png similarity index 100% rename from graphics/trainers/front_pics/wally_front_pic.png rename to graphics/trainers/front_pics/wally.png diff --git a/graphics/trainers/front_pics/young_couple_front_pic.png b/graphics/trainers/front_pics/young_couple.png similarity index 100% rename from graphics/trainers/front_pics/young_couple_front_pic.png rename to graphics/trainers/front_pics/young_couple.png diff --git a/graphics/trainers/front_pics/youngster_front_pic.png b/graphics/trainers/front_pics/youngster.png similarity index 100% rename from graphics/trainers/front_pics/youngster_front_pic.png rename to graphics/trainers/front_pics/youngster.png diff --git a/graphics/trainers/palettes/aqua_admin_f.pal b/graphics/trainers/palettes/aqua_admin_f.pal deleted file mode 100644 index 4bad687705..0000000000 --- a/graphics/trainers/palettes/aqua_admin_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 131 41 -189 156 90 -238 98 41 -180 65 41 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aqua_admin_m.pal b/graphics/trainers/palettes/aqua_admin_m.pal deleted file mode 100644 index 2a7a46d462..0000000000 --- a/graphics/trainers/palettes/aqua_admin_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 131 41 -189 156 90 -222 82 24 -164 49 24 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aqua_grunt_f.pal b/graphics/trainers/palettes/aqua_grunt_f.pal deleted file mode 100644 index 4563eba48e..0000000000 --- a/graphics/trainers/palettes/aqua_grunt_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -164 74 65 -189 156 90 -255 106 98 -205 82 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aqua_grunt_m.pal b/graphics/trainers/palettes/aqua_grunt_m.pal deleted file mode 100644 index c2b28ead91..0000000000 --- a/graphics/trainers/palettes/aqua_grunt_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 164 197 -189 156 90 -255 115 148 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aqua_leader_archie.pal b/graphics/trainers/palettes/aqua_leader_archie.pal deleted file mode 100644 index a778ea6bb6..0000000000 --- a/graphics/trainers/palettes/aqua_leader_archie.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -131 156 180 -106 123 148 -82 90 115 -57 65 98 -213 213 222 -82 90 156 -24 32 49 -148 156 222 -106 115 213 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/arena_tycoon_greta.pal b/graphics/trainers/palettes/arena_tycoon_greta.pal deleted file mode 100644 index 60c45e8e99..0000000000 --- a/graphics/trainers/palettes/arena_tycoon_greta.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -255 230 106 -213 189 90 -213 222 230 -65 82 123 -189 156 90 -255 115 148 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aroma_lady.pal b/graphics/trainers/palettes/aroma_lady.pal deleted file mode 100644 index eb9f3dfd43..0000000000 --- a/graphics/trainers/palettes/aroma_lady.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 213 172 -238 197 148 -205 156 115 -115 82 65 -238 230 255 -205 197 213 -156 164 205 -106 98 148 -74 222 148 -172 115 41 -115 65 24 -238 90 131 -189 65 90 -106 255 156 -0 0 0 diff --git a/graphics/trainers/palettes/battle_girl.pal b/graphics/trainers/palettes/battle_girl.pal deleted file mode 100644 index 7f172b169a..0000000000 --- a/graphics/trainers/palettes/battle_girl.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -255 164 82 -230 106 0 -197 65 65 -156 106 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/beauty.pal b/graphics/trainers/palettes/beauty.pal deleted file mode 100644 index ab549df20e..0000000000 --- a/graphics/trainers/palettes/beauty.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 172 131 -205 131 115 -123 82 74 -148 131 139 -255 205 106 -213 172 74 -164 123 82 -115 90 115 -74 49 74 -255 82 57 -180 82 74 -131 74 65 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/bird_keeper.pal b/graphics/trainers/palettes/bird_keeper.pal deleted file mode 100644 index 87194c84a1..0000000000 --- a/graphics/trainers/palettes/bird_keeper.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 180 197 -131 139 156 -90 98 115 -57 65 82 -213 213 222 -131 16 41 -24 32 49 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/black_belt.pal b/graphics/trainers/palettes/black_belt.pal deleted file mode 100644 index 869e5d8df4..0000000000 --- a/graphics/trainers/palettes/black_belt.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 189 -222 172 148 -172 131 106 -90 65 49 -148 131 123 -106 90 82 -82 90 115 -49 57 82 -205 189 189 -189 164 164 -156 139 139 -255 98 90 -197 65 65 -246 230 230 -0 0 0 diff --git a/graphics/trainers/palettes/ruby_sapphire_brendan.pal b/graphics/trainers/palettes/brendan_rs.pal similarity index 100% rename from graphics/trainers/palettes/ruby_sapphire_brendan.pal rename to graphics/trainers/palettes/brendan_rs.pal diff --git a/graphics/trainers/palettes/bug_catcher.pal b/graphics/trainers/palettes/bug_catcher.pal deleted file mode 100644 index c68f566902..0000000000 --- a/graphics/trainers/palettes/bug_catcher.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -222 222 164 -197 197 139 -156 139 74 -41 57 98 -197 197 238 -246 238 213 -189 49 57 -98 164 222 -49 123 156 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/bug_maniac.pal b/graphics/trainers/palettes/bug_maniac.pal deleted file mode 100644 index 2aa3291792..0000000000 --- a/graphics/trainers/palettes/bug_maniac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -49 123 156 -49 65 131 -65 74 74 -222 222 164 -197 197 139 -205 213 213 -156 139 74 -98 164 222 -106 115 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/camper.pal b/graphics/trainers/palettes/camper.pal deleted file mode 100644 index e5c224fd27..0000000000 --- a/graphics/trainers/palettes/camper.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -230 189 156 -205 156 115 -115 82 65 -131 213 205 -82 164 148 -180 189 222 -57 90 74 -24 49 90 -98 115 230 -57 82 131 -255 98 41 -189 74 41 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/champion_wallace.pal b/graphics/trainers/palettes/champion_wallace.pal deleted file mode 100644 index eaaed070f6..0000000000 --- a/graphics/trainers/palettes/champion_wallace.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 180 148 -189 139 106 -98 57 65 -189 131 255 -148 106 172 -115 131 255 -82 106 180 -197 197 213 -57 74 115 -139 139 164 -57 41 57 -98 57 98 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/collector.pal b/graphics/trainers/palettes/collector.pal deleted file mode 100644 index d4d9221e2a..0000000000 --- a/graphics/trainers/palettes/collector.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -197 139 115 -123 90 82 -106 139 189 -65 98 148 -32 74 123 -255 98 90 -197 65 65 -213 222 230 -131 74 65 -115 123 131 -164 172 180 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/cooltrainer_f.pal b/graphics/trainers/palettes/cooltrainer_f.pal deleted file mode 100644 index 292d0fc781..0000000000 --- a/graphics/trainers/palettes/cooltrainer_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -238 197 156 -205 156 115 -115 82 65 -238 156 115 -205 90 74 -0 189 222 -123 41 24 -180 230 139 -139 180 57 -74 90 32 -255 246 189 -213 205 131 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/cooltrainer_m.pal b/graphics/trainers/palettes/cooltrainer_m.pal deleted file mode 100644 index 52a32e925d..0000000000 --- a/graphics/trainers/palettes/cooltrainer_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -238 156 115 -230 98 82 -180 90 74 -131 49 32 -57 90 41 -164 180 106 -98 123 57 -255 246 189 -213 205 131 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/cycling_triathlete_f.pal b/graphics/trainers/palettes/cycling_triathlete_f.pal deleted file mode 100644 index b72bb3011f..0000000000 --- a/graphics/trainers/palettes/cycling_triathlete_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -57 41 57 -57 74 106 -131 131 156 -139 156 238 -115 131 205 -98 106 172 -205 197 255 -230 90 65 -189 74 41 -139 74 82 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/cycling_triathlete_m.pal b/graphics/trainers/palettes/cycling_triathlete_m.pal deleted file mode 100644 index 9255a4a94a..0000000000 --- a/graphics/trainers/palettes/cycling_triathlete_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -238 189 139 -189 148 115 -139 106 82 -57 41 57 -115 90 106 -156 131 156 -156 213 255 -106 164 222 -82 131 197 -205 197 255 -230 90 65 -189 74 41 -139 74 82 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/dome_ace_tucker.pal b/graphics/trainers/palettes/dome_ace_tucker.pal deleted file mode 100644 index 33bb1aa68c..0000000000 --- a/graphics/trainers/palettes/dome_ace_tucker.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -246 148 230 -230 115 213 -189 90 172 -139 74 115 -213 205 246 -230 213 106 -156 148 197 -238 238 139 -213 180 98 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/dragon_tamer.pal b/graphics/trainers/palettes/dragon_tamer.pal deleted file mode 100644 index 545c55b74b..0000000000 --- a/graphics/trainers/palettes/dragon_tamer.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -74 57 49 -164 57 246 -123 49 172 -131 139 148 -255 98 90 -197 65 65 -213 222 230 -74 74 65 -255 205 106 -213 172 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/elite_four_drake.pal b/graphics/trainers/palettes/elite_four_drake.pal deleted file mode 100644 index 6ab0bae739..0000000000 --- a/graphics/trainers/palettes/elite_four_drake.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 172 148 -164 131 106 -98 57 65 -139 131 164 -106 98 123 -41 49 57 -57 65 82 -197 197 213 -255 222 106 -189 156 90 -106 131 238 -65 106 172 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/elite_four_glacia.pal b/graphics/trainers/palettes/elite_four_glacia.pal deleted file mode 100644 index 75b5eb1084..0000000000 --- a/graphics/trainers/palettes/elite_four_glacia.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 82 65 -148 148 164 -148 90 164 -115 65 123 -82 41 82 -255 255 164 -213 197 90 -156 148 90 -222 230 238 -189 197 205 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/elite_four_phoebe.pal b/graphics/trainers/palettes/elite_four_phoebe.pal deleted file mode 100644 index 8c07c0d5bf..0000000000 --- a/graphics/trainers/palettes/elite_four_phoebe.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 82 65 -57 131 255 -32 106 230 -16 82 205 -41 49 123 -164 205 255 -115 98 106 -74 57 65 -255 82 156 -197 65 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/elite_four_sidney.pal b/graphics/trainers/palettes/elite_four_sidney.pal deleted file mode 100644 index d778e0ed6d..0000000000 --- a/graphics/trainers/palettes/elite_four_sidney.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 180 148 -189 139 106 -98 57 65 -131 106 74 -106 98 123 -41 49 57 -57 65 82 -197 197 213 -238 213 139 -197 164 106 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/expert_f.pal b/graphics/trainers/palettes/expert_f.pal deleted file mode 100644 index 2fa5f52020..0000000000 --- a/graphics/trainers/palettes/expert_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/expert_m.pal b/graphics/trainers/palettes/expert_m.pal deleted file mode 100644 index 2fa5f52020..0000000000 --- a/graphics/trainers/palettes/expert_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/factory_head_noland.pal b/graphics/trainers/palettes/factory_head_noland.pal deleted file mode 100644 index 03bce8c770..0000000000 --- a/graphics/trainers/palettes/factory_head_noland.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -172 172 189 -131 131 164 -98 98 123 -65 65 90 -222 213 246 -238 213 106 -246 131 123 -213 90 90 -180 57 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/fisherman.pal b/graphics/trainers/palettes/fisherman.pal deleted file mode 100644 index 3c18e8f1f1..0000000000 --- a/graphics/trainers/palettes/fisherman.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 213 189 -222 172 148 -180 131 115 -82 57 57 -123 98 106 -82 82 123 -213 172 82 -180 139 82 -205 205 222 -123 82 49 -49 49 74 -246 123 49 -189 106 49 -238 238 255 -0 0 24 diff --git a/graphics/trainers/palettes/gentleman.pal b/graphics/trainers/palettes/gentleman.pal deleted file mode 100644 index ef021d0268..0000000000 --- a/graphics/trainers/palettes/gentleman.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -180 148 115 -148 115 82 -123 90 57 -65 49 41 -255 238 156 -213 213 205 -180 180 172 -90 106 172 -57 74 123 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/guitarist.pal b/graphics/trainers/palettes/guitarist.pal deleted file mode 100644 index 74e59e8199..0000000000 --- a/graphics/trainers/palettes/guitarist.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -172 172 164 -139 131 131 -106 98 98 -65 57 57 -255 238 156 -255 197 90 -205 180 148 -255 98 90 -189 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/hex_maniac.pal b/graphics/trainers/palettes/hex_maniac.pal deleted file mode 100644 index 549d7fac93..0000000000 --- a/graphics/trainers/palettes/hex_maniac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 123 156 -139 90 131 -106 65 106 -74 41 74 -213 222 230 -189 205 213 -205 57 82 -115 41 65 -180 49 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/hiker.pal b/graphics/trainers/palettes/hiker.pal deleted file mode 100644 index cb8fce7f61..0000000000 --- a/graphics/trainers/palettes/hiker.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 164 148 -205 131 115 -74 65 57 -123 189 90 -115 148 90 -213 180 98 -172 148 98 -205 205 222 -148 148 148 -123 115 74 -230 98 90 -164 74 74 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/interviewer.pal b/graphics/trainers/palettes/interviewer.pal deleted file mode 100644 index 61ace1935d..0000000000 --- a/graphics/trainers/palettes/interviewer.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -148 148 172 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -98 197 255 -90 156 189 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/kindler.pal b/graphics/trainers/palettes/kindler.pal deleted file mode 100644 index af6adf7e87..0000000000 --- a/graphics/trainers/palettes/kindler.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 82 65 -246 246 230 -222 222 189 -180 180 139 -123 115 74 -172 213 246 -115 180 205 -57 123 139 -255 82 57 -255 156 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/lady.pal b/graphics/trainers/palettes/lady.pal deleted file mode 100644 index b708731111..0000000000 --- a/graphics/trainers/palettes/lady.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 222 -238 180 180 -156 123 106 -172 106 74 -82 82 32 -213 222 230 -255 230 106 -213 172 90 -222 98 123 -148 164 180 -180 238 106 -148 213 82 -123 189 65 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/lass.pal b/graphics/trainers/palettes/lass.pal deleted file mode 100644 index 89e78d683f..0000000000 --- a/graphics/trainers/palettes/lass.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -222 148 115 -123 90 82 -164 172 197 -90 98 148 -49 57 82 -41 57 98 -222 230 238 -255 197 90 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_brawly.pal b/graphics/trainers/palettes/leader_brawly.pal deleted file mode 100644 index 5a5a482f23..0000000000 --- a/graphics/trainers/palettes/leader_brawly.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -49 49 74 -213 213 222 -255 164 197 -115 115 115 -255 139 65 -213 98 24 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_flannery.pal b/graphics/trainers/palettes/leader_flannery.pal deleted file mode 100644 index 20f2f85799..0000000000 --- a/graphics/trainers/palettes/leader_flannery.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 197 230 -90 156 213 -65 115 164 -49 49 74 -213 213 222 -131 74 16 -115 115 115 -255 139 65 -197 98 32 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_juan.pal b/graphics/trainers/palettes/leader_juan.pal deleted file mode 100644 index 96467bdc37..0000000000 --- a/graphics/trainers/palettes/leader_juan.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 180 148 -180 131 98 -123 90 82 -213 115 222 -148 65 180 -106 148 255 -82 106 189 -74 74 148 -164 180 189 -98 115 123 -98 49 90 -213 213 222 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_norman.pal b/graphics/trainers/palettes/leader_norman.pal deleted file mode 100644 index e53c168379..0000000000 --- a/graphics/trainers/palettes/leader_norman.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 197 230 -139 156 172 -74 98 123 -49 65 82 -213 213 222 -131 16 41 -115 115 115 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_roxanne.pal b/graphics/trainers/palettes/leader_roxanne.pal deleted file mode 100644 index c2b28ead91..0000000000 --- a/graphics/trainers/palettes/leader_roxanne.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 164 197 -189 156 90 -255 115 148 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_tate_and_liza.pal b/graphics/trainers/palettes/leader_tate_and_liza.pal deleted file mode 100644 index ab64e9bea1..0000000000 --- a/graphics/trainers/palettes/leader_tate_and_liza.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 172 65 -255 222 205 -238 180 148 -180 131 106 -106 74 74 -189 189 197 -123 123 131 -74 82 98 -41 49 65 -255 98 90 -164 49 57 -255 197 90 -106 189 255 -90 139 197 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_wattson.pal b/graphics/trainers/palettes/leader_wattson.pal deleted file mode 100644 index c8a4e14208..0000000000 --- a/graphics/trainers/palettes/leader_wattson.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -123 90 82 -164 139 90 -131 106 74 -139 131 106 -82 65 74 -213 213 222 -255 197 90 -189 156 90 -57 41 49 -222 115 131 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_winona.pal b/graphics/trainers/palettes/leader_winona.pal deleted file mode 100644 index 62783523b2..0000000000 --- a/graphics/trainers/palettes/leader_winona.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -172 189 213 -139 156 205 -74 98 148 -49 65 82 -205 213 222 -115 57 123 -255 197 90 -189 123 222 -148 90 172 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leaf.pal b/graphics/trainers/palettes/leaf.pal deleted file mode 100644 index 30e2cdde05..0000000000 --- a/graphics/trainers/palettes/leaf.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 180 -230 189 156 -205 148 115 -123 90 82 -123 189 222 -82 139 180 -49 106 139 -24 41 82 -213 213 222 -255 197 90 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leaf_back_pic.pal b/graphics/trainers/palettes/leaf_back_pic.pal deleted file mode 100644 index 27436be920..0000000000 --- a/graphics/trainers/palettes/leaf_back_pic.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -172 123 65 -255 197 148 -222 148 115 -123 65 65 -65 65 213 -57 57 123 -115 164 197 -106 41 41 -238 238 255 -180 180 213 -255 106 74 -197 57 57 -255 222 90 -189 156 57 -0 0 0 diff --git a/graphics/trainers/palettes/magma_admin.pal b/graphics/trainers/palettes/magma_admin.pal deleted file mode 100644 index a987cdbc14..0000000000 --- a/graphics/trainers/palettes/magma_admin.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/magma_grunt_f.pal b/graphics/trainers/palettes/magma_grunt_f.pal deleted file mode 100644 index a987cdbc14..0000000000 --- a/graphics/trainers/palettes/magma_grunt_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/magma_grunt_m.pal b/graphics/trainers/palettes/magma_grunt_m.pal deleted file mode 100644 index a987cdbc14..0000000000 --- a/graphics/trainers/palettes/magma_grunt_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/magma_leader_maxie.pal b/graphics/trainers/palettes/magma_leader_maxie.pal deleted file mode 100644 index 151bf6d5b6..0000000000 --- a/graphics/trainers/palettes/magma_leader_maxie.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 180 197 -115 123 139 -74 82 98 -49 57 82 -213 213 222 -131 16 41 -24 32 49 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/ruby_sapphire_may.pal b/graphics/trainers/palettes/may_rs.pal similarity index 100% rename from graphics/trainers/palettes/ruby_sapphire_may.pal rename to graphics/trainers/palettes/may_rs.pal diff --git a/graphics/trainers/palettes/ninja_boy.pal b/graphics/trainers/palettes/ninja_boy.pal deleted file mode 100644 index 524d3f4ba9..0000000000 --- a/graphics/trainers/palettes/ninja_boy.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -164 180 197 -131 139 156 -82 98 115 -49 57 82 -213 213 222 -131 16 41 -255 172 32 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/old_couple.pal b/graphics/trainers/palettes/old_couple.pal deleted file mode 100644 index 2fa5f52020..0000000000 --- a/graphics/trainers/palettes/old_couple.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/palace_maven_spenser.pal b/graphics/trainers/palettes/palace_maven_spenser.pal deleted file mode 100644 index 40a6349740..0000000000 --- a/graphics/trainers/palettes/palace_maven_spenser.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -230 205 156 -189 164 115 -164 131 82 -106 74 74 -172 172 213 -123 131 189 -90 98 148 -57 65 90 -222 213 246 -238 213 106 -246 230 180 -230 115 74 -222 180 98 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/parasol_lady.pal b/graphics/trainers/palettes/parasol_lady.pal deleted file mode 100644 index dc5c6f67fd..0000000000 --- a/graphics/trainers/palettes/parasol_lady.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -123 82 65 -90 131 189 -65 90 139 -41 65 98 -255 98 90 -197 65 65 -255 156 106 -131 74 65 -255 205 106 -213 172 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/picnicker.pal b/graphics/trainers/palettes/picnicker.pal deleted file mode 100644 index acd90e9436..0000000000 --- a/graphics/trainers/palettes/picnicker.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -131 213 205 -82 164 148 -180 189 222 -57 90 74 -24 49 90 -98 115 230 -57 82 131 -255 98 41 -189 74 41 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pike_queen_lucy.pal b/graphics/trainers/palettes/pike_queen_lucy.pal deleted file mode 100644 index fd3b46b8b3..0000000000 --- a/graphics/trainers/palettes/pike_queen_lucy.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -205 123 213 -148 90 148 -115 57 106 -57 57 57 -213 222 230 -172 65 65 -255 197 90 -115 106 123 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokefan_f.pal b/graphics/trainers/palettes/pokefan_f.pal deleted file mode 100644 index 09728f0052..0000000000 --- a/graphics/trainers/palettes/pokefan_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 172 189 -65 123 180 -255 0 255 -32 57 82 -197 205 213 -180 139 90 -131 90 41 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokefan_m.pal b/graphics/trainers/palettes/pokefan_m.pal deleted file mode 100644 index 1d1f488750..0000000000 --- a/graphics/trainers/palettes/pokefan_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -222 189 148 -197 156 115 -156 123 82 -49 57 49 -230 90 41 -131 172 222 -172 49 32 -82 123 172 -255 238 74 -213 189 41 -205 205 213 -98 98 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemaniac.pal b/graphics/trainers/palettes/pokemaniac.pal deleted file mode 100644 index 3ede03b140..0000000000 --- a/graphics/trainers/palettes/pokemaniac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -246 189 115 -213 123 74 -180 82 74 -139 57 41 -74 74 49 -255 230 57 -98 123 106 -230 82 24 -213 205 230 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemon_breeder_f.pal b/graphics/trainers/palettes/pokemon_breeder_f.pal deleted file mode 100644 index b15f5db8ab..0000000000 --- a/graphics/trainers/palettes/pokemon_breeder_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -255 98 90 -164 49 65 -255 148 131 -49 49 74 -213 222 230 -205 74 74 -115 148 197 -49 74 123 -57 115 164 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemon_breeder_m.pal b/graphics/trainers/palettes/pokemon_breeder_m.pal deleted file mode 100644 index 6551f84822..0000000000 --- a/graphics/trainers/palettes/pokemon_breeder_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -131 90 74 -255 98 90 -156 65 74 -255 148 131 -49 49 74 -213 222 230 -205 74 74 -115 148 197 -49 74 123 -57 115 164 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemon_ranger_f.pal b/graphics/trainers/palettes/pokemon_ranger_f.pal deleted file mode 100644 index 93220f5cbf..0000000000 --- a/graphics/trainers/palettes/pokemon_ranger_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -131 90 65 -82 49 49 -131 139 156 -82 90 115 -49 57 82 -213 213 222 -255 205 65 -255 131 74 -205 98 74 -156 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemon_ranger_m.pal b/graphics/trainers/palettes/pokemon_ranger_m.pal deleted file mode 100644 index 2f16ca0cb9..0000000000 --- a/graphics/trainers/palettes/pokemon_ranger_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -139 106 82 -82 49 49 -131 139 156 -90 98 115 -49 57 82 -213 213 222 -255 205 65 -238 139 82 -197 82 74 -115 57 49 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/psychic_f.pal b/graphics/trainers/palettes/psychic_f.pal deleted file mode 100644 index 232cfd7550..0000000000 --- a/graphics/trainers/palettes/psychic_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -98 123 180 -32 98 131 -255 0 246 -41 57 90 -213 131 255 -156 115 180 -115 82 148 -246 139 90 -197 90 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/psychic_m.pal b/graphics/trainers/palettes/psychic_m.pal deleted file mode 100644 index 0ddd2894bf..0000000000 --- a/graphics/trainers/palettes/psychic_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -230 189 148 -205 156 115 -115 82 65 -98 123 180 -32 98 131 -0 255 0 -41 57 90 -213 131 255 -131 106 172 -90 74 131 -246 139 90 -197 90 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pyramid_king_brandon.pal b/graphics/trainers/palettes/pyramid_king_brandon.pal deleted file mode 100644 index 77b5483b88..0000000000 --- a/graphics/trainers/palettes/pyramid_king_brandon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 213 90 -123 172 65 -82 115 41 -57 82 41 -213 205 213 -172 123 90 -139 139 123 -131 98 65 -213 106 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/red.pal b/graphics/trainers/palettes/red.pal deleted file mode 100644 index 30e2cdde05..0000000000 --- a/graphics/trainers/palettes/red.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 180 -230 189 156 -205 148 115 -123 90 82 -123 189 222 -82 139 180 -49 106 139 -24 41 82 -213 213 222 -255 197 90 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/red_back_pic.pal b/graphics/trainers/palettes/red_back_pic.pal deleted file mode 100644 index 3097a6556d..0000000000 --- a/graphics/trainers/palettes/red_back_pic.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 123 164 -172 123 65 -255 197 148 -222 148 115 -123 65 65 -65 65 213 -57 57 123 -115 164 197 -106 41 41 -238 238 255 -180 180 213 -255 106 74 -197 57 57 -255 222 90 -189 156 57 -0 0 0 diff --git a/graphics/trainers/palettes/rich_boy.pal b/graphics/trainers/palettes/rich_boy.pal deleted file mode 100644 index 1ebb772044..0000000000 --- a/graphics/trainers/palettes/rich_boy.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -213 222 230 -255 230 98 -222 180 90 -156 123 115 -115 82 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/ruin_maniac.pal b/graphics/trainers/palettes/ruin_maniac.pal deleted file mode 100644 index bbc342a06a..0000000000 --- a/graphics/trainers/palettes/ruin_maniac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -255 238 106 -246 246 230 -222 222 189 -180 180 139 -115 106 65 -222 213 246 -115 131 205 -222 189 8 -213 115 139 -172 74 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/running_triathlete_f.pal b/graphics/trainers/palettes/running_triathlete_f.pal deleted file mode 100644 index 671c1593f0..0000000000 --- a/graphics/trainers/palettes/running_triathlete_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/running_triathlete_m.pal b/graphics/trainers/palettes/running_triathlete_m.pal deleted file mode 100644 index 13a56a5566..0000000000 --- a/graphics/trainers/palettes/running_triathlete_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 180 -230 180 148 -180 139 106 -115 82 65 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/sailor.pal b/graphics/trainers/palettes/sailor.pal deleted file mode 100644 index 3b62485765..0000000000 --- a/graphics/trainers/palettes/sailor.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -131 180 230 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/salon_maiden_anabel.pal b/graphics/trainers/palettes/salon_maiden_anabel.pal deleted file mode 100644 index 91776562fb..0000000000 --- a/graphics/trainers/palettes/salon_maiden_anabel.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -230 139 255 -189 115 213 -148 90 172 -123 74 139 -213 205 246 -255 197 90 -156 148 197 -255 222 115 -213 106 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/school_kid_f.pal b/graphics/trainers/palettes/school_kid_f.pal deleted file mode 100644 index ce758377ac..0000000000 --- a/graphics/trainers/palettes/school_kid_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -238 189 156 -205 148 115 -106 74 57 -255 139 164 -213 82 131 -131 139 255 -98 115 180 -57 74 131 -246 189 123 -197 131 65 -230 82 41 -139 90 32 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/school_kid_m.pal b/graphics/trainers/palettes/school_kid_m.pal deleted file mode 100644 index dc4298ea0e..0000000000 --- a/graphics/trainers/palettes/school_kid_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -172 164 115 -65 90 148 -49 57 82 -131 123 82 -197 197 238 -255 222 65 -205 189 123 -98 164 222 -49 123 156 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/sis_and_bro.pal b/graphics/trainers/palettes/sis_and_bro.pal deleted file mode 100644 index 823ef66efc..0000000000 --- a/graphics/trainers/palettes/sis_and_bro.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 189 -222 164 148 -164 123 98 -74 57 49 -255 139 90 -230 82 74 -180 65 65 -90 65 82 -197 65 65 -213 222 230 -255 230 205 -139 172 213 -90 131 189 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/sr_and_jr.pal b/graphics/trainers/palettes/sr_and_jr.pal deleted file mode 100644 index 72238881fc..0000000000 --- a/graphics/trainers/palettes/sr_and_jr.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -131 90 41 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/swimmer_f.pal b/graphics/trainers/palettes/swimmer_f.pal deleted file mode 100644 index 823ef66efc..0000000000 --- a/graphics/trainers/palettes/swimmer_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 189 -222 164 148 -164 123 98 -74 57 49 -255 139 90 -230 82 74 -180 65 65 -90 65 82 -197 65 65 -213 222 230 -255 230 205 -139 172 213 -90 131 189 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/swimmer_m.pal b/graphics/trainers/palettes/swimmer_m.pal deleted file mode 100644 index 259a53b9a1..0000000000 --- a/graphics/trainers/palettes/swimmer_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -230 197 172 -213 172 148 -172 123 106 -115 82 65 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -172 172 180 -139 65 65 -222 238 238 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/swimming_triathlete_f.pal b/graphics/trainers/palettes/swimming_triathlete_f.pal deleted file mode 100644 index 671c1593f0..0000000000 --- a/graphics/trainers/palettes/swimming_triathlete_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/swimming_triathlete_m.pal b/graphics/trainers/palettes/swimming_triathlete_m.pal deleted file mode 100644 index 671c1593f0..0000000000 --- a/graphics/trainers/palettes/swimming_triathlete_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/tuber_f.pal b/graphics/trainers/palettes/tuber_f.pal deleted file mode 100644 index b5cb0047aa..0000000000 --- a/graphics/trainers/palettes/tuber_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 230 74 -205 57 82 -238 180 57 -189 131 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/tuber_m.pal b/graphics/trainers/palettes/tuber_m.pal deleted file mode 100644 index b5cb0047aa..0000000000 --- a/graphics/trainers/palettes/tuber_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 230 74 -205 57 82 -238 180 57 -189 131 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/twins.pal b/graphics/trainers/palettes/twins.pal deleted file mode 100644 index 3b162de251..0000000000 --- a/graphics/trainers/palettes/twins.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 230 74 -180 82 98 -238 180 57 -189 131 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/young_couple.pal b/graphics/trainers/palettes/young_couple.pal deleted file mode 100644 index bba95c19a4..0000000000 --- a/graphics/trainers/palettes/young_couple.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -148 164 172 -82 123 164 -57 82 106 -32 49 74 -205 213 222 -123 197 156 -90 164 131 -255 98 90 -197 65 65 -106 106 139 -0 0 0 diff --git a/graphics/trainers/palettes/youngster.pal b/graphics/trainers/palettes/youngster.pal deleted file mode 100644 index f91520d9b0..0000000000 --- a/graphics/trainers/palettes/youngster.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -139 197 222 -65 90 148 -49 57 82 -41 57 98 -197 197 238 -255 222 65 -222 172 90 -98 164 222 -49 123 156 -255 255 255 -0 0 0 diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index f0e349970d..56acaf659d 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -20,6 +20,7 @@ MISCGFXDIR := graphics/misc JPCONTESTGFXDIR := graphics/contest/japanese POKEDEXGFXDIR := graphics/pokedex STARTERGFXDIR := graphics/starter_choose +NAMINGGFXDIR := graphics/naming_screen types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark contest_types := cool beauty cute smart tough @@ -63,230 +64,230 @@ $(CASTFORMGFXDIR)/shiny.gbapal: $(CASTFORMGFXDIR)/shiny_normal_form.gbapal \ ### Tilesets ### $(TILESETGFXDIR)/secondary/petalburg/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 159 + $(GFX) $< $@ -num_tiles 159 -Wnum_tiles $(TILESETGFXDIR)/secondary/rustboro/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 498 + $(GFX) $< $@ -num_tiles 498 -Wnum_tiles $(TILESETGFXDIR)/secondary/dewford/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 503 + $(GFX) $< $@ -num_tiles 503 -Wnum_tiles $(TILESETGFXDIR)/secondary/slateport/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 504 + $(GFX) $< $@ -num_tiles 504 -Wnum_tiles $(TILESETGFXDIR)/secondary/mauville/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 503 + $(GFX) $< $@ -num_tiles 503 -Wnum_tiles $(TILESETGFXDIR)/secondary/lavaridge/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 450 + $(GFX) $< $@ -num_tiles 450 -Wnum_tiles $(TILESETGFXDIR)/secondary/fortree/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 493 + $(GFX) $< $@ -num_tiles 493 -Wnum_tiles $(TILESETGFXDIR)/secondary/pacifidlog/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 504 + $(GFX) $< $@ -num_tiles 504 -Wnum_tiles $(TILESETGFXDIR)/secondary/sootopolis/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 328 + $(GFX) $< $@ -num_tiles 328 -Wnum_tiles SOOTOPOLISANIMDIR := $(TILESETGFXDIR)/secondary/sootopolis/anim $(SOOTOPOLISANIMDIR)/stormy_water/0.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/0_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/0_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/0_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/1.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/1_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/1_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/1_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/2.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/2_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/2_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/2_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/3.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/3_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/3_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/3_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/4.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/4_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/4_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/4_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/5.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/5_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/5_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/5_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/6.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/6_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/6_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/6_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/7.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/7_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/7_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/7_groudon.4bpp @cat $^ >$@ $(TILESETGFXDIR)/secondary/battle_frontier_outside_west/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 508 + $(GFX) $< $@ -num_tiles 508 -Wnum_tiles $(TILESETGFXDIR)/secondary/battle_frontier_outside_east/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 508 + $(GFX) $< $@ -num_tiles 508 -Wnum_tiles $(TILESETGFXDIR)/primary/building/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 502 + $(GFX) $< $@ -num_tiles 502 -Wnum_tiles $(TILESETGFXDIR)/secondary/shop/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 502 + $(GFX) $< $@ -num_tiles 502 -Wnum_tiles $(TILESETGFXDIR)/secondary/pokemon_center/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 478 + $(GFX) $< $@ -num_tiles 478 -Wnum_tiles $(TILESETGFXDIR)/secondary/cave/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 425 + $(GFX) $< $@ -num_tiles 425 -Wnum_tiles $(TILESETGFXDIR)/secondary/pokemon_school/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 278 + $(GFX) $< $@ -num_tiles 278 -Wnum_tiles $(TILESETGFXDIR)/secondary/pokemon_fan_club/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 319 + $(GFX) $< $@ -num_tiles 319 -Wnum_tiles $(TILESETGFXDIR)/secondary/unused_1/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 17 + $(GFX) $< $@ -num_tiles 17 -Wnum_tiles $(TILESETGFXDIR)/secondary/meteor_falls/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 460 + $(GFX) $< $@ -num_tiles 460 -Wnum_tiles $(TILESETGFXDIR)/secondary/oceanic_museum/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 319 + $(GFX) $< $@ -num_tiles 319 -Wnum_tiles $(TILESETGFXDIR)/secondary/cable_club/unknown_tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 120 + $(GFX) $< $@ -num_tiles 120 -Wnum_tiles $(TILESETGFXDIR)/secondary/seashore_house/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 312 + $(GFX) $< $@ -num_tiles 312 -Wnum_tiles $(TILESETGFXDIR)/secondary/pretty_petal_flower_shop/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 345 + $(GFX) $< $@ -num_tiles 345 -Wnum_tiles $(TILESETGFXDIR)/secondary/pokemon_day_care/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 355 + $(GFX) $< $@ -num_tiles 355 -Wnum_tiles $(TILESETGFXDIR)/secondary/secret_base/brown_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/brown_cave/tiles.png - $(GFX) $< $@ -num_tiles 82 + $(GFX) $< $@ -num_tiles 82 -Wnum_tiles $(TILESETGFXDIR)/secondary/secret_base/tree/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/tree/tiles.png - $(GFX) $< $@ -num_tiles 82 + $(GFX) $< $@ -num_tiles 82 -Wnum_tiles $(TILESETGFXDIR)/secondary/secret_base/shrub/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/shrub/tiles.png - $(GFX) $< $@ -num_tiles 82 + $(GFX) $< $@ -num_tiles 82 -Wnum_tiles $(TILESETGFXDIR)/secondary/secret_base/blue_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/blue_cave/tiles.png - $(GFX) $< $@ -num_tiles 82 + $(GFX) $< $@ -num_tiles 82 -Wnum_tiles $(TILESETGFXDIR)/secondary/secret_base/yellow_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/yellow_cave/tiles.png - $(GFX) $< $@ -num_tiles 82 + $(GFX) $< $@ -num_tiles 82 -Wnum_tiles $(TILESETGFXDIR)/secondary/secret_base/red_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/red_cave/tiles.png - $(GFX) $< $@ -num_tiles 82 + $(GFX) $< $@ -num_tiles 82 -Wnum_tiles $(TILESETGFXDIR)/secondary/secret_base/brown_cave/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 83 + $(GFX) $< $@ -num_tiles 83 -Wnum_tiles $(TILESETGFXDIR)/secondary/secret_base/tree/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 83 + $(GFX) $< $@ -num_tiles 83 -Wnum_tiles $(TILESETGFXDIR)/secondary/secret_base/shrub/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 83 + $(GFX) $< $@ -num_tiles 83 -Wnum_tiles $(TILESETGFXDIR)/secondary/secret_base/blue_cave/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 83 + $(GFX) $< $@ -num_tiles 83 -Wnum_tiles $(TILESETGFXDIR)/secondary/secret_base/yellow_cave/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 83 + $(GFX) $< $@ -num_tiles 83 -Wnum_tiles $(TILESETGFXDIR)/secondary/secret_base/red_cave/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 83 + $(GFX) $< $@ -num_tiles 83 -Wnum_tiles $(TILESETGFXDIR)/secondary/inside_of_truck/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 62 + $(GFX) $< $@ -num_tiles 62 -Wnum_tiles $(TILESETGFXDIR)/secondary/contest/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 430 + $(GFX) $< $@ -num_tiles 430 -Wnum_tiles $(TILESETGFXDIR)/secondary/lilycove_museum/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 431 + $(GFX) $< $@ -num_tiles 431 -Wnum_tiles $(TILESETGFXDIR)/secondary/lab/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 500 + $(GFX) $< $@ -num_tiles 500 -Wnum_tiles $(TILESETGFXDIR)/secondary/underwater/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 500 + $(GFX) $< $@ -num_tiles 500 -Wnum_tiles $(TILESETGFXDIR)/secondary/generic_building/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 509 + $(GFX) $< $@ -num_tiles 509 -Wnum_tiles $(TILESETGFXDIR)/secondary/mauville_game_corner/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 469 + $(GFX) $< $@ -num_tiles 469 -Wnum_tiles $(TILESETGFXDIR)/secondary/unused_2/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 150 + $(GFX) $< $@ -num_tiles 150 -Wnum_tiles $(TILESETGFXDIR)/secondary/rustboro_gym/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 60 + $(GFX) $< $@ -num_tiles 60 -Wnum_tiles $(TILESETGFXDIR)/secondary/dewford_gym/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 61 + $(GFX) $< $@ -num_tiles 61 -Wnum_tiles $(TILESETGFXDIR)/secondary/lavaridge_gym/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 54 + $(GFX) $< $@ -num_tiles 54 -Wnum_tiles $(TILESETGFXDIR)/secondary/petalburg_gym/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 148 + $(GFX) $< $@ -num_tiles 148 -Wnum_tiles $(TILESETGFXDIR)/secondary/fortree_gym/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 61 + $(GFX) $< $@ -num_tiles 61 -Wnum_tiles $(TILESETGFXDIR)/secondary/mossdeep_gym/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 82 + $(GFX) $< $@ -num_tiles 82 -Wnum_tiles $(TILESETGFXDIR)/secondary/sootopolis_gym/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 484 + $(GFX) $< $@ -num_tiles 484 -Wnum_tiles $(TILESETGFXDIR)/secondary/trick_house_puzzle/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 294 + $(GFX) $< $@ -num_tiles 294 -Wnum_tiles $(TILESETGFXDIR)/secondary/inside_ship/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 342 + $(GFX) $< $@ -num_tiles 342 -Wnum_tiles $(TILESETGFXDIR)/secondary/elite_four/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 505 + $(GFX) $< $@ -num_tiles 505 -Wnum_tiles $(TILESETGFXDIR)/secondary/battle_frontier/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 310 + $(GFX) $< $@ -num_tiles 310 -Wnum_tiles $(TILESETGFXDIR)/secondary/battle_factory/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 424 + $(GFX) $< $@ -num_tiles 424 -Wnum_tiles $(TILESETGFXDIR)/secondary/battle_pike/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 382 + $(GFX) $< $@ -num_tiles 382 -Wnum_tiles $(TILESETGFXDIR)/secondary/mirage_tower/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 420 + $(GFX) $< $@ -num_tiles 420 -Wnum_tiles $(TILESETGFXDIR)/secondary/mossdeep_game_corner/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 95 + $(GFX) $< $@ -num_tiles 95 -Wnum_tiles $(TILESETGFXDIR)/secondary/island_harbor/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 503 + $(GFX) $< $@ -num_tiles 503 -Wnum_tiles $(TILESETGFXDIR)/secondary/trainer_hill/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 374 + $(GFX) $< $@ -num_tiles 374 -Wnum_tiles $(TILESETGFXDIR)/secondary/navel_rock/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 420 + $(GFX) $< $@ -num_tiles 420 -Wnum_tiles $(TILESETGFXDIR)/secondary/battle_frontier_ranking_hall/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 136 + $(GFX) $< $@ -num_tiles 136 -Wnum_tiles $(TILESETGFXDIR)/secondary/mystery_events_house/tiles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 509 + $(GFX) $< $@ -num_tiles 509 -Wnum_tiles @@ -334,13 +335,13 @@ graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal $(GFX) $< $@ -num_colors 224 graphics/pokemon_jump/bg.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 63 + $(GFX) $< $@ -num_tiles 63 -Wnum_tiles graphics/pokenav/region_map/map.8bpp: %.8bpp: %.png - $(GFX) $< $@ -num_tiles 233 + $(GFX) $< $@ -num_tiles 233 -Wnum_tiles $(MISCGFXDIR)/japanese_hof.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 29 + $(GFX) $< $@ -num_tiles 29 -Wnum_tiles $(BATINTGFXDIR)/textbox.gbapal: $(BATINTGFXDIR)/textbox_0.gbapal \ $(BATINTGFXDIR)/textbox_1.gbapal @@ -384,10 +385,10 @@ $(UNUSEDGFXDIR)/redyellowgreen_frame.bin: $(UNUSEDGFXDIR)/red_frame.bin \ @cat $^ >$@ $(UNUSEDGFXDIR)/color_frames.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 353 + $(GFX) $< $@ -num_tiles 353 -Wnum_tiles $(BATINTGFXDIR)/unused_window2bar.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 5 + $(GFX) $< $@ -num_tiles 5 -Wnum_tiles $(JPCONTESTGFXDIR)/composite_1.4bpp: $(JPCONTESTGFXDIR)/frame_1.4bpp \ $(JPCONTESTGFXDIR)/floor.4bpp \ @@ -403,7 +404,7 @@ $(JPCONTESTGFXDIR)/composite_2.4bpp: $(JPCONTESTGFXDIR)/interface.4bpp \ @cat $^ >$@ $(JPCONTESTGFXDIR)/voltage.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 36 + $(GFX) $< $@ -num_tiles 36 -Wnum_tiles $(BTLANMSPRGFXDIR)/ice_crystals.4bpp: $(BTLANMSPRGFXDIR)/ice_crystals_0.4bpp \ $(BTLANMSPRGFXDIR)/ice_crystals_1.4bpp \ @@ -425,13 +426,13 @@ $(BTLANMSPRGFXDIR)/spark.4bpp: $(BTLANMSPRGFXDIR)/spark_0.4bpp \ @cat $^ >$@ $(MASKSGFXDIR)/unused_level_up.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 14 + $(GFX) $< $@ -num_tiles 14 -Wnum_tiles $(BATTRANSGFXDIR)/vs_frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 16 + $(GFX) $< $@ -num_tiles 16 -Wnum_tiles graphics/party_menu/bg.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 62 + $(GFX) $< $@ -num_tiles 62 -Wnum_tiles $(TYPESGFXDIR)/move_types.4bpp: $(types:%=$(TYPESGFXDIR)/%.4bpp) $(contest_types:%=$(TYPESGFXDIR)/contest_%.4bpp) @cat $^ >$@ @@ -442,29 +443,29 @@ $(TYPESGFXDIR)/move_types.gbapal: $(TYPESGFXDIR)/move_types_1.gbapal \ @cat $^ >$@ graphics/bag/menu.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 53 + $(GFX) $< $@ -num_tiles 53 -Wnum_tiles $(RAYQUAZAGFXDIR)/scene_2/rayquaza.8bpp: %.8bpp: %.png - $(GFX) $< $@ -num_tiles 227 + $(GFX) $< $@ -num_tiles 227 -Wnum_tiles $(RAYQUAZAGFXDIR)/scene_2/bg.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 313 + $(GFX) $< $@ -num_tiles 313 -Wnum_tiles $(RAYQUAZAGFXDIR)/scene_3/rayquaza.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 124 + $(GFX) $< $@ -num_tiles 124 -Wnum_tiles $(RAYQUAZAGFXDIR)/scene_3/rayquaza_tail_fix.4bpp: $(RAYQUAZAGFXDIR)/scene_3/rayquaza_tail.4bpp cp $< $@ head -c 12 /dev/zero >> $@ $(RAYQUAZAGFXDIR)/scene_4/streaks.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 19 + $(GFX) $< $@ -num_tiles 19 -Wnum_tiles $(RAYQUAZAGFXDIR)/scene_4/rayquaza.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 155 + $(GFX) $< $@ -num_tiles 155 -Wnum_tiles graphics/picture_frame/lobby.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 86 + $(GFX) $< $@ -num_tiles 86 -Wnum_tiles $(ROULETTEGFXDIR)/roulette_tilt.4bpp: $(ROULETTEGFXDIR)/shroomish.4bpp \ $(ROULETTEGFXDIR)/tailow.4bpp @@ -477,10 +478,10 @@ $(ROULETTEGFXDIR)/wheel_icons.4bpp: $(ROULETTEGFXDIR)/wynaut.4bpp \ @cat $^ >$@ $(BATTRANSGFXDIR)/regis.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 53 + $(GFX) $< $@ -num_tiles 53 -Wnum_tiles $(BATTRANSGFXDIR)/rayquaza.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 938 + $(GFX) $< $@ -num_tiles 938 -Wnum_tiles $(BATTRANSGFXDIR)/frontier_square_1.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ $(BATTRANSGFXDIR)/frontier_squares_1.4bpp @@ -503,20 +504,20 @@ $(SLOTMACHINEGFXDIR)/reel_time_gfx.4bpp: $(SLOTMACHINEGFXDIR)/reel_time_pikachu. @cat $^ >$@ graphics/birch_speech/unused_beauty.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 822 + $(GFX) $< $@ -num_tiles 822 -Wnum_tiles ### Pokémon Storage System ### $(WALLPAPERGFXDIR)/forest/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 55 + $(GFX) $< $@ -num_tiles 55 -Wnum_tiles $(WALLPAPERGFXDIR)/forest/tiles.4bpp: $(WALLPAPERGFXDIR)/forest/frame.4bpp $(WALLPAPERGFXDIR)/forest/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/city/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 52 + $(GFX) $< $@ -num_tiles 52 -Wnum_tiles $(WALLPAPERGFXDIR)/city/tiles.4bpp: $(WALLPAPERGFXDIR)/city/frame.4bpp $(WALLPAPERGFXDIR)/city/bg.4bpp @cat $^ >$@ @@ -525,97 +526,97 @@ $(WALLPAPERGFXDIR)/desert/tiles.4bpp: $(WALLPAPERGFXDIR)/desert/frame.4bpp $(WAL @cat $^ >$@ $(WALLPAPERGFXDIR)/savanna/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 45 + $(GFX) $< $@ -num_tiles 45 -Wnum_tiles $(WALLPAPERGFXDIR)/savanna/bg.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 23 + $(GFX) $< $@ -num_tiles 23 -Wnum_tiles $(WALLPAPERGFXDIR)/savanna/tiles.4bpp: $(WALLPAPERGFXDIR)/savanna/frame.4bpp $(WALLPAPERGFXDIR)/savanna/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/crag/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 49 + $(GFX) $< $@ -num_tiles 49 -Wnum_tiles $(WALLPAPERGFXDIR)/crag/tiles.4bpp: $(WALLPAPERGFXDIR)/crag/frame.4bpp $(WALLPAPERGFXDIR)/crag/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/volcano/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 56 + $(GFX) $< $@ -num_tiles 56 -Wnum_tiles $(WALLPAPERGFXDIR)/volcano/tiles.4bpp: $(WALLPAPERGFXDIR)/volcano/frame.4bpp $(WALLPAPERGFXDIR)/volcano/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/snow/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 57 + $(GFX) $< $@ -num_tiles 57 -Wnum_tiles $(WALLPAPERGFXDIR)/snow/tiles.4bpp: $(WALLPAPERGFXDIR)/snow/frame.4bpp $(WALLPAPERGFXDIR)/snow/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/cave/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 55 + $(GFX) $< $@ -num_tiles 55 -Wnum_tiles $(WALLPAPERGFXDIR)/cave/tiles.4bpp: $(WALLPAPERGFXDIR)/cave/frame.4bpp $(WALLPAPERGFXDIR)/cave/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/beach/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 46 + $(GFX) $< $@ -num_tiles 46 -Wnum_tiles $(WALLPAPERGFXDIR)/beach/bg.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 23 + $(GFX) $< $@ -num_tiles 23 -Wnum_tiles $(WALLPAPERGFXDIR)/beach/tiles.4bpp: $(WALLPAPERGFXDIR)/beach/frame.4bpp $(WALLPAPERGFXDIR)/beach/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/seafloor/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 54 + $(GFX) $< $@ -num_tiles 54 -Wnum_tiles $(WALLPAPERGFXDIR)/seafloor/tiles.4bpp: $(WALLPAPERGFXDIR)/seafloor/frame.4bpp $(WALLPAPERGFXDIR)/seafloor/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/river/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 51 + $(GFX) $< $@ -num_tiles 51 -Wnum_tiles $(WALLPAPERGFXDIR)/river/bg.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 11 + $(GFX) $< $@ -num_tiles 11 -Wnum_tiles $(WALLPAPERGFXDIR)/river/tiles.4bpp: $(WALLPAPERGFXDIR)/river/frame.4bpp $(WALLPAPERGFXDIR)/river/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/sky/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 45 + $(GFX) $< $@ -num_tiles 45 -Wnum_tiles $(WALLPAPERGFXDIR)/sky/tiles.4bpp: $(WALLPAPERGFXDIR)/sky/frame.4bpp $(WALLPAPERGFXDIR)/sky/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/polkadot/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 54 + $(GFX) $< $@ -num_tiles 54 -Wnum_tiles $(WALLPAPERGFXDIR)/polkadot/tiles.4bpp: $(WALLPAPERGFXDIR)/polkadot/frame.4bpp $(WALLPAPERGFXDIR)/polkadot/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/pokecenter/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 35 + $(GFX) $< $@ -num_tiles 35 -Wnum_tiles $(WALLPAPERGFXDIR)/pokecenter/tiles.4bpp: $(WALLPAPERGFXDIR)/pokecenter/frame.4bpp $(WALLPAPERGFXDIR)/pokecenter/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/machine/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 33 + $(GFX) $< $@ -num_tiles 33 -Wnum_tiles $(WALLPAPERGFXDIR)/machine/tiles.4bpp: $(WALLPAPERGFXDIR)/machine/frame.4bpp $(WALLPAPERGFXDIR)/machine/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/plain/frame.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 18 + $(GFX) $< $@ -num_tiles 18 -Wnum_tiles $(WALLPAPERGFXDIR)/plain/tiles.4bpp: $(WALLPAPERGFXDIR)/plain/frame.4bpp $(WALLPAPERGFXDIR)/plain/bg.4bpp @cat $^ >$@ $(WALLPAPERGFXDIR)/friends_frame1.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 57 + $(GFX) $< $@ -num_tiles 57 -Wnum_tiles $(WALLPAPERGFXDIR)/friends_frame2.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 57 + $(GFX) $< $@ -num_tiles 57 -Wnum_tiles $(WALLPAPERGFXDIR)/zigzagoon/tiles.4bpp: $(WALLPAPERGFXDIR)/friends_frame1.4bpp $(WALLPAPERGFXDIR)/zigzagoon/bg.4bpp @cat $^ >$@ @@ -666,13 +667,13 @@ $(WALLPAPERGFXDIR)/whiscash/tiles.4bpp: $(WALLPAPERGFXDIR)/friends_frame2.4bpp $ @cat $^ >$@ $(OBJEVENTGFXDIR)/pics/effects/unknown_4F6D38/0.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 11 + $(GFX) $< $@ -num_tiles 11 -Wnum_tiles $(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 8 - + $(GFX) $< $@ -num_tiles 8 -Wnum_tiles + $(BATTRANSGFXDIR)/frontier_logo_center.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 43 + $(GFX) $< $@ -num_tiles 43 -Wnum_tiles @@ -694,19 +695,28 @@ $(PKNAVOPTIONSGFXDIR)/options.4bpp: $(PKNAVOPTIONSGFXDIR)/hoenn_map.4bpp \ @cat $^ >$@ $(PKNAVGFXDIR)/header.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 53 + $(GFX) $< $@ -num_tiles 53 -Wnum_tiles $(PKNAVGFXDIR)/device_outline.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 53 - + $(GFX) $< $@ -num_tiles 53 -Wnum_tiles + $(PKNAVGFXDIR)/match_call/ui.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 13 + $(GFX) $< $@ -num_tiles 13 -Wnum_tiles $(POKEDEXGFXDIR)/region_map.8bpp: %.8bpp: %.png - $(GFX) $< $@ -num_tiles 232 + $(GFX) $< $@ -num_tiles 232 -Wnum_tiles $(POKEDEXGFXDIR)/region_map_affine.8bpp: %.8bpp: %.png - $(GFX) $< $@ -num_tiles 233 + $(GFX) $< $@ -num_tiles 233 -Wnum_tiles $(STARTERGFXDIR)/birch_help.4bpp: $(STARTERGFXDIR)/birch_bag.4bpp $(STARTERGFXDIR)/birch_grass.4bpp @cat $^ >$@ + +$(NAMINGGFXDIR)/cursor.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 5 -Wnum_tiles + +$(NAMINGGFXDIR)/cursor_squished.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 5 -Wnum_tiles + +$(NAMINGGFXDIR)/cursor_filled.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 5 -Wnum_tiles diff --git a/include/apprentice.h b/include/apprentice.h index 27ce0371e0..582d41435e 100644 --- a/include/apprentice.h +++ b/include/apprentice.h @@ -16,7 +16,7 @@ struct ApprenticeTrainer extern const struct ApprenticeTrainer gApprentices[]; void BufferApprenticeChallengeText(u8 saveApprenticeId); -void Apprentice_EnableBothScriptContexts(void); +void Apprentice_ScriptContext_Enable(void); void ResetApprenticeStruct(struct Apprentice *apprentice); void ResetAllApprenticeData(void); void CallApprenticeFunction(void); diff --git a/include/battle.h b/include/battle.h index 9656bab8d4..e779dee3df 100644 --- a/include/battle.h +++ b/include/battle.h @@ -13,9 +13,8 @@ #include "battle_bg.h" #include "pokeball.h" -#define GET_BATTLER_POSITION(battler) (gBattlerPositions[battler]) #define GET_BATTLER_SIDE(battler) (GetBattlerPosition(battler) & BIT_SIDE) -#define GET_BATTLER_SIDE2(battler) (GET_BATTLER_POSITION(battler) & BIT_SIDE) +#define GET_BATTLER_SIDE2(battler) (gBattlerPositions[battler] & BIT_SIDE) // Used to exclude moves learned temporarily by Transform or Mimic #define MOVE_IS_PERMANENT(battler, moveSlot) \ @@ -368,7 +367,7 @@ struct BattleStruct u8 faintedActionsState; u8 faintedActionsBattlerId; u16 expValue; - u8 field_52; + u8 scriptPartyIdx; // for printing the nickname u8 sentInPokes; bool8 selectionScriptFinished[MAX_BATTLERS_COUNT]; u8 battlerPartyIndexes[MAX_BATTLERS_COUNT]; @@ -474,7 +473,7 @@ struct BattleStruct #define SET_STATCHANGER(statId, stage, goesDown)(gBattleScripting.statChanger = (statId) + (stage << 4) + (goesDown << 7)) -// NOTE: The members of this struct have hard-coded offsets +// NOTE: The members of this struct have hard-coded offsets // in include/constants/battle_script_commands.h struct BattleScripting { @@ -551,7 +550,7 @@ struct BattleHealthboxInfo u8 specialAnimActive:1; // x40 u8 triedShinyMonAnim:1; u8 finishedShinyMonAnim:1; - u8 field_1_x1E:4; + u8 opponentDrawPartyStatusSummaryDelay:4; u8 bgmRestored:1; u8 waitForCry:1; u8 healthboxSlideInStarted:1; @@ -588,10 +587,10 @@ struct BattleSpriteData struct MonSpritesGfx { - void* firstDecompressed; // ptr to the decompressed sprite of the first pokemon + void *firstDecompressed; // ptr to the decompressed sprite of the first pokemon union { - void* ptr[MAX_BATTLERS_COUNT]; - u8* byte[MAX_BATTLERS_COUNT]; + void *ptr[MAX_BATTLERS_COUNT]; + u8 *byte[MAX_BATTLERS_COUNT]; } sprites; struct SpriteTemplate templates[MAX_BATTLERS_COUNT]; struct SpriteFrameImage frameImages[MAX_BATTLERS_COUNT][4]; diff --git a/include/battle_anim.h b/include/battle_anim.h index c98766ea85..0fe0d18980 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -108,8 +108,8 @@ u8 GetBattlerSpriteBGPriority(u8 battlerId); void *LoadPointerFromVars(s16 bottom, s16 top); void StorePointerInVars(s16 *bottom, s16 *top, const void *ptr); void InitPrioritiesForVisibleBattlers(void); -void GetBattleAnimBg1Data(struct BattleAnimBgData*); -void GetBattleAnimBgData(struct BattleAnimBgData*, u32 bgId); +void GetBattleAnimBg1Data(struct BattleAnimBgData *); +void GetBattleAnimBgData(struct BattleAnimBgData *, u32 bgId); u8 GetBattlerSpriteSubpriority(u8 battlerId); bool8 TranslateAnimHorizontalArc(struct Sprite *sprite); void TranslateSpriteLinearByIdFixedPoint(struct Sprite *sprite); @@ -120,12 +120,12 @@ void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode); void SetBattlerSpriteYOffsetFromRotation(u8 spriteId); u32 GetBattlePalettesMask(bool8 battleBackground, bool8 attacker, bool8 target, bool8 attackerPartner, bool8 targetPartner, bool8 anim1, bool8 anim2); u32 GetBattleMonSpritePalettesMask(u8 playerLeft, u8 playerRight, u8 opponentLeft, u8 opponentRight); -u8 AnimDummyReturnArg(u8 battler); +u8 GetSpritePalIdxByBattler(u8 battler); s16 CloneBattlerSpriteWithBlend(u8); -void DestroySpriteWithActiveSheet(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 AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData *, const void *, bool32); +void AnimLoadCompressedBgGfx(u32, const u32 *, u32); void UpdateAnimBg3ScreenSize(bool8); void TranslateSpriteInGrowingCircle(struct Sprite *); void SetBattlerSpriteYOffsetFromYScale(u8 spriteId); @@ -186,7 +186,7 @@ u8 GetAnimBattlerSpriteId(u8 wantedBattler); bool8 IsDoubleBattle(void); u8 GetBattleBgPaletteNum(void); u8 GetBattlerSpriteBGPriorityRank(u8 battlerId); -void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*)); +void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite *)); void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite); u8 GetBattlerSpriteDefault_Y(u8 battlerId); u8 GetSubstituteSpriteDefault_Y(u8 battlerId); @@ -216,8 +216,8 @@ void InitStatsChangeAnimation(u8); void StartMonScrollingBgMask(u8 taskId, int unused, u16 scrollSpeed, u8 battler, bool8 includePartner, u8 numFadeSteps, u8 fadeStepDelay, u8 duration, const u32 *gfx, const u32 *tilemap, const u32 *palette); // battle_anim_effects_1.c -void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite); -void AnimMoveTwisterParticle(struct Sprite* sprite); +void SetSpriteNextToMonHead(u8 battler, struct Sprite *sprite); +void AnimMoveTwisterParticle(struct Sprite *sprite); void AnimParticleBurst(struct Sprite *); // battle_anim_water.c diff --git a/include/battle_arena.h b/include/battle_arena.h index cc0e72c0c1..469c096129 100644 --- a/include/battle_arena.h +++ b/include/battle_arena.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_ARENA_H #define GUARD_BATTLE_ARENA_H +#include "constants/battle_arena.h" + void CallBattleArenaFunction(void); u8 BattleArena_ShowJudgmentWindow(u8 *state); void BattleArena_InitPoints(void); diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 5b6ba30bdd..064c080f61 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -92,7 +92,7 @@ enum { LINK_STANDBY_MSG_ONLY, }; -#define INSTANT_HP_BAR_DROP 32767 +#define INSTANT_HP_BAR_DROP 0x7FFF #define PARTY_SUMM_SKIP_DRAW_DELAY (1 << 7) @@ -202,9 +202,7 @@ void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data); // emitters void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck); -void BtlController_EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes); // unused void BtlController_EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data); -void BtlController_EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data); // unused void BtlController_EmitLoadMonSprite(u8 bufferId); void BtlController_EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit); void BtlController_EmitReturnMonToBall(u8 bufferId, bool8 skipAnim); @@ -212,36 +210,24 @@ void BtlController_EmitDrawTrainerPic(u8 bufferId); void BtlController_EmitTrainerSlide(u8 bufferId); void BtlController_EmitTrainerSlideBack(u8 bufferId); void BtlController_EmitFaintAnimation(u8 bufferId); -void BtlController_EmitPaletteFade(u8 bufferId); // unused -void BtlController_EmitSuccessBallThrowAnim(u8 bufferId); // unused void BtlController_EmitBallThrowAnim(u8 bufferId, u8 caseId); -void BtlController_EmitPause(u8 bufferId, u8 toWait, void *data); // unused void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit); void BtlController_EmitPrintString(u8 bufferId, u16 stringId); void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringId); void BtlController_EmitChooseAction(u8 bufferId, u8 action, u16 itemId); void BtlController_EmitYesNoBox(u8 bufferId); void BtlController_EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData); -void BtlController_EmitChooseItem(u8 bufferId, u8* battlePartyOrder); -void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 slotId, u8 abilityId, u8* data); -void BtlController_EmitCmd23(u8 bufferId); // unused +void BtlController_EmitChooseItem(u8 bufferId, u8 *battlePartyOrder); +void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 slotId, u8 abilityId, u8 *data); void BtlController_EmitHealthBarUpdate(u8 bufferId, u16 hpValue); void BtlController_EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints); void BtlController_EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2); void BtlController_EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status); -void BtlController_EmitStatusXor(u8 bufferId, u8 b); // unused void BtlController_EmitDataTransfer(u8 bufferId, u16 size, void *data); -void BtlController_EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data); // unused -void BtlController_EmitPlayBGM(u8 bufferId, u16 songId, void *data); // unused -void BtlController_EmitCmd32(u8 bufferId, u16 size, void *data); // unused void BtlController_EmitTwoReturnValues(u8 bufferId, u8 ret8, u16 ret16); void BtlController_EmitChosenMonReturnValue(u8 bufferId, u8 partyId, u8 *battlePartyOrder); void BtlController_EmitOneReturnValue(u8 bufferId, u16 ret); void BtlController_EmitOneReturnValue_Duplicate(u8 bufferId, u16 ret); -void BtlController_EmitClearUnkVar(u8 bufferId); // unused -void BtlController_EmitSetUnkVar(u8 bufferId, u8 b); // unused -void BtlController_EmitClearUnkFlag(u8 bufferId); // unused -void BtlController_EmitToggleUnkFlag(u8 bufferId); // unused void BtlController_EmitHitAnimation(u8 bufferId); void BtlController_EmitCantSwitch(u8 bufferId); void BtlController_EmitPlaySE(u8 bufferId, u16 songId); diff --git a/include/battle_interface.h b/include/battle_interface.h index c4816e8da5..ed71b88454 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -34,16 +34,19 @@ enum #define TAG_HEALTHBAR_PLAYER2_TILE 0xD706 #define TAG_HEALTHBAR_OPPONENT2_TILE 0xD707 +#define TAG_HEALTHBOX_PALS_1 0xD709 +#define TAG_HEALTHBOX_PALS_2 0xD70A #define TAG_HEALTHBOX_SAFARI_TILE 0xD70B - #define TAG_STATUS_SUMMARY_BAR_TILE 0xD70C -#define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714 -#define TAG_HEALTHBOX_PAL 0xD6FF -#define TAG_HEALTHBAR_PAL 0xD704 #define TAG_STATUS_SUMMARY_BAR_PAL 0xD710 #define TAG_STATUS_SUMMARY_BALLS_PAL 0xD712 +#define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714 + +#define TAG_HEALTHBAR_PAL TAG_HEALTHBAR_PLAYER1_TILE +#define TAG_HEALTHBOX_PAL TAG_HEALTHBOX_PLAYER1_TILE + enum { HEALTHBOX_ALL, diff --git a/include/battle_main.h b/include/battle_main.h index b7691b4fd1..e3e0cb7ea4 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -22,9 +22,6 @@ struct MultiPartnerMenuPokemon /*0x1D*/ u8 language; }; -#define TYPE_NAME_LENGTH 6 -#define ABILITY_NAME_LENGTH 12 - // defines for the u8 array gTypeEffectiveness #define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0])) #define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1])) @@ -53,16 +50,16 @@ void SpriteCB_VsLetterInit(struct Sprite *sprite); void CB2_InitEndLinkBattle(void); u32 GetBattleBgTemplateData(u8 arrayId, u8 caseId); u32 GetBattleWindowTemplatePixelWidth(u32 setId, u32 tableId); -void SpriteCb_WildMon(struct Sprite *sprite); +void SpriteCB_WildMon(struct Sprite *sprite); void SpriteCallbackDummy_2(struct Sprite *sprite); void SpriteCB_FaintOpponentMon(struct Sprite *sprite); -void SpriteCb_ShowAsMoveTarget(struct Sprite *sprite); -void SpriteCb_HideAsMoveTarget(struct Sprite *sprite); +void SpriteCB_ShowAsMoveTarget(struct Sprite *sprite); +void SpriteCB_HideAsMoveTarget(struct Sprite *sprite); void SpriteCB_OpponentMonFromBall(struct Sprite *sprite); void SpriteCB_BattleSpriteStartSlideLeft(struct Sprite *sprite); void SpriteCB_FaintSlideAnim(struct Sprite *sprite); -void DoBounceEffect(u8 battlerId, u8 b, s8 c, s8 d); -void EndBounceEffect(u8 battlerId, bool8 b); +void DoBounceEffect(u8 battler, u8 which, s8 delta, s8 amplitude); +void EndBounceEffect(u8 battler, u8 which); void SpriteCB_PlayerMonFromBall(struct Sprite *sprite); void SpriteCB_TrainerThrowObject(struct Sprite *sprite); void AnimSetCenterToCornerVecX(struct Sprite *sprite); diff --git a/include/battle_message.h b/include/battle_message.h index da3009d63f..d34d2125a2 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -202,7 +202,7 @@ struct BattleMsgData u16 lastItem; u8 lastAbility; u8 scrActive; - u8 unk1605E; + u8 bakScriptPartyIdx; u8 hpScale; u8 itemEffectBattler; u8 moveType; @@ -211,18 +211,18 @@ struct BattleMsgData }; void BufferStringBattle(u16 stringID); -u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src); -u32 BattleStringExpandPlaceholders(const u8* src, u8* dst); -void BattlePutTextOnWindow(const u8* text, u8 windowId); +u32 BattleStringExpandPlaceholdersToDisplayedString(const u8 *src); +u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst); +void BattlePutTextOnWindow(const u8 *text, u8 windowId); void SetPpNumbersPaletteInMoveSelection(void); u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp); extern struct BattleMsgData *gBattleMsgDataPtr; -extern const u8* const gBattleStringsTable[]; -extern const u8* const gStatNamesTable[]; -extern const u8* const gPokeblockWasTooXStringTable[]; -extern const u8* const gRefereeStringsTable[]; +extern const u8 *const gBattleStringsTable[]; +extern const u8 *const gStatNamesTable[]; +extern const u8 *const gPokeblockWasTooXStringTable[]; +extern const u8 *const gRefereeStringsTable[]; extern const u8 *const gRoundsStringTable[]; extern const u8 gText_PkmnIsEvolving[]; @@ -283,7 +283,7 @@ extern const u8 gText_OpponentMon1Name[]; extern const u8 gText_Mind[]; extern const u8 gText_Skill[]; extern const u8 gText_Body[]; -extern const u8 gText_Judgement[]; +extern const u8 gText_Judgment[]; extern const u8 gText_EmptyString3[]; extern const u8 gText_RecordBattleToPass[]; extern const u8 gText_BattleRecordedOnPass[]; diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index ed90d787f0..5cb18ab460 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -7,6 +7,9 @@ #define WINDOW_CLEAR (1 << 0) #define WINDOW_BG1 (1 << 7) +// Arguments for 'xStart, yStart, xEnd, yEnd' in HandleBattleWindow +#define YESNOBOX_X_Y 24, 8, 29, 13 + void AI_CalcDmg(u8 battlerIdAtk, u8 battlerIdDef); u8 TypeCalc(u16 move, u8 battlerIdAtk, u8 battlerIdDef); u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility); diff --git a/include/battle_util.h b/include/battle_util.h index d15d4583ea..c7de9aae86 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -64,7 +64,6 @@ u8 GetBattlerForBattleScript(u8 caseId); void PressurePPLose(u8 target, u8 attacker, u16 move); void PressurePPLoseOnUsingPerishSong(u8 attacker); void PressurePPLoseOnUsingImprison(u8 attacker); -void MarkAllBattlersForControllerExec(void); // unused void MarkBattlerForControllerExec(u8 battlerId); void MarkBattlerReceivedLinkData(u8 battlerId); void CancelMultiTurnMoves(u8 battlerId); @@ -73,7 +72,7 @@ void PrepareStringBattle(u16 stringId, u8 battlerId); void ResetSentPokesToOpponentValue(void); void OpponentSwitchInResetSentPokesToOpponentValue(u8 battlerId); void UpdateSentPokesToOpponentValue(u8 battlerId); -void BattleScriptPush(const u8* bsPtr); +void BattleScriptPush(const u8 *bsPtr); void BattleScriptPushCursor(void); void BattleScriptPop(void); u8 TrySetCantSelectMoveBattleScript(void); @@ -89,8 +88,8 @@ u8 AtkCanceller_UnableToUseMove(void); bool8 HasNoMonsToSwitch(u8 battlerId, u8 r1, u8 r2); u8 CastformDataTypeChange(u8 battlerId); u8 AbilityBattleEffects(u8 caseID, u8 battlerId, u8 ability, u8 special, u16 moveArg); -void BattleScriptExecute(const u8* BS_ptr); -void BattleScriptPushCursorAndCallback(const u8* BS_ptr); +void BattleScriptExecute(const u8 *BS_ptr); +void BattleScriptPushCursorAndCallback(const u8 *BS_ptr); u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn); void ClearFuryCutterDestinyBondGrudge(u8 battlerId); void HandleAction_RunBattleScript(void); diff --git a/include/config.h b/include/config.h index 4c231a84de..4e2ee21bd1 100644 --- a/include/config.h +++ b/include/config.h @@ -8,19 +8,40 @@ // Ruby's actual debug build does not use the AGBPrint features. #define NDEBUG -// To enable print debugging, comment out "#define NDEBUG". This allows +// To enable printf debugging, comment out "#define NDEBUG". This allows // the various AGBPrint functions to be used. (See include/gba/isagbprint.h). -// Some emulators support a debug console window: uncomment NoCashGBAPrint() -// and NoCashGBAPrintf() in libisagbprn.c to use no$gba's own proprietary -// printing system. Use NoCashGBAPrint() and NoCashGBAPrintf() like you -// would normally use AGBPrint() and AGBPrintf(). +// See below for enabling different pretty printing versions. + +#ifndef NDEBUG + +#define PRETTY_PRINT_MINI_PRINTF (0) +#define PRETTY_PRINT_LIBC (1) + +#define LOG_HANDLER_AGB_PRINT (0) +#define LOG_HANDLER_NOCASH_PRINT (1) +#define LOG_HANDLER_MGBA_PRINT (2) + +// Use this switch to choose a handler for pretty printing. +// NOTE: mini_printf supports a custom pretty printing formatter to display preproc encoded strings. (%S) +// some libc distributions (especially dkp arm-libc) will fail to link pretty printing. +#define PRETTY_PRINT_HANDLER (PRETTY_PRINT_MINI_PRINTF) + +// Use this switch to choose a handler for printf output. +// NOTE: These will only work on the respective emulators and should not be used in a productive environment. +// Some emulators or real hardware might (and is allowed to) crash if they are used. +// AGB_PRINT is supported on respective debug units. + +#define LOG_HANDLER (LOG_HANDLER_MGBA_PRINT) +#endif #define ENGLISH #ifdef ENGLISH #define UNITS_IMPERIAL +#define CHAR_DEC_SEPARATOR CHAR_PERIOD // Period is used as a decimal separator only in the UK and the US. #else #define UNITS_METRIC +#define CHAR_DEC_SEPARATOR CHAR_COMMA #endif // Uncomment to fix some identified minor bugs diff --git a/include/constants/battle.h b/include/constants/battle.h index 31bc7fa3fb..cbc6c5adcc 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -31,8 +31,8 @@ #define B_POSITION_OPPONENT_RIGHT 3 // These macros can be used with either battler ID or positions to get the partner or the opposite mon -#define BATTLE_OPPOSITE(id) ((id) ^ 1) -#define BATTLE_PARTNER(id) ((id) ^ 2) +#define BATTLE_OPPOSITE(id) ((id) ^ BIT_SIDE) +#define BATTLE_PARTNER(id) ((id) ^ BIT_FLANK) #define B_SIDE_PLAYER 0 #define B_SIDE_OPPONENT 1 @@ -53,17 +53,17 @@ #define BATTLE_TYPE_MULTI (1 << 6) #define BATTLE_TYPE_SAFARI (1 << 7) #define BATTLE_TYPE_BATTLE_TOWER (1 << 8) -#define BATTLE_TYPE_WALLY_TUTORIAL (1 << 9) +#define BATTLE_TYPE_WALLY_TUTORIAL (1 << 9) // Used in pokefirered as BATTLE_TYPE_OLD_MAN_TUTORIAL. #define BATTLE_TYPE_ROAMER (1 << 10) #define BATTLE_TYPE_EREADER_TRAINER (1 << 11) #define BATTLE_TYPE_KYOGRE_GROUDON (1 << 12) #define BATTLE_TYPE_LEGENDARY (1 << 13) #define BATTLE_TYPE_REGI (1 << 14) -#define BATTLE_TYPE_TWO_OPPONENTS (1 << 15) -#define BATTLE_TYPE_DOME (1 << 16) -#define BATTLE_TYPE_PALACE (1 << 17) -#define BATTLE_TYPE_ARENA (1 << 18) -#define BATTLE_TYPE_FACTORY (1 << 19) +#define BATTLE_TYPE_TWO_OPPONENTS (1 << 15) // Used in pokefirered as BATTLE_TYPE_GHOST. +#define BATTLE_TYPE_DOME (1 << 16) // Used in pokefirered as BATTLE_TYPE_POKEDUDE. +#define BATTLE_TYPE_PALACE (1 << 17) // Used in pokefirered as BATTLE_TYPE_WILD_SCRIPTED. +#define BATTLE_TYPE_ARENA (1 << 18) // Used in pokefirered as BATTLE_TYPE_LEGENDARY_FRLG. +#define BATTLE_TYPE_FACTORY (1 << 19) // Used in pokefirered as BATTLE_TYPE_TRAINER_TOWER. #define BATTLE_TYPE_PIKE (1 << 20) #define BATTLE_TYPE_PYRAMID (1 << 21) #define BATTLE_TYPE_INGAME_PARTNER (1 << 22) @@ -316,6 +316,11 @@ #define FLEE_ITEM 1 #define FLEE_ABILITY 2 +// Return value for IsRunningFromBattleImpossible. +#define BATTLE_RUN_SUCCESS 0 +#define BATTLE_RUN_FORBIDDEN 1 +#define BATTLE_RUN_FAILURE 2 + #define B_WIN_TYPE_NORMAL 0 #define B_WIN_TYPE_ARENA 1 @@ -352,8 +357,8 @@ #define ARENA_WIN_MIND 18 #define ARENA_WIN_SKILL 19 #define ARENA_WIN_BODY 20 -#define ARENA_WIN_JUDGEMENT_TITLE 21 -#define ARENA_WIN_JUDGEMENT_TEXT 22 +#define ARENA_WIN_JUDGMENT_TITLE 21 +#define ARENA_WIN_JUDGMENT_TEXT 22 // Flag for BattlePutTextOnWindow. Never set #define B_WIN_COPYTOVRAM (1 << 7) diff --git a/include/constants/battle_arena.h b/include/constants/battle_arena.h index e04211115d..d4288d04fc 100644 --- a/include/constants/battle_arena.h +++ b/include/constants/battle_arena.h @@ -17,4 +17,10 @@ #define ARENA_CATEGORY_SKILL 1 #define ARENA_CATEGORY_BODY 2 +#define ARENA_RESULT_RUNNING 0 // For intermediate steps, when BattleArena_ShowJudgmentWindow should be called again immediately +#define ARENA_RESULT_STEP_DONE 1 // A step has been completed, the script may advance to the next instruction +#define ARENA_RESULT_PLAYER_WON 2 +#define ARENA_RESULT_PLAYER_LOST 3 +#define ARENA_RESULT_TIE 4 + #endif //GUARD_CONSTANTS_BATTLE_ARENA_H diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 83aacf3160..c21276a4ef 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -53,15 +53,15 @@ #define BS_EFFECT_BATTLER 2 #define BS_FAINTED 3 #define BS_ATTACKER_WITH_PARTNER 4 // for Cmd_updatestatusicon -#define BS_FAINTED_LINK_MULTIPLE_1 5 -#define BS_FAINTED_LINK_MULTIPLE_2 6 +#define BS_FAINTED_LINK_MULTIPLE_1 5 // for openpartyscreen +#define BS_FAINTED_LINK_MULTIPLE_2 6 // for openpartyscreen #define BS_BATTLER_0 7 #define BS_ATTACKER_SIDE 8 // for Cmd_jumpifability #define BS_NOT_ATTACKER_SIDE 9 // for Cmd_jumpifability #define BS_SCRIPTING 10 #define BS_PLAYER1 11 #define BS_OPPONENT1 12 -#define BS_PLAYER2 13 +#define BS_PLAYER2 13 // for Cmd_updatestatusicon #define BS_OPPONENT2 14 // Cmd_accuracycheck @@ -115,8 +115,8 @@ #define SWITCH_IGNORE_ESCAPE_PREVENTION (1 << 7) // Cmd_statbuffchange -#define STAT_BUFF_ALLOW_PTR (1 << 0) // If set, allow use of jumpptr. Set in every use of statbuffchange -#define STAT_BUFF_NOT_PROTECT_AFFECTED (1 << 5) +#define STAT_CHANGE_ALLOW_PTR (1 << 0) // If set, allow use of jumpptr. Set in every use of statbuffchange +#define STAT_CHANGE_NOT_PROTECT_AFFECTED (1 << 5) // stat change flags for Cmd_playstatchangeanimation #define STAT_CHANGE_NEGATIVE (1 << 0) diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h index a9d59935ec..af5af53403 100755 --- a/include/constants/event_object_movement.h +++ b/include/constants/event_object_movement.h @@ -232,8 +232,8 @@ #define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT 0x91 #define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT 0x92 #define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT 0x93 -#define MOVEMENT_ACTION_STORE_AND_LOCK_ANIM 0x94 -#define MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM 0x95 +#define MOVEMENT_ACTION_LOCK_ANIM 0x94 +#define MOVEMENT_ACTION_UNLOCK_ANIM 0x95 #define MOVEMENT_ACTION_WALK_LEFT_AFFINE 0x96 #define MOVEMENT_ACTION_WALK_RIGHT_AFFINE 0x97 #define MOVEMENT_ACTION_LEVITATE 0x98 diff --git a/include/constants/flags.h b/include/constants/flags.h index 8fbc246300..4e108e1fe9 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -568,7 +568,7 @@ #define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x1B) #define FLAG_HIDDEN_ITEM_FALLARBOR_TOWN_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x1C) #define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x1D) -#define FLAG_HIDDEN_ITEM_ROUTE_113_TM_32 (FLAG_HIDDEN_ITEMS_START + 0x1E) +#define FLAG_HIDDEN_ITEM_ROUTE_113_TM32 (FLAG_HIDDEN_ITEMS_START + 0x1E) #define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY (FLAG_HIDDEN_ITEMS_START + 0x1F) #define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY (FLAG_HIDDEN_ITEMS_START + 0x20) #define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY (FLAG_HIDDEN_ITEMS_START + 0x21) @@ -1053,7 +1053,7 @@ #define FLAG_ITEM_ROUTE_109_PP_UP 0x3ED #define FLAG_ITEM_ROUTE_109_RARE_CANDY 0x3EE #define FLAG_ITEM_ROUTE_110_DIRE_HIT 0x3EF -#define FLAG_ITEM_ROUTE_111_TM_37 0x3F0 +#define FLAG_ITEM_ROUTE_111_TM37 0x3F0 #define FLAG_ITEM_ROUTE_111_STARDUST 0x3F1 #define FLAG_ITEM_ROUTE_111_HP_UP 0x3F2 #define FLAG_ITEM_ROUTE_112_NUGGET 0x3F3 @@ -1062,7 +1062,7 @@ #define FLAG_ITEM_ROUTE_114_RARE_CANDY 0x3F6 #define FLAG_ITEM_ROUTE_114_PROTEIN 0x3F7 #define FLAG_ITEM_ROUTE_115_SUPER_POTION 0x3F8 -#define FLAG_ITEM_ROUTE_115_TM_01 0x3F9 +#define FLAG_ITEM_ROUTE_115_TM01 0x3F9 #define FLAG_ITEM_ROUTE_115_IRON 0x3FA #define FLAG_ITEM_ROUTE_116_ETHER 0x3FB #define FLAG_ITEM_ROUTE_116_REPEL 0x3FC @@ -1089,7 +1089,7 @@ #define FLAG_ITEM_RUSTBORO_CITY_X_DEFEND 0x411 #define FLAG_ITEM_LILYCOVE_CITY_MAX_REPEL 0x412 #define FLAG_ITEM_MOSSDEEP_CITY_NET_BALL 0x413 -#define FLAG_ITEM_METEOR_FALLS_1F_1R_TM_23 0x414 +#define FLAG_ITEM_METEOR_FALLS_1F_1R_TM23 0x414 #define FLAG_ITEM_METEOR_FALLS_1F_1R_FULL_HEAL 0x415 #define FLAG_ITEM_METEOR_FALLS_1F_1R_MOON_STONE 0x416 #define FLAG_ITEM_METEOR_FALLS_1F_1R_PP_UP 0x417 @@ -1119,35 +1119,35 @@ #define FLAG_ITEM_AQUA_HIDEOUT_B1F_MAX_ELIXIR 0x42F #define FLAG_ITEM_AQUA_HIDEOUT_B2F_NEST_BALL 0x430 #define FLAG_ITEM_MT_PYRE_EXTERIOR_MAX_POTION 0x431 -#define FLAG_ITEM_MT_PYRE_EXTERIOR_TM_48 0x432 +#define FLAG_ITEM_MT_PYRE_EXTERIOR_TM48 0x432 #define FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL 0x433 #define FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE 0x434 #define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL 0x435 #define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER 0x436 -#define FLAG_ITEM_SCORCHED_SLAB_TM_11 0x437 -#define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_02 0x438 +#define FLAG_ITEM_SCORCHED_SLAB_TM11 0x437 +#define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM02 0x438 #define FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL 0x439 #define FLAG_ITEM_SHOAL_CAVE_INNER_ROOM_RARE_CANDY 0x43A #define FLAG_ITEM_SHOAL_CAVE_STAIRS_ROOM_ICE_HEAL 0x43B #define FLAG_ITEM_VICTORY_ROAD_1F_MAX_ELIXIR 0x43C #define FLAG_ITEM_VICTORY_ROAD_1F_PP_UP 0x43D -#define FLAG_ITEM_VICTORY_ROAD_B1F_TM_29 0x43E +#define FLAG_ITEM_VICTORY_ROAD_B1F_TM29 0x43E #define FLAG_ITEM_VICTORY_ROAD_B1F_FULL_RESTORE 0x43F #define FLAG_ITEM_VICTORY_ROAD_B2F_FULL_HEAL 0x440 -#define FLAG_ITEM_MT_PYRE_6F_TM_30 0x441 -#define FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_26 0x442 +#define FLAG_ITEM_MT_PYRE_6F_TM30 0x441 +#define FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM26 0x442 #define FLAG_ITEM_FIERY_PATH_TM06 0x443 #define FLAG_ITEM_ROUTE_124_RED_SHARD 0x444 #define FLAG_ITEM_ROUTE_124_BLUE_SHARD 0x445 -#define FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_22 0x446 +#define FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM22 0x446 #define FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_HARBOR_MAIL 0x447 #define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_ESCAPE_ROPE 0x448 #define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_DIVE_BALL 0x449 -#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_13 0x44A +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM13 0x44A #define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_REVIVE 0x44B #define FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_STORAGE_KEY 0x44C #define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_3_WATER_STONE 0x44D -#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_18 0x44E +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM18 0x44E #define FLAG_ITEM_ROUTE_121_CARBOS 0x44F #define FLAG_ITEM_ROUTE_123_ULTRA_BALL 0x450 #define FLAG_ITEM_ROUTE_126_GREEN_SHARD 0x451 @@ -1157,7 +1157,7 @@ #define FLAG_ITEM_ROUTE_123_ELIXIR 0x455 #define FLAG_ITEM_NEW_MAUVILLE_THUNDER_STONE 0x456 #define FLAG_ITEM_FIERY_PATH_FIRE_STONE 0x457 -#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_07 0x458 +#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM07 0x458 #define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_NEVER_MELT_ICE 0x459 #define FLAG_ITEM_ROUTE_103_GUARD_SPEC 0x45A #define FLAG_ITEM_ROUTE_104_X_ACCURACY 0x45B diff --git a/include/constants/global.h b/include/constants/global.h index 096094220d..8e40e63786 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -35,7 +35,9 @@ #define FRONTIER_PARTY_SIZE 3 #define FRONTIER_DOUBLES_PARTY_SIZE 4 #define FRONTIER_MULTI_PARTY_SIZE 2 -#define MAX_FRONTIER_PARTY_SIZE FRONTIER_DOUBLES_PARTY_SIZE +#define MAX_FRONTIER_PARTY_SIZE (max(FRONTIER_PARTY_SIZE, \ + max(FRONTIER_DOUBLES_PARTY_SIZE,\ + FRONTIER_MULTI_PARTY_SIZE))) #define UNION_ROOM_PARTY_SIZE 2 // capacities of various saveblock objects @@ -101,6 +103,9 @@ #define WONDER_NEWS_TEXT_LENGTH 40 #define WONDER_CARD_BODY_TEXT_LINES 4 #define WONDER_NEWS_BODY_TEXT_LINES 10 +#define TYPE_NAME_LENGTH 6 +#define ABILITY_NAME_LENGTH 12 +#define TRAINER_NAME_LENGTH 10 #define MAX_STAMP_CARD_STAMPS 7 diff --git a/include/constants/moves.h b/include/constants/moves.h index 85c02e3da5..324bfb8996 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -359,4 +359,7 @@ #define MOVES_COUNT 355 +// Used for checks for moves affected by Disable, Mimic, etc. +#define MOVE_UNAVAILABLE 0xFFFF + #endif // GUARD_CONSTANTS_MOVES_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 0a74e751eb..d0e6094483 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -93,97 +93,6 @@ // Shiny odds #define SHINY_ODDS 8 // Actual probability is SHINY_ODDS/65536 -// Flags for Get(Box)MonData / Set(Box)MonData -#define MON_DATA_PERSONALITY 0 -#define MON_DATA_OT_ID 1 -#define MON_DATA_NICKNAME 2 -#define MON_DATA_LANGUAGE 3 -#define MON_DATA_SANITY_IS_BAD_EGG 4 -#define MON_DATA_SANITY_HAS_SPECIES 5 -#define MON_DATA_SANITY_IS_EGG 6 -#define MON_DATA_OT_NAME 7 -#define MON_DATA_MARKINGS 8 -#define MON_DATA_CHECKSUM 9 -#define MON_DATA_ENCRYPT_SEPARATOR 10 -#define MON_DATA_SPECIES 11 -#define MON_DATA_HELD_ITEM 12 -#define MON_DATA_MOVE1 13 -#define MON_DATA_MOVE2 14 -#define MON_DATA_MOVE3 15 -#define MON_DATA_MOVE4 16 -#define MON_DATA_PP1 17 -#define MON_DATA_PP2 18 -#define MON_DATA_PP3 19 -#define MON_DATA_PP4 20 -#define MON_DATA_PP_BONUSES 21 -#define MON_DATA_COOL 22 -#define MON_DATA_BEAUTY 23 -#define MON_DATA_CUTE 24 -#define MON_DATA_EXP 25 -#define MON_DATA_HP_EV 26 -#define MON_DATA_ATK_EV 27 -#define MON_DATA_DEF_EV 28 -#define MON_DATA_SPEED_EV 29 -#define MON_DATA_SPATK_EV 30 -#define MON_DATA_SPDEF_EV 31 -#define MON_DATA_FRIENDSHIP 32 -#define MON_DATA_SMART 33 -#define MON_DATA_POKERUS 34 -#define MON_DATA_MET_LOCATION 35 -#define MON_DATA_MET_LEVEL 36 -#define MON_DATA_MET_GAME 37 -#define MON_DATA_POKEBALL 38 -#define MON_DATA_HP_IV 39 -#define MON_DATA_ATK_IV 40 -#define MON_DATA_DEF_IV 41 -#define MON_DATA_SPEED_IV 42 -#define MON_DATA_SPATK_IV 43 -#define MON_DATA_SPDEF_IV 44 -#define MON_DATA_IS_EGG 45 -#define MON_DATA_ABILITY_NUM 46 -#define MON_DATA_TOUGH 47 -#define MON_DATA_SHEEN 48 -#define MON_DATA_OT_GENDER 49 -#define MON_DATA_COOL_RIBBON 50 -#define MON_DATA_BEAUTY_RIBBON 51 -#define MON_DATA_CUTE_RIBBON 52 -#define MON_DATA_SMART_RIBBON 53 -#define MON_DATA_TOUGH_RIBBON 54 -#define MON_DATA_STATUS 55 -#define MON_DATA_LEVEL 56 -#define MON_DATA_HP 57 -#define MON_DATA_MAX_HP 58 -#define MON_DATA_ATK 59 -#define MON_DATA_DEF 60 -#define MON_DATA_SPEED 61 -#define MON_DATA_SPATK 62 -#define MON_DATA_SPDEF 63 -#define MON_DATA_MAIL 64 -#define MON_DATA_SPECIES2 65 -#define MON_DATA_IVS 66 -#define MON_DATA_CHAMPION_RIBBON 67 -#define MON_DATA_WINNING_RIBBON 68 -#define MON_DATA_VICTORY_RIBBON 69 -#define MON_DATA_ARTIST_RIBBON 70 -#define MON_DATA_EFFORT_RIBBON 71 -#define MON_DATA_MARINE_RIBBON 72 -#define MON_DATA_LAND_RIBBON 73 -#define MON_DATA_SKY_RIBBON 74 -#define MON_DATA_COUNTRY_RIBBON 75 -#define MON_DATA_NATIONAL_RIBBON 76 -#define MON_DATA_EARTH_RIBBON 77 -#define MON_DATA_WORLD_RIBBON 78 -#define MON_DATA_UNUSED_RIBBONS 79 -#define MON_DATA_EVENT_LEGAL 80 -#define MON_DATA_KNOWN_MOVES 81 -#define MON_DATA_RIBBON_COUNT 82 -#define MON_DATA_RIBBONS 83 -#define MON_DATA_ATK2 84 -#define MON_DATA_DEF2 85 -#define MON_DATA_SPEED2 86 -#define MON_DATA_SPATK2 87 -#define MON_DATA_SPDEF2 88 - // Ribbon IDs used by TV and Pokénav #define CHAMPION_RIBBON 0 #define COOL_RIBBON_NORMAL 1 @@ -272,6 +181,15 @@ #define FRIENDSHIP_EVENT_FAINT_FIELD_PSN 7 #define FRIENDSHIP_EVENT_FAINT_LARGE 8 // If opponent was >= 30 levels higher. See AdjustFriendshipOnBattleFaint +// Constants for GetLeadMonFriendshipScore +#define FRIENDSHIP_NONE 0 +#define FRIENDSHIP_1_TO_49 1 +#define FRIENDSHIP_50_TO_99 2 +#define FRIENDSHIP_100_TO_149 3 +#define FRIENDSHIP_150_TO_199 4 +#define FRIENDSHIP_200_TO_254 5 +#define FRIENDSHIP_MAX 6 + #define MAX_FRIENDSHIP 255 #define MAX_SHEEN 255 #define MAX_CONDITION 255 @@ -338,9 +256,6 @@ #define EVO_MODE_ITEM_USE 2 #define EVO_MODE_ITEM_CHECK 3 // If an Everstone is being held, still want to show that the stone *could* be used on that Pokémon to evolve -#define NUM_MALE_LINK_FACILITY_CLASSES 8 -#define NUM_FEMALE_LINK_FACILITY_CLASSES 8 - #define MON_PIC_WIDTH 64 #define MON_PIC_HEIGHT 64 #define MON_PIC_SIZE (MON_PIC_WIDTH * MON_PIC_HEIGHT / 2) diff --git a/include/constants/region_map_sections.h b/include/constants/region_map_sections.h index 65aa3e1ca8..5b8029acf5 100644 --- a/include/constants/region_map_sections.h +++ b/include/constants/region_map_sections.h @@ -100,8 +100,8 @@ #define MAPSEC_CINNABAR_ISLAND 0x60 #define MAPSEC_INDIGO_PLATEAU 0x61 #define MAPSEC_SAFFRON_CITY 0x62 -#define MAPSEC_ROUTE_4_FLYDUP 0x63 -#define MAPSEC_ROUTE_10_FLYDUP 0x64 +#define MAPSEC_ROUTE_4_POKECENTER 0x63 +#define MAPSEC_ROUTE_10_POKECENTER 0x64 #define MAPSEC_ROUTE_1 0x65 #define MAPSEC_ROUTE_2 0x66 #define MAPSEC_ROUTE_3 0x67 diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h index 371763faf3..e0f660b6f0 100644 --- a/include/constants/trainer_hill.h +++ b/include/constants/trainer_hill.h @@ -52,8 +52,6 @@ #define TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED 1 #define TRAINER_HILL_PLAYER_STATUS_NORMAL 2 -#define HILL_TRAINER_NAME_LENGTH 11 - #define TRAINER_HILL_OTID 0x10000000 // The full map of each Trainer Hill floor is 16x21. diff --git a/include/constants/union_room.h b/include/constants/union_room.h index f47a8723ff..5c0c57a606 100644 --- a/include/constants/union_room.h +++ b/include/constants/union_room.h @@ -13,6 +13,10 @@ #define UNION_ROOM_MAX_LEVEL 30 +// The number of possible trainer classes for a trainer of a given gender in the Union Room. +// This value is necessarily a power of 2 because of the way it's treated in GetUnionRoomTrainerPic / GetUnionRoomTrainerClass +#define NUM_UNION_ROOM_CLASSES (1 << 3) // 8 + #define ACTIVITY_NONE 0 #define ACTIVITY_BATTLE_SINGLE 1 #define ACTIVITY_BATTLE_DOUBLE 2 diff --git a/include/constants/vars.h b/include/constants/vars.h index 8128b6f321..bd988c789b 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -46,235 +46,235 @@ #define VAR_OBJ_GFX_ID_F 0x401F // general purpose vars -#define VAR_RECYCLE_GOODS 0x4020 -#define VAR_REPEL_STEP_COUNT 0x4021 -#define VAR_ICE_STEP_COUNT 0x4022 -#define VAR_STARTER_MON 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip -#define VAR_MIRAGE_RND_H 0x4024 -#define VAR_MIRAGE_RND_L 0x4025 -#define VAR_SECRET_BASE_MAP 0x4026 -#define VAR_CYCLING_ROAD_RECORD_COLLISIONS 0x4027 -#define VAR_CYCLING_ROAD_RECORD_TIME_L 0x4028 -#define VAR_CYCLING_ROAD_RECORD_TIME_H 0x4029 -#define VAR_FRIENDSHIP_STEP_COUNTER 0x402A -#define VAR_POISON_STEP_COUNTER 0x402B -#define VAR_RESET_RTC_ENABLE 0x402C -#define VAR_ENIGMA_BERRY_AVAILABLE 0x402D -#define VAR_WONDER_NEWS_COUNTER 0x402E +#define VAR_RECYCLE_GOODS 0x4020 +#define VAR_REPEL_STEP_COUNT 0x4021 +#define VAR_ICE_STEP_COUNT 0x4022 +#define VAR_STARTER_MON 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip +#define VAR_MIRAGE_RND_H 0x4024 +#define VAR_MIRAGE_RND_L 0x4025 +#define VAR_SECRET_BASE_MAP 0x4026 +#define VAR_CYCLING_ROAD_RECORD_COLLISIONS 0x4027 +#define VAR_CYCLING_ROAD_RECORD_TIME_L 0x4028 +#define VAR_CYCLING_ROAD_RECORD_TIME_H 0x4029 +#define VAR_FRIENDSHIP_STEP_COUNTER 0x402A +#define VAR_POISON_STEP_COUNTER 0x402B +#define VAR_RESET_RTC_ENABLE 0x402C +#define VAR_ENIGMA_BERRY_AVAILABLE 0x402D +#define VAR_WONDER_NEWS_COUNTER 0x402E -#define VAR_FRONTIER_MANIAC_FACILITY 0x402F -#define VAR_FRONTIER_GAMBLER_CHALLENGE 0x4030 -#define VAR_FRONTIER_GAMBLER_SET_CHALLENGE 0x4031 -#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032 -#define VAR_FRONTIER_GAMBLER_STATE 0x4033 +#define VAR_FRONTIER_MANIAC_FACILITY 0x402F +#define VAR_FRONTIER_GAMBLER_CHALLENGE 0x4030 +#define VAR_FRONTIER_GAMBLER_SET_CHALLENGE 0x4031 +#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032 +#define VAR_FRONTIER_GAMBLER_STATE 0x4033 -#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034 -#define VAR_DEOXYS_ROCK_LEVEL 0x4035 -#define VAR_PC_BOX_TO_SEND_MON 0x4036 -#define VAR_ABNORMAL_WEATHER_LOCATION 0x4037 -#define VAR_ABNORMAL_WEATHER_STEP_COUNTER 0x4038 -#define VAR_SHOULD_END_ABNORMAL_WEATHER 0x4039 -#define VAR_FARAWAY_ISLAND_STEP_COUNTER 0x403A -#define VAR_REGICE_STEPS_1 0x403B -#define VAR_REGICE_STEPS_2 0x403C -#define VAR_REGICE_STEPS_3 0x403D -#define VAR_ALTERING_CAVE_WILD_SET 0x403E -#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing -#define VAR_DAYS 0x4040 -#define VAR_FANCLUB_FAN_COUNTER 0x4041 -#define VAR_FANCLUB_LOSE_FAN_TIMER 0x4042 -#define VAR_DEPT_STORE_FLOOR 0x4043 -#define VAR_TRICK_HOUSE_LEVEL 0x4044 -#define VAR_POKELOT_PRIZE_ITEM 0x4045 -#define VAR_NATIONAL_DEX 0x4046 -#define VAR_SEEDOT_SIZE_RECORD 0x4047 -#define VAR_ASH_GATHER_COUNT 0x4048 -#define VAR_BIRCH_STATE 0x4049 -#define VAR_CRUISE_STEP_COUNT 0x404A -#define VAR_POKELOT_RND1 0x404B -#define VAR_POKELOT_RND2 0x404C -#define VAR_POKELOT_PRIZE_PLACE 0x404D -#define VAR_UNUSED_0x404E 0x404E // Unused Var -#define VAR_LOTAD_SIZE_RECORD 0x404F -#define VAR_LITTLEROOT_TOWN_STATE 0x4050 -#define VAR_OLDALE_TOWN_STATE 0x4051 -#define VAR_DEWFORD_TOWN_STATE 0x4052 // Unused Var -#define VAR_LAVARIDGE_TOWN_STATE 0x4053 -#define VAR_CURRENT_SECRET_BASE 0x4054 // was probably allocated for VAR_FALLARBOR_TOWN_STATE at one point -#define VAR_VERDANTURF_TOWN_STATE 0x4055 // Unused Var -#define VAR_PACIFIDLOG_TOWN_STATE 0x4056 // Unused Var -#define VAR_PETALBURG_CITY_STATE 0x4057 -#define VAR_SLATEPORT_CITY_STATE 0x4058 -#define VAR_MAUVILLE_CITY_STATE 0x4059 // Unused Var -#define VAR_RUSTBORO_CITY_STATE 0x405A -#define VAR_FORTREE_CITY_STATE 0x405B // Unused Var -#define VAR_LILYCOVE_CITY_STATE 0x405C // Unused Var -#define VAR_MOSSDEEP_CITY_STATE 0x405D -#define VAR_SOOTOPOLIS_CITY_STATE 0x405E -#define VAR_EVER_GRANDE_CITY_STATE 0x405F // Unused Var -#define VAR_ROUTE101_STATE 0x4060 -#define VAR_ROUTE102_STATE 0x4061 // Unused Var -#define VAR_ROUTE103_STATE 0x4062 // Unused Var -#define VAR_ROUTE104_STATE 0x4063 -#define VAR_ROUTE105_STATE 0x4064 // Unused Var -#define VAR_ROUTE106_STATE 0x4065 // Unused Var -#define VAR_ROUTE107_STATE 0x4066 // Unused Var -#define VAR_ROUTE108_STATE 0x4067 // Unused Var -#define VAR_ROUTE109_STATE 0x4068 // Unused Var -#define VAR_ROUTE110_STATE 0x4069 -#define VAR_ROUTE111_STATE 0x406A // Unused Var -#define VAR_ROUTE112_STATE 0x406B // Unused Var -#define VAR_ROUTE113_STATE 0x406C // Unused Var -#define VAR_ROUTE114_STATE 0x406D // Unused Var -#define VAR_ROUTE115_STATE 0x406E // Unused Var -#define VAR_ROUTE116_STATE 0x406F -#define VAR_ROUTE117_STATE 0x4070 // Unused Var -#define VAR_ROUTE118_STATE 0x4071 -#define VAR_ROUTE119_STATE 0x4072 -#define VAR_ROUTE120_STATE 0x4073 // Unused Var -#define VAR_ROUTE121_STATE 0x4074 -#define VAR_ROUTE122_STATE 0x4075 // Unused Var -#define VAR_ROUTE123_STATE 0x4076 // Unused Var -#define VAR_ROUTE124_STATE 0x4077 // Unused Var -#define VAR_ROUTE125_STATE 0x4078 // Unused Var -#define VAR_ROUTE126_STATE 0x4079 // Unused Var -#define VAR_ROUTE127_STATE 0x407A // Unused Var -#define VAR_ROUTE128_STATE 0x407B -#define VAR_ROUTE129_STATE 0x407C // Unused Var -#define VAR_ROUTE130_STATE 0x407D // Unused Var -#define VAR_ROUTE131_STATE 0x407E // Unused Var -#define VAR_ROUTE132_STATE 0x407F // Unused Var -#define VAR_ROUTE133_STATE 0x4080 // Unused Var -#define VAR_ROUTE134_STATE 0x4081 // Unused Var -#define VAR_LITTLEROOT_HOUSES_STATE_MAY 0x4082 -#define VAR_UNUSED_0x4083 0x4083 // Unused Var -#define VAR_BIRCH_LAB_STATE 0x4084 -#define VAR_PETALBURG_GYM_STATE 0x4085 // 0-1: Wally tutorial, 2-6: 0-4 badges, 7: Defeated Norman, 8: Rematch Norman -#define VAR_CONTEST_HALL_STATE 0x4086 -#define VAR_CABLE_CLUB_STATE 0x4087 -#define VAR_CONTEST_TYPE 0x4088 -#define VAR_SECRET_BASE_INITIALIZED 0x4089 -#define VAR_CONTEST_PRIZE_PICKUP 0x408A -#define VAR_UNUSED_0x408B 0x408B // Unused Var -#define VAR_LITTLEROOT_HOUSES_STATE_BRENDAN 0x408C -#define VAR_LITTLEROOT_RIVAL_STATE 0x408D -#define VAR_BOARD_BRINEY_BOAT_STATE 0x408E -#define VAR_DEVON_CORP_3F_STATE 0x408F -#define VAR_BRINEY_HOUSE_STATE 0x4090 -#define VAR_UNUSED_0x4091 0x4091 // Unused Var -#define VAR_LITTLEROOT_INTRO_STATE 0x4092 -#define VAR_MAUVILLE_GYM_STATE 0x4093 -#define VAR_LILYCOVE_MUSEUM_2F_STATE 0x4094 -#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095 -#define VAR_BRINEY_LOCATION 0x4096 -#define VAR_INIT_SECRET_BASE 0x4097 -#define VAR_PETALBURG_WOODS_STATE 0x4098 -#define VAR_LILYCOVE_CONTEST_LOBBY_STATE 0x4099 -#define VAR_RUSTURF_TUNNEL_STATE 0x409A -#define VAR_UNUSED_0x409B 0x409B // Unused Var -#define VAR_ELITE_4_STATE 0x409C -#define VAR_UNUSED_0x409D 0x409D // Unused Var -#define VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE 0x409E -#define VAR_MOSSDEEP_SPACE_CENTER_STATE 0x409F -#define VAR_SLATEPORT_HARBOR_STATE 0x40A0 -#define VAR_UNUSED_0x40A1 0x40A1 // Unused var -#define VAR_SEAFLOOR_CAVERN_STATE 0x40A2 -#define VAR_CABLE_CAR_STATION_STATE 0x40A3 -#define VAR_SAFARI_ZONE_STATE 0x40A4 // 0: In or out of SZ, 1: Player exiting SZ, 2: Player entering SZ -#define VAR_TRICK_HOUSE_BEING_WATCHED_STATE 0x40A5 -#define VAR_TRICK_HOUSE_FOUND_TRICK_MASTER 0x40A6 -#define VAR_TRICK_HOUSE_ENTRANCE_STATE 0x40A7 -#define VAR_UNUSED_0x40A8 0x40A8 // Unused Var -#define VAR_CYCLING_CHALLENGE_STATE 0x40A9 -#define VAR_SLATEPORT_MUSEUM_1F_STATE 0x40AA -#define VAR_TRICK_HOUSE_PUZZLE_1_STATE 0x40AB -#define VAR_TRICK_HOUSE_PUZZLE_2_STATE 0x40AC -#define VAR_TRICK_HOUSE_PUZZLE_3_STATE 0x40AD -#define VAR_TRICK_HOUSE_PUZZLE_4_STATE 0x40AE -#define VAR_TRICK_HOUSE_PUZZLE_5_STATE 0x40AF -#define VAR_TRICK_HOUSE_PUZZLE_6_STATE 0x40B0 -#define VAR_TRICK_HOUSE_PUZZLE_7_STATE 0x40B1 -#define VAR_TRICK_HOUSE_PUZZLE_8_STATE 0x40B2 -#define VAR_WEATHER_INSTITUTE_STATE 0x40B3 -#define VAR_SS_TIDAL_STATE 0x40B4 -#define VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR 0x40B5 -#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6 // Leftover from RS, never set -#define VAR_SLATEPORT_FAN_CLUB_STATE 0x40B7 -#define VAR_UNUSED_0x40B8 0x40B8 // Unused Var -#define VAR_MT_PYRE_STATE 0x40B9 -#define VAR_NEW_MAUVILLE_STATE 0x40BA -#define VAR_UNUSED_0x40BB 0x40BB // Unused Var -#define VAR_BRAVO_TRAINER_BATTLE_TOWER_ON 0x40BC -#define VAR_JAGGED_PASS_ASH_WEATHER 0x40BD -#define VAR_GLASS_WORKSHOP_STATE 0x40BE -#define VAR_METEOR_FALLS_STATE 0x40BF -#define VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE 0x40C0 -#define VAR_TRICK_HOUSE_PRIZE_PICKUP 0x40C1 -#define VAR_PACIFIDLOG_TM_RECEIVED_DAY 0x40C2 -#define VAR_VICTORY_ROAD_1F_STATE 0x40C3 -#define VAR_FOSSIL_RESURRECTION_STATE 0x40C4 -#define VAR_WHICH_FOSSIL_REVIVED 0x40C5 -#define VAR_STEVENS_HOUSE_STATE 0x40C6 -#define VAR_OLDALE_RIVAL_STATE 0x40C7 -#define VAR_JAGGED_PASS_STATE 0x40C8 -#define VAR_SCOTT_PETALBURG_ENCOUNTER 0x40C9 -#define VAR_SKY_PILLAR_STATE 0x40CA -#define VAR_MIRAGE_TOWER_STATE 0x40CB -#define VAR_FOSSIL_MANIAC_STATE 0x40CC -#define VAR_CABLE_CLUB_TUTORIAL_STATE 0x40CD -#define VAR_FRONTIER_BATTLE_MODE 0x40CE -#define VAR_FRONTIER_FACILITY 0x40CF -#define VAR_HAS_ENTERED_BATTLE_FRONTIER 0x40D0 // Var is used like a flag. -#define VAR_SCOTT_STATE 0x40D1 -#define VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE 0x40D2 -#define VAR_DEX_UPGRADE_JOHTO_STARTER_STATE 0x40D3 -#define VAR_SS_TIDAL_SCOTT_STATE 0x40D4 // Always equal to FLAG_MET_SCOTT_ON_SS_TIDAL -#define VAR_ROAMER_POKEMON 0x40D5 // 0 = Latias, 1 = Latios -#define VAR_TRAINER_HILL_IS_ACTIVE 0x40D6 -#define VAR_SKY_PILLAR_RAQUAZA_CRY_DONE 0x40D7 -#define VAR_SOOTOPOLIS_WALLACE_STATE 0x40D8 +#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034 +#define VAR_DEOXYS_ROCK_LEVEL 0x4035 +#define VAR_PC_BOX_TO_SEND_MON 0x4036 +#define VAR_ABNORMAL_WEATHER_LOCATION 0x4037 +#define VAR_ABNORMAL_WEATHER_STEP_COUNTER 0x4038 +#define VAR_SHOULD_END_ABNORMAL_WEATHER 0x4039 +#define VAR_FARAWAY_ISLAND_STEP_COUNTER 0x403A +#define VAR_REGICE_STEPS_1 0x403B +#define VAR_REGICE_STEPS_2 0x403C +#define VAR_REGICE_STEPS_3 0x403D +#define VAR_ALTERING_CAVE_WILD_SET 0x403E +#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing +#define VAR_DAYS 0x4040 +#define VAR_FANCLUB_FAN_COUNTER 0x4041 +#define VAR_FANCLUB_LOSE_FAN_TIMER 0x4042 +#define VAR_DEPT_STORE_FLOOR 0x4043 +#define VAR_TRICK_HOUSE_LEVEL 0x4044 +#define VAR_POKELOT_PRIZE_ITEM 0x4045 +#define VAR_NATIONAL_DEX 0x4046 +#define VAR_SEEDOT_SIZE_RECORD 0x4047 +#define VAR_ASH_GATHER_COUNT 0x4048 +#define VAR_BIRCH_STATE 0x4049 +#define VAR_CRUISE_STEP_COUNT 0x404A +#define VAR_POKELOT_RND1 0x404B +#define VAR_POKELOT_RND2 0x404C +#define VAR_POKELOT_PRIZE_PLACE 0x404D +#define VAR_UNUSED_0x404E 0x404E // Unused Var +#define VAR_LOTAD_SIZE_RECORD 0x404F +#define VAR_LITTLEROOT_TOWN_STATE 0x4050 +#define VAR_OLDALE_TOWN_STATE 0x4051 +#define VAR_DEWFORD_TOWN_STATE 0x4052 // Unused Var +#define VAR_LAVARIDGE_TOWN_STATE 0x4053 +#define VAR_CURRENT_SECRET_BASE 0x4054 // was probably allocated for VAR_FALLARBOR_TOWN_STATE at one point +#define VAR_VERDANTURF_TOWN_STATE 0x4055 // Unused Var +#define VAR_PACIFIDLOG_TOWN_STATE 0x4056 // Unused Var +#define VAR_PETALBURG_CITY_STATE 0x4057 +#define VAR_SLATEPORT_CITY_STATE 0x4058 +#define VAR_MAUVILLE_CITY_STATE 0x4059 // Unused Var +#define VAR_RUSTBORO_CITY_STATE 0x405A +#define VAR_FORTREE_CITY_STATE 0x405B // Unused Var +#define VAR_LILYCOVE_CITY_STATE 0x405C // Unused Var +#define VAR_MOSSDEEP_CITY_STATE 0x405D +#define VAR_SOOTOPOLIS_CITY_STATE 0x405E +#define VAR_EVER_GRANDE_CITY_STATE 0x405F // Unused Var +#define VAR_ROUTE101_STATE 0x4060 +#define VAR_ROUTE102_STATE 0x4061 // Unused Var +#define VAR_ROUTE103_STATE 0x4062 // Unused Var +#define VAR_ROUTE104_STATE 0x4063 +#define VAR_ROUTE105_STATE 0x4064 // Unused Var +#define VAR_ROUTE106_STATE 0x4065 // Unused Var +#define VAR_ROUTE107_STATE 0x4066 // Unused Var +#define VAR_ROUTE108_STATE 0x4067 // Unused Var +#define VAR_ROUTE109_STATE 0x4068 // Unused Var +#define VAR_ROUTE110_STATE 0x4069 +#define VAR_ROUTE111_STATE 0x406A // Unused Var +#define VAR_ROUTE112_STATE 0x406B // Unused Var +#define VAR_ROUTE113_STATE 0x406C // Unused Var +#define VAR_ROUTE114_STATE 0x406D // Unused Var +#define VAR_ROUTE115_STATE 0x406E // Unused Var +#define VAR_ROUTE116_STATE 0x406F +#define VAR_ROUTE117_STATE 0x4070 // Unused Var +#define VAR_ROUTE118_STATE 0x4071 +#define VAR_ROUTE119_STATE 0x4072 +#define VAR_ROUTE120_STATE 0x4073 // Unused Var +#define VAR_ROUTE121_STATE 0x4074 +#define VAR_ROUTE122_STATE 0x4075 // Unused Var +#define VAR_ROUTE123_STATE 0x4076 // Unused Var +#define VAR_ROUTE124_STATE 0x4077 // Unused Var +#define VAR_ROUTE125_STATE 0x4078 // Unused Var +#define VAR_ROUTE126_STATE 0x4079 // Unused Var +#define VAR_ROUTE127_STATE 0x407A // Unused Var +#define VAR_ROUTE128_STATE 0x407B +#define VAR_ROUTE129_STATE 0x407C // Unused Var +#define VAR_ROUTE130_STATE 0x407D // Unused Var +#define VAR_ROUTE131_STATE 0x407E // Unused Var +#define VAR_ROUTE132_STATE 0x407F // Unused Var +#define VAR_ROUTE133_STATE 0x4080 // Unused Var +#define VAR_ROUTE134_STATE 0x4081 // Unused Var +#define VAR_LITTLEROOT_HOUSES_STATE_MAY 0x4082 +#define VAR_UNUSED_0x4083 0x4083 // Unused Var +#define VAR_BIRCH_LAB_STATE 0x4084 +#define VAR_PETALBURG_GYM_STATE 0x4085 // 0-1: Wally tutorial, 2-6: 0-4 badges, 7: Defeated Norman, 8: Rematch Norman +#define VAR_CONTEST_HALL_STATE 0x4086 +#define VAR_CABLE_CLUB_STATE 0x4087 +#define VAR_CONTEST_TYPE 0x4088 +#define VAR_SECRET_BASE_INITIALIZED 0x4089 +#define VAR_CONTEST_PRIZE_PICKUP 0x408A +#define VAR_UNUSED_0x408B 0x408B // Unused Var +#define VAR_LITTLEROOT_HOUSES_STATE_BRENDAN 0x408C +#define VAR_LITTLEROOT_RIVAL_STATE 0x408D +#define VAR_BOARD_BRINEY_BOAT_STATE 0x408E +#define VAR_DEVON_CORP_3F_STATE 0x408F +#define VAR_BRINEY_HOUSE_STATE 0x4090 +#define VAR_UNUSED_0x4091 0x4091 // Unused Var +#define VAR_LITTLEROOT_INTRO_STATE 0x4092 +#define VAR_MAUVILLE_GYM_STATE 0x4093 +#define VAR_LILYCOVE_MUSEUM_2F_STATE 0x4094 +#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095 +#define VAR_BRINEY_LOCATION 0x4096 +#define VAR_INIT_SECRET_BASE 0x4097 +#define VAR_PETALBURG_WOODS_STATE 0x4098 +#define VAR_LILYCOVE_CONTEST_LOBBY_STATE 0x4099 +#define VAR_RUSTURF_TUNNEL_STATE 0x409A +#define VAR_UNUSED_0x409B 0x409B // Unused Var +#define VAR_ELITE_4_STATE 0x409C +#define VAR_UNUSED_0x409D 0x409D // Unused Var +#define VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE 0x409E +#define VAR_MOSSDEEP_SPACE_CENTER_STATE 0x409F +#define VAR_SLATEPORT_HARBOR_STATE 0x40A0 +#define VAR_UNUSED_0x40A1 0x40A1 // Unused var +#define VAR_SEAFLOOR_CAVERN_STATE 0x40A2 +#define VAR_CABLE_CAR_STATION_STATE 0x40A3 +#define VAR_SAFARI_ZONE_STATE 0x40A4 // 0: In or out of SZ, 1: Player exiting SZ, 2: Player entering SZ +#define VAR_TRICK_HOUSE_BEING_WATCHED_STATE 0x40A5 +#define VAR_TRICK_HOUSE_FOUND_TRICK_MASTER 0x40A6 +#define VAR_TRICK_HOUSE_ENTRANCE_STATE 0x40A7 +#define VAR_UNUSED_0x40A8 0x40A8 // Unused Var +#define VAR_CYCLING_CHALLENGE_STATE 0x40A9 +#define VAR_SLATEPORT_MUSEUM_1F_STATE 0x40AA +#define VAR_TRICK_HOUSE_PUZZLE_1_STATE 0x40AB +#define VAR_TRICK_HOUSE_PUZZLE_2_STATE 0x40AC +#define VAR_TRICK_HOUSE_PUZZLE_3_STATE 0x40AD +#define VAR_TRICK_HOUSE_PUZZLE_4_STATE 0x40AE +#define VAR_TRICK_HOUSE_PUZZLE_5_STATE 0x40AF +#define VAR_TRICK_HOUSE_PUZZLE_6_STATE 0x40B0 +#define VAR_TRICK_HOUSE_PUZZLE_7_STATE 0x40B1 +#define VAR_TRICK_HOUSE_PUZZLE_8_STATE 0x40B2 +#define VAR_WEATHER_INSTITUTE_STATE 0x40B3 +#define VAR_SS_TIDAL_STATE 0x40B4 +#define VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR 0x40B5 +#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6 // Leftover from RS, never set +#define VAR_SLATEPORT_FAN_CLUB_STATE 0x40B7 +#define VAR_UNUSED_0x40B8 0x40B8 // Unused Var +#define VAR_MT_PYRE_STATE 0x40B9 +#define VAR_NEW_MAUVILLE_STATE 0x40BA +#define VAR_UNUSED_0x40BB 0x40BB // Unused Var +#define VAR_BRAVO_TRAINER_BATTLE_TOWER_ON 0x40BC +#define VAR_JAGGED_PASS_ASH_WEATHER 0x40BD +#define VAR_GLASS_WORKSHOP_STATE 0x40BE +#define VAR_METEOR_FALLS_STATE 0x40BF +#define VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE 0x40C0 +#define VAR_TRICK_HOUSE_PRIZE_PICKUP 0x40C1 +#define VAR_PACIFIDLOG_TM_RECEIVED_DAY 0x40C2 +#define VAR_VICTORY_ROAD_1F_STATE 0x40C3 +#define VAR_FOSSIL_RESURRECTION_STATE 0x40C4 +#define VAR_WHICH_FOSSIL_REVIVED 0x40C5 +#define VAR_STEVENS_HOUSE_STATE 0x40C6 +#define VAR_OLDALE_RIVAL_STATE 0x40C7 +#define VAR_JAGGED_PASS_STATE 0x40C8 +#define VAR_SCOTT_PETALBURG_ENCOUNTER 0x40C9 +#define VAR_SKY_PILLAR_STATE 0x40CA +#define VAR_MIRAGE_TOWER_STATE 0x40CB +#define VAR_FOSSIL_MANIAC_STATE 0x40CC +#define VAR_CABLE_CLUB_TUTORIAL_STATE 0x40CD +#define VAR_FRONTIER_BATTLE_MODE 0x40CE +#define VAR_FRONTIER_FACILITY 0x40CF +#define VAR_HAS_ENTERED_BATTLE_FRONTIER 0x40D0 // Var is used like a flag. +#define VAR_SCOTT_STATE 0x40D1 +#define VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE 0x40D2 +#define VAR_DEX_UPGRADE_JOHTO_STARTER_STATE 0x40D3 +#define VAR_SS_TIDAL_SCOTT_STATE 0x40D4 // Always equal to FLAG_MET_SCOTT_ON_SS_TIDAL +#define VAR_ROAMER_POKEMON 0x40D5 // 0 = Latias, 1 = Latios +#define VAR_TRAINER_HILL_IS_ACTIVE 0x40D6 +#define VAR_SKY_PILLAR_RAYQUAZA_CRY_DONE 0x40D7 +#define VAR_SOOTOPOLIS_WALLACE_STATE 0x40D8 #define VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT 0x40D9 -#define VAR_REGISTER_BIRCH_STATE 0x40DA -#define VAR_UNUSED_0x40DB 0x40DB // Unused Var -#define VAR_UNUSED_0x40DC 0x40DC // Unused Var -#define VAR_GIFT_PICHU_SLOT 0x40DD -#define VAR_GIFT_UNUSED_1 0x40DE // Var is written to, but never read -#define VAR_GIFT_UNUSED_2 0x40DF // Var is written to, but never read -#define VAR_GIFT_UNUSED_3 0x40E0 // Var is written to, but never read -#define VAR_GIFT_UNUSED_4 0x40E1 // Var is written to, but never read -#define VAR_GIFT_UNUSED_5 0x40E2 // Var is written to, but never read -#define VAR_GIFT_UNUSED_6 0x40E3 // Var is written to, but never read -#define VAR_GIFT_UNUSED_7 0x40E4 // var is written to, but never read -#define VAR_UNUSED_0x40E5 0x40E5 // Unused Var -#define VAR_DAILY_SLOTS 0x40E6 -#define VAR_DAILY_WILDS 0x40E7 -#define VAR_DAILY_BLENDER 0x40E8 -#define VAR_DAILY_PLANTED_BERRIES 0x40E9 -#define VAR_DAILY_PICKED_BERRIES 0x40EA -#define VAR_DAILY_ROULETTE 0x40EB -#define VAR_SECRET_BASE_STEP_COUNTER 0x40EC // Used by Secret Base TV programs -#define VAR_SECRET_BASE_LAST_ITEM_USED 0x40ED // Used by Secret Base TV programs -#define VAR_SECRET_BASE_LOW_TV_FLAGS 0x40EE // Used by Secret Base TV programs -#define VAR_SECRET_BASE_HIGH_TV_FLAGS 0x40EF // Used by Secret Base TV programs -#define VAR_SECRET_BASE_IS_NOT_LOCAL 0x40F0 // Set to TRUE while in another player's secret base. -#define VAR_DAILY_BP 0x40F1 -#define VAR_WALLY_CALL_STEP_COUNTER 0x40F2 -#define VAR_SCOTT_FORTREE_CALL_STEP_COUNTER 0x40F3 -#define VAR_ROXANNE_CALL_STEP_COUNTER 0x40F4 -#define VAR_SCOTT_BF_CALL_STEP_COUNTER 0x40F5 -#define VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER 0x40F6 -#define VAR_UNUSED_0x40F7 0x40F7 // Unused Var -#define VAR_UNUSED_0x40F8 0x40F8 // Unused Var -#define VAR_UNUSED_0x40F9 0x40F9 // Unused Var -#define VAR_UNUSED_0x40FA 0x40FA // Unused Var -#define VAR_UNUSED_0x40FB 0x40FB // Unused Var -#define VAR_UNUSED_0x40FC 0x40FC // Unused Var -#define VAR_UNUSED_0x40FD 0x40FD // Unused Var -#define VAR_UNUSED_0x40FE 0x40FE // Unused Var -#define VAR_UNUSED_0x40FF 0x40FF // Unused Var +#define VAR_REGISTER_BIRCH_STATE 0x40DA +#define VAR_UNUSED_0x40DB 0x40DB // Unused Var +#define VAR_UNUSED_0x40DC 0x40DC // Unused Var +#define VAR_GIFT_PICHU_SLOT 0x40DD +#define VAR_GIFT_UNUSED_1 0x40DE // Var is written to, but never read +#define VAR_GIFT_UNUSED_2 0x40DF // Var is written to, but never read +#define VAR_GIFT_UNUSED_3 0x40E0 // Var is written to, but never read +#define VAR_GIFT_UNUSED_4 0x40E1 // Var is written to, but never read +#define VAR_GIFT_UNUSED_5 0x40E2 // Var is written to, but never read +#define VAR_GIFT_UNUSED_6 0x40E3 // Var is written to, but never read +#define VAR_GIFT_UNUSED_7 0x40E4 // var is written to, but never read +#define VAR_UNUSED_0x40E5 0x40E5 // Unused Var +#define VAR_DAILY_SLOTS 0x40E6 +#define VAR_DAILY_WILDS 0x40E7 +#define VAR_DAILY_BLENDER 0x40E8 +#define VAR_DAILY_PLANTED_BERRIES 0x40E9 +#define VAR_DAILY_PICKED_BERRIES 0x40EA +#define VAR_DAILY_ROULETTE 0x40EB +#define VAR_SECRET_BASE_STEP_COUNTER 0x40EC // Used by Secret Base TV programs +#define VAR_SECRET_BASE_LAST_ITEM_USED 0x40ED // Used by Secret Base TV programs +#define VAR_SECRET_BASE_LOW_TV_FLAGS 0x40EE // Used by Secret Base TV programs +#define VAR_SECRET_BASE_HIGH_TV_FLAGS 0x40EF // Used by Secret Base TV programs +#define VAR_SECRET_BASE_IS_NOT_LOCAL 0x40F0 // Set to TRUE while in another player's secret base. +#define VAR_DAILY_BP 0x40F1 +#define VAR_WALLY_CALL_STEP_COUNTER 0x40F2 +#define VAR_SCOTT_FORTREE_CALL_STEP_COUNTER 0x40F3 +#define VAR_ROXANNE_CALL_STEP_COUNTER 0x40F4 +#define VAR_SCOTT_BF_CALL_STEP_COUNTER 0x40F5 +#define VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER 0x40F6 +#define VAR_UNUSED_0x40F7 0x40F7 // Unused Var +#define VAR_UNUSED_0x40F8 0x40F8 // Unused Var +#define VAR_UNUSED_0x40F9 0x40F9 // Unused Var +#define VAR_UNUSED_0x40FA 0x40FA // Unused Var +#define VAR_UNUSED_0x40FB 0x40FB // Unused Var +#define VAR_UNUSED_0x40FC 0x40FC // Unused Var +#define VAR_UNUSED_0x40FD 0x40FD // Unused Var +#define VAR_UNUSED_0x40FE 0x40FE // Unused Var +#define VAR_UNUSED_0x40FF 0x40FF // Unused Var -#define VARS_END 0x40FF -#define VARS_COUNT (VARS_END - VARS_START + 1) +#define VARS_END 0x40FF +#define VARS_COUNT (VARS_END - VARS_START + 1) #define SPECIAL_VARS_START 0x8000 // special vars diff --git a/include/data.h b/include/data.h index 2d3619e679..0cd87fc99a 100644 --- a/include/data.h +++ b/include/data.h @@ -57,6 +57,11 @@ struct TrainerMonItemCustomMoves u16 moves[MAX_MON_MOVES]; }; +#define NO_ITEM_DEFAULT_MOVES(party) { .NoItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = 0 +#define NO_ITEM_CUSTOM_MOVES(party) { .NoItemCustomMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET +#define ITEM_DEFAULT_MOVES(party) { .ItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_HELD_ITEM +#define ITEM_CUSTOM_MOVES(party) { .ItemCustomMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM + union TrainerMonPtr { const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; @@ -71,7 +76,7 @@ struct Trainer /*0x01*/ u8 trainerClass; /*0x02*/ u8 encounterMusic_gender; // last bit is gender /*0x03*/ u8 trainerPic; - /*0x04*/ u8 trainerName[12]; + /*0x04*/ u8 trainerName[TRAINER_NAME_LENGTH + 1]; /*0x10*/ u16 items[MAX_TRAINER_ITEMS]; /*0x18*/ bool8 doubleBattle; /*0x1C*/ u32 aiFlags; diff --git a/include/decompress.h b/include/decompress.h index 14906211cf..5e33665b72 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -10,15 +10,15 @@ void LZDecompressVram(const u32 *src, void *dest); u16 LoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src); void LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer); -bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet* src); +bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet *src); void LoadCompressedSpritePalette(const struct CompressedSpritePalette *src); void LoadCompressedSpritePaletteOverrideBuffer(const struct CompressedSpritePalette *src, void *buffer); bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette *src); -void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffer, s32 species); -void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buffer, s32 species); -void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void* buffer, s32 species); +void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void *buffer, s32 species); +void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void *buffer, s32 species); +void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *buffer, s32 species); void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality); void HandleLoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality); diff --git a/include/event_object_movement.h b/include/event_object_movement.h index d31802a67f..aad161553c 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -63,7 +63,7 @@ struct PairedPalettes struct LockedAnimObjectEvents { - u8 objectEventIds[OBJECT_EVENTS_COUNT]; + u8 localIds[OBJECT_EVENTS_COUNT]; u8 count; }; @@ -77,55 +77,55 @@ extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[]; extern const u8 *const gBerryTreePaletteSlotTablePointers[]; void ResetObjectEvents(void); -u8 GetMoveDirectionAnimNum(u8); -u8 GetObjectEventIdByLocalIdAndMap(u8, u8, u8); -bool8 TryGetObjectEventIdByLocalIdAndMap(u8, u8, u8, u8 *); -u8 GetObjectEventIdByXY(s16, s16); -void SetObjectEventDirection(struct ObjectEvent *, u8); +u8 GetMoveDirectionAnimNum(u8 direction); +u8 GetObjectEventIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId); +bool8 TryGetObjectEventIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId, u8 *objectEventId); +u8 GetObjectEventIdByXY(s16 x, s16 y); +void SetObjectEventDirection(struct ObjectEvent *objectEvent, u8 direction); u8 GetFirstInactiveObjectEventId(void); -void RemoveObjectEventByLocalIdAndMap(u8, u8, u8); -void LoadPlayerObjectReflectionPalette(u16, u8); -void LoadSpecialObjectReflectionPalette(u16, u8); -void TryMoveObjectEventToMapCoords(u8, u8, u8, s16, s16); -void PatchObjectPalette(u16, u8); -void SpawnObjectEventsOnReturnToField(s16, s16); +void RemoveObjectEventByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup); +void LoadPlayerObjectReflectionPalette(u16 tag, u8 slot); +void LoadSpecialObjectReflectionPalette(u16 tag, u8 slot); +void TryMoveObjectEventToMapCoords(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); +void PatchObjectPalette(u16 paletteTag, u8 paletteSlot); +void SpawnObjectEventsOnReturnToField(s16 x, s16 y); void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat); -void GetMapCoordsFromSpritePos(s16, s16, s16 *, s16 *); -u8 GetFaceDirectionAnimNum(u8); -void SetSpritePosToOffsetMapCoords(s16 *, s16 *, s16, s16); +void GetMapCoordsFromSpritePos(s16 x, s16 y, s16 *destX, s16 *destY); +u8 GetFaceDirectionAnimNum(u8 direction); +void SetSpritePosToOffsetMapCoords(s16 *x, s16 *y, s16 dx, s16 dy); void ObjectEventClearHeldMovement(struct ObjectEvent *); void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *); -void TrySpawnObjectEvents(s16, s16); +void TrySpawnObjectEvents(s16 cameraX, s16 cameraY); u8 CreateObjectGraphicsSprite(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority); -u8 TrySpawnObjectEvent(u8, u8, u8); +u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup); u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation); u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *); -void SetSpritePosToMapCoords(s16, s16, s16 *, s16 *); +void SetSpritePosToMapCoords(s16 mapX, s16 mapY, s16 *destX, s16 *destY); void CameraObjectReset1(void); void ObjectEventSetGraphicsId(struct ObjectEvent *, u8 graphicsId); -void ObjectEventTurn(struct ObjectEvent *, u8); -void ObjectEventTurnByLocalIdAndMap(u8, u8, u8, u8); +void ObjectEventTurn(struct ObjectEvent *, u8 direction); +void ObjectEventTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction); const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8 graphicsId); -void SetObjectInvisibility(u8, u8, u8, bool8); +void SetObjectInvisibility(u8 localId, u8 mapNum, u8 mapGroup, bool8 invisible); void FreeAndReserveObjectSpritePalettes(void); void SetObjectEventSpritePosByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); -void ResetObjectSubpriority(u8, u8, u8); -void SetObjectSubpriority(u8, u8, u8, u8); -void AllowObjectAtPosTriggerGroundEffects(s16, s16); +void ResetObjectSubpriority(u8 localId, u8 mapNum, u8 mapGroup); +void SetObjectSubpriority(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority); +void AllowObjectAtPosTriggerGroundEffects(s16 x, s16 y); void ObjectEventGetLocalIdAndMap(struct ObjectEvent *objectEvent, void *localId, void *mapNum, void *mapGroup); -void ShiftObjectEventCoords(struct ObjectEvent *, s16, s16); -void MoveObjectEventToMapCoords(struct ObjectEvent *, s16, s16); -void TryOverrideObjectEventTemplateCoords(u8, u8, u8); +void ShiftObjectEventCoords(struct ObjectEvent *, s16 x, s16 y); +void MoveObjectEventToMapCoords(struct ObjectEvent *, s16 x, s16 y); +void TryOverrideObjectEventTemplateCoords(u8 localId, u8 mapNum, u8 mapGroup); void InitObjectEventPalettes(u8 palSlot); void UpdateObjectEventCurrentMovement(struct ObjectEvent *, struct Sprite *, bool8(struct ObjectEvent *, struct Sprite *)); -u8 ObjectEventFaceOppositeDirection(struct ObjectEvent *, u8); -u8 GetOppositeDirection(u8); +u8 ObjectEventFaceOppositeDirection(struct ObjectEvent *, u8 direction); +u8 GetOppositeDirection(u8 direction); u8 GetWalkInPlaceFasterMovementAction(u32); u8 GetWalkInPlaceFastMovementAction(u32); u8 GetWalkInPlaceNormalMovementAction(u32); u8 GetWalkInPlaceSlowMovementAction(u32); -u8 GetCollisionAtCoords(struct ObjectEvent *, s16, s16, u32); -void MoveCoords(u8, s16 *, s16 *); +u8 GetCollisionAtCoords(struct ObjectEvent *, s16 x, s16 y, u32 dir); +void MoveCoords(u8 direction, s16 *x, s16 *y); bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *); u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *); u8 GetObjectEventIdByPosition(u16 x, u16 y, u8 elevation); @@ -168,22 +168,22 @@ u8 AddCameraObject(u8 linkedSpriteId); void UpdateObjectEventsForCameraUpdate(s16 x, s16 y); u8 GetWalkSlowMovementAction(u32); u8 GetJumpMovementAction(u32); -u8 ElevationToPriority(u8); +u8 ElevationToPriority(u8 elevation); void ObjectEventUpdateElevation(struct ObjectEvent *objEvent); -void SetObjectSubpriorityByElevation(u8, struct Sprite *, u8); +void SetObjectSubpriorityByElevation(u8 elevation, struct Sprite *, u8 subpriority); void UnfreezeObjectEvent(struct ObjectEvent *); u8 FindLockedObjectEventIndex(struct ObjectEvent *); -void SetAndStartSpriteAnim(struct Sprite *, u8, u8); +void SetAndStartSpriteAnim(struct Sprite *, u8 animNum, u8 animCmdIndex); bool8 SpriteAnimEnded(struct Sprite *); void UnfreezeObjectEvents(void); void FreezeObjectEventsExceptOne(u8 objectEventId); void FreezeObjectEventsExceptTwo(u8 objectEventId1, u8 objectEventId2); void FreezeObjectEvents(void); bool8 FreezeObjectEvent(struct ObjectEvent *objectEvent); -u8 GetMoveDirectionFastAnimNum(u8); -u8 GetMoveDirectionFasterAnimNum(u8); -u8 GetMoveDirectionFastestAnimNum(u8); -u8 GetLedgeJumpDirection(s16, s16, u8); +u8 GetMoveDirectionFastAnimNum(u8 direction); +u8 GetMoveDirectionFasterAnimNum(u8 direction); +u8 GetMoveDirectionFastestAnimNum(u8 direction); +u8 GetLedgeJumpDirection(s16 x, s16 y, u8 direction); void CameraObjectSetFollowedSpriteId(u8 objectId); u16 GetObjectPaletteTag(u8 palSlot); void UpdateObjectEventSpriteInvisibility(struct Sprite *sprite, bool8 invisible); @@ -192,7 +192,7 @@ s16 GetFigure8YOffset(s16 idx); void CameraObjectReset2(void); u8 GetObjectEventBerryTreeId(u8 objectEventId); void SetBerryTreeJustPicked(u8 mapId, u8 mapNumber, u8 mapGroup); -bool8 IsBerryTreeSparkling(u8, u8, u8); +bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup); void MovementType_None(struct Sprite *); void MovementType_LookAround(struct Sprite *); @@ -250,7 +250,6 @@ void MovementType_RunInPlace(struct Sprite *); void MovementType_Invisible(struct Sprite *); void MovementType_WalkSlowlyInPlace(struct Sprite *); u8 GetSlideMovementAction(u32); -u8 GetJumpInPlaceMovementAction(u32); u8 GetJumpMovementAction(u32); u8 GetJump2MovementAction(u32); u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority); @@ -262,17 +261,17 @@ u8 MovementType_WanderAround_Step3(struct ObjectEvent *, struct Sprite *); u8 MovementType_WanderAround_Step4(struct ObjectEvent *, struct Sprite *); u8 MovementType_WanderAround_Step5(struct ObjectEvent *, struct Sprite *); u8 MovementType_WanderAround_Step6(struct ObjectEvent *, struct Sprite *); -u8 GetVectorDirection(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_SouthNorth(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_WestEast(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_WestNorth(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_EastNorth(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_WestSouth(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_EastSouth(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_SouthNorthWest(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_SouthNorthEast(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_NorthWestEast(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_SouthWestEast(s16, s16, s16, s16); +u8 GetVectorDirection(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_SouthNorth(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_WestEast(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_WestNorth(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_EastNorth(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_WestSouth(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_EastSouth(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_SouthNorthWest(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_SouthNorthEast(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_NorthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_SouthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy); u8 MovementType_LookAround_Step0(struct ObjectEvent *, struct Sprite *); u8 MovementType_LookAround_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementType_LookAround_Step2(struct ObjectEvent *, struct Sprite *); diff --git a/include/evolution_scene.h b/include/evolution_scene.h index 5f8c534b93..25d34eddfb 100644 --- a/include/evolution_scene.h +++ b/include/evolution_scene.h @@ -1,9 +1,9 @@ #ifndef GUARD_EVOLUTION_SCENE_H #define GUARD_EVOLUTION_SCENE_H -void BeginEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); -void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); -void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpriteID, u8 partyID); +void BeginEvolutionScene(struct Pokemon *mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); +void EvolutionScene(struct Pokemon *mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); +void TradeEvolutionScene(struct Pokemon *mon, u16 speciesToEvolve, u8 preEvoSpriteID, u8 partyID); extern void (*gCB2_AfterEvolution)(void); diff --git a/include/faraway_island.h b/include/faraway_island.h index a5243c6a70..9fd2a69fc4 100755 --- a/include/faraway_island.h +++ b/include/faraway_island.h @@ -2,7 +2,7 @@ #define GUARD_FARAWAY_ISLAND_H u32 GetMewMoveDirection(void); -bool8 ShouldMewShakeGrass(struct ObjectEvent*); +bool8 ShouldMewShakeGrass(struct ObjectEvent *); void UpdateFarawayIslandStepCounter(void); bool8 ObjectEventIsFarawayIslandMew(struct ObjectEvent *); bool8 IsMewPlayingHideAndSeek(void); diff --git a/include/field_effect.h b/include/field_effect.h index 731fb9c59f..4cde29e8a3 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -18,7 +18,7 @@ void FieldEffectStop(struct Sprite *sprite, u8 id); u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer); void FldEff_TeleportWarpOut(void); void FieldEffectActiveListRemove(u8 id); -void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8); +void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b); void FieldEffectActiveListAdd(u8 id); void FieldEffectScript_LoadTiles(u8 **script); void FieldEffectScript_LoadFadedPalette(u8 **script); @@ -39,8 +39,8 @@ void StartEscalatorWarp(u8 metatileBehavior, u8 priority); void StartLavaridgeGymB1FWarp(u8 priority); void StartLavaridgeGym1FWarp(u8 priority); -void SpriteCB_AshPuff(struct Sprite*); -void SpriteCB_AshLaunch(struct Sprite*); +void SpriteCB_AshPuff(struct Sprite *); +void SpriteCB_AshLaunch(struct Sprite *); void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b); void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId); diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 528492d814..2ae5d79f75 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -20,25 +20,25 @@ void SetSurfBlob_PlayerOffset(u8 spriteId, bool8 hasOffset, s16 offset); bool8 UpdateRevealDisguise(struct ObjectEvent *); void StartRevealDisguise(struct ObjectEvent *); void StartAshFieldEffect(s16, s16, u16, s16); -void SetUpReflection(struct ObjectEvent*, struct Sprite*, u8); -u32 StartFieldEffectForObjectEvent(u8, struct ObjectEvent*); +void SetUpReflection(struct ObjectEvent *, struct Sprite *, u8); +u32 StartFieldEffectForObjectEvent(u8, struct ObjectEvent *); u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); -void UpdateRayquazaSpotlightEffect(struct Sprite*); -void UpdateShadowFieldEffect(struct Sprite*); -void UpdateTallGrassFieldEffect(struct Sprite*); -void WaitFieldEffectSpriteAnim(struct Sprite*); -void UpdateAshFieldEffect(struct Sprite*); -void UpdateSurfBlobFieldEffect(struct Sprite*); -void UpdateJumpImpactEffect(struct Sprite*); -void UpdateFootprintsTireTracksFieldEffect(struct Sprite*); -void UpdateSplashFieldEffect(struct Sprite*); -void UpdateLongGrassFieldEffect(struct Sprite*); -void UpdateSandPileFieldEffect(struct Sprite*); -void UpdateDisguiseFieldEffect(struct Sprite*); -void UpdateShortGrassFieldEffect(struct Sprite*); -void UpdateHotSpringsWaterFieldEffect(struct Sprite*); -void UpdateBubblesFieldEffect(struct Sprite*); -void UpdateSparkleFieldEffect(struct Sprite*); +void UpdateRayquazaSpotlightEffect(struct Sprite *); +void UpdateShadowFieldEffect(struct Sprite *); +void UpdateTallGrassFieldEffect(struct Sprite *); +void WaitFieldEffectSpriteAnim(struct Sprite *); +void UpdateAshFieldEffect(struct Sprite *); +void UpdateSurfBlobFieldEffect(struct Sprite *); +void UpdateJumpImpactEffect(struct Sprite *); +void UpdateFootprintsTireTracksFieldEffect(struct Sprite *); +void UpdateSplashFieldEffect(struct Sprite *); +void UpdateLongGrassFieldEffect(struct Sprite *); +void UpdateSandPileFieldEffect(struct Sprite *); +void UpdateDisguiseFieldEffect(struct Sprite *); +void UpdateShortGrassFieldEffect(struct Sprite *); +void UpdateHotSpringsWaterFieldEffect(struct Sprite *); +void UpdateBubblesFieldEffect(struct Sprite *); +void UpdateSparkleFieldEffect(struct Sprite *); void SetSpriteInvisible(u8 spriteId); void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y); diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 2bf2df2697..39fc886af8 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -38,7 +38,7 @@ void PlayerFreeze(void); void StopPlayerAvatar(void); void SetSpinStartFacingDir(u8); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); -u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8); +u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender); void SetPlayerAvatarFieldMove(void); u8 GetPlayerAvatarGraphicsIdByCurrentState(void); void SetPlayerAvatarStateMask(u8 flags); diff --git a/include/fieldmap.h b/include/fieldmap.h index e7497f7bd4..2f7eaba66b 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -25,8 +25,8 @@ u32 MapGridGetMetatileIdAt(int, int); u32 MapGridGetMetatileBehaviorAt(int, int); void MapGridSetMetatileIdAt(int, int, u16); void MapGridSetMetatileEntryAt(int, int, u16); -void GetCameraCoords(u16*, u16*); -bool8 MapGridIsImpassableAt(int, int); +void GetCameraCoords(u16 *, u16 *); +u8 MapGridGetCollisionAt(int, int); int GetMapBorderIdAt(int x, int y); bool32 CanCameraMoveInDirection(int direction); u16 GetMetatileAttributesById(u16 metatileId); @@ -47,7 +47,7 @@ void CopySecondaryTilesetToVramUsingHeap(struct MapLayout const *mapLayout); void CopyPrimaryTilesetToVram(const struct MapLayout *); void CopySecondaryTilesetToVram(const struct MapLayout *); struct MapHeader const *const GetMapHeaderFromConnection(struct MapConnection *connection); -struct MapConnection *GetConnectionAtCoords(s16 x, s16 y); +struct MapConnection *GetMapConnectionAtPos(s16 x, s16 y); void MapGridSetMetatileImpassabilityAt(int x, int y, bool32 impassable); // field_region_map.c diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h index 1be3852e3b..91aa9f214e 100644 --- a/include/gba/isagbprint.h +++ b/include/gba/isagbprint.h @@ -1,50 +1,64 @@ #ifndef GUARD_GBA_ISAGBPRINT_H #define GUARD_GBA_ISAGBPRINT_H +#include "gba/types.h" + +#define MGBA_LOG_FATAL (0) +#define MGBA_LOG_ERROR (1) +#define MGBA_LOG_WARN (2) +#define MGBA_LOG_INFO (3) +#define MGBA_LOG_DEBUG (4) + #ifdef NDEBUG +#define DebugPrintf(pBuf, ...) +#define MgbaOpen() +#define MgbaClose() #define AGBPrintInit() -#define AGBPutc(cChr) -#define AGBPrint(pBuf) -#define AGBPrintf(pBuf, ...) -#define AGBPrintFlush1Block() -#define AGBPrintFlush() -#define AGBAssert(pFile, nLine, pExpression, nStopProgram) +#define DebugAssert(pFile, nLine, pExpression, nStopProgram) #else -void AGBPrintInit(void); -void AGBPutc(const char cChr); -void AGBPrint(const char *pBuf); + +bool32 MgbaOpen(void); +void MgbaClose(void); +void MgbaPrintf(s32 level, const char *pBuf, ...); +void MgbaAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram); +void NoCashGBAPrintf(const char *pBuf, ...); +void NoCashGBAAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram); void AGBPrintf(const char *pBuf, ...); -void AGBPrintFlush1Block(void); -void AGBPrintFlush(void); void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopProgram); +void AGBPrintInit(void); + +#if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) + +#define DebugPrintf(pBuf, ...) MgbaPrintf(MGBA_LOG_INFO, pBuf, __VA_ARGS__) +#define DebugAssert(pFile, nLine, pExpression, nStopProgram) MgbaAssert(pFile, nLine, pExpression, nStopProgram) + +#elif (LOG_HANDLER == LOG_HANDLER_NOCASH_PRINT) + +#define DebugPrintf(pBuf, ...) NoCashGBAPrintf(pBuf, __VA_ARGS__) +#define DebugAssert(pFile, nLine, pExpression, nStopProgram) NoCashGBAAssert(pFile, nLine, pExpression, nStopProgram) + +#else // Default to AGBPrint + +#define DebugPrintf(pBuf, ...) AGBPrintf(const char *pBuf, ...) +#define DebugAssert(pFile, nLine, pExpression, nStopProgram) AGBAssert(pFile, nLine, pExpression, nStopProgram) + +#endif #endif -#undef AGB_ASSERT #ifdef NDEBUG + #define AGB_ASSERT(exp) -#else -#define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 1); -#endif - -#undef AGB_WARNING -#ifdef NDEBUG #define AGB_WARNING(exp) -#else -#define AGB_WARNING(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 0); -#endif +#define AGB_ASSERT_EX(exp, file, line) +#define AGB_WARNING_EX(exp, file, line) -// for matching purposes - -#ifdef NDEBUG -#define AGB_ASSERT_EX(exp, file, line) #else -#define AGB_ASSERT_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 1); -#endif -#ifdef NDEBUG -#define AGB_WARNING_EX(exp, file, line) -#else -#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 0); +#define AGB_ASSERT(exp) (exp) ? ((void*)0) : DebugAssert(__FILE__, __LINE__, #exp, TRUE) +#define AGB_WARNING(exp) (exp) ? ((void*)0) : DebugAssert(__FILE__, __LINE__, #exp, FALSE) + +#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void *)0) : DebugAssert(file, line, #exp, FALSE); +#define AGB_ASSERT_EX(exp, file, line) (exp) ? ((void *)0) : DebugAssert(file, line, #exp, TRUE); #endif #endif // GUARD_GBA_ISAGBPRINT_H diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 974fa3382b..2be44a5f3b 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -4,9 +4,9 @@ // Masks/shifts for blocks in the map grid // Map grid blocks consist of a 10 bit metatile id, a 2 bit collision value, and a 4 bit elevation value // This is the data stored in each data/layouts/*/map.bin file -#define MAPGRID_METATILE_ID_MASK 0x03FF // Bits 1-10 -#define MAPGRID_COLLISION_MASK 0x0C00 // Bits 11-12 -#define MAPGRID_ELEVATION_MASK 0xF000 // Bits 13-16 +#define MAPGRID_METATILE_ID_MASK 0x03FF // Bits 0-9 +#define MAPGRID_COLLISION_MASK 0x0C00 // Bits 10-11 +#define MAPGRID_ELEVATION_MASK 0xF000 // Bits 12-15 #define MAPGRID_COLLISION_SHIFT 10 #define MAPGRID_ELEVATION_SHIFT 12 @@ -16,8 +16,8 @@ // Masks/shifts for metatile attributes // Metatile attributes consist of an 8 bit behavior value, 4 unused bits, and a 4 bit layer type value // This is the data stored in each data/tilesets/*/*/metatile_attributes.bin file -#define METATILE_ATTR_BEHAVIOR_MASK 0x00FF // Bits 1-8 -#define METATILE_ATTR_LAYER_MASK 0xF000 // Bits 13-16 +#define METATILE_ATTR_BEHAVIOR_MASK 0x00FF // Bits 0-7 +#define METATILE_ATTR_LAYER_MASK 0xF000 // Bits 12-15 #define METATILE_ATTR_LAYER_SHIFT 12 enum { diff --git a/include/global.h b/include/global.h index 64af518ce8..6e2cfa9b80 100644 --- a/include/global.h +++ b/include/global.h @@ -102,13 +102,13 @@ #define T1_READ_8(ptr) ((ptr)[0]) #define T1_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8)) #define T1_READ_32(ptr) ((ptr)[0] | ((ptr)[1] << 8) | ((ptr)[2] << 16) | ((ptr)[3] << 24)) -#define T1_READ_PTR(ptr) (u8*) T1_READ_32(ptr) +#define T1_READ_PTR(ptr) (u8 *) T1_READ_32(ptr) // T2_READ_8 is a duplicate to remain consistent with each group. #define T2_READ_8(ptr) ((ptr)[0]) #define T2_READ_16(ptr) ((ptr)[0] + ((ptr)[1] << 8)) #define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) -#define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr) +#define T2_READ_PTR(ptr) (void *) T2_READ_32(ptr) // Macros for checking the joypad #define TEST_BUTTON(field, button) ((field) & (button)) @@ -878,7 +878,7 @@ struct MysteryGiftSave struct WonderCardMetadata cardMetadata; u16 questionnaireWords[NUM_QUESTIONNAIRE_WORDS]; struct WonderNewsMetadata newsMetadata; - u32 trainerIds[2][5]; // Saved ids for 10 trainers, 5 each for battles and trades + u32 trainerIds[2][5]; // Saved ids for 10 trainers, 5 each for battles and trades }; // 0x36C 0x3598 // For external event data storage. The majority of these may have never been used. diff --git a/include/global.tv.h b/include/global.tv.h index e24ead3f21..1fb1b8a333 100644 --- a/include/global.tv.h +++ b/include/global.tv.h @@ -81,7 +81,8 @@ typedef union // size = 0x24 /*0x01*/ bool8 active; /*0x02*/ u16 species; /*0x04*/ u8 pokemonName[POKEMON_NAME_LENGTH + 1]; - /*0x0F*/ u8 trainerName[11]; + /*0x0F*/ u8 trainerName[PLAYER_NAME_LENGTH + 1]; + /*0x17*/ u8 unused[3]; /*0x1A*/ u8 random; /*0x1B*/ u8 random2; /*0x1C*/ u16 randomSpecies; diff --git a/include/graphics.h b/include/graphics.h index 0972743c5f..8bdc85dc4a 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4063,18 +4063,24 @@ extern const u16 gBattleInterface_BallStatusBarPal[]; extern const u16 gBattleInterface_BallDisplayPal[]; extern const u8 gHealthboxElementsGfxTable[][32]; -extern const u16 gNamingScreenMenu_Pal[]; +extern const u16 gNamingScreenMenu_Pal[6][16]; extern const u32 gNamingScreenMenu_Gfx[]; extern const u32 gNamingScreenBackground_Tilemap[]; extern const u8 gNamingScreenKeyboardUpper_Tilemap[]; extern const u8 gNamingScreenKeyboardLower_Tilemap[]; extern const u8 gNamingScreenKeyboardSymbols_Tilemap[]; -extern const u8 gNamingScreenRWindow_Gfx[]; -extern const u8 gNamingScreenPageButton_Gfx[]; -extern const u8 gNamingScreenROptions_Gfx[]; -extern const u8 gNamingScreenCursor_Gfx[]; -extern const u8 gNamingScreenInputArrow_Gfx[]; -extern const u8 gNamingScreenUnderscore_Gfx[]; +extern const u32 gNamingScreenPageSwapFrame_Gfx[]; +extern const u32 gNamingScreenBackButton_Gfx[]; +extern const u32 gNamingScreenOKButton_Gfx[]; +extern const u32 gNamingScreenPageSwapButton_Gfx[]; +extern const u32 gNamingScreenPageSwapUpper_Gfx[]; +extern const u32 gNamingScreenPageSwapLower_Gfx[]; +extern const u32 gNamingScreenPageSwapOthers_Gfx[]; +extern const u32 gNamingScreenCursor_Gfx[]; +extern const u32 gNamingScreenCursorSquished_Gfx[]; +extern const u32 gNamingScreenCursorFilled_Gfx[]; +extern const u32 gNamingScreenInputArrow_Gfx[]; +extern const u32 gNamingScreenUnderscore_Gfx[]; extern const u32 gPokeblockFeedBg_Tilemap[]; @@ -4132,8 +4138,8 @@ extern const u16 gTilesetAnims_BattleDomePals0_1[]; extern const u16 gTilesetAnims_BattleDomePals0_2[]; extern const u16 gTilesetAnims_BattleDomePals0_3[]; -extern const u32 gBattleArenaJudgementSymbolsGfx[]; -extern const u32 gBattleArenaJudgementSymbolsPalette[]; +extern const u32 gBattleArenaJudgmentSymbolsGfx[]; +extern const u32 gBattleArenaJudgmentSymbolsPalette[]; extern const u32 gBattleWindowTextPalette[]; diff --git a/include/international_string_util.h b/include/international_string_util.h index dd5c6ac5fe..b0ac8afb6b 100644 --- a/include/international_string_util.h +++ b/include/international_string_util.h @@ -11,7 +11,7 @@ int GetStringRightAlignXOffset(int fontId, const u8 *str, int totalWidth); int GetStringCenterAlignXOffsetWithLetterSpacing(int fontId, const u8 *str, int totalWidth, int letterSpacing); int GetStringWidthDifference(int fontId, const u8 *str, int totalWidth, int letterSpacing); int GetMaxWidthInMenuTable(const struct MenuAction *actions, int numActions); -int GetMaxWidthInSubsetOfMenuTable(const struct MenuAction *actions, const u8* actionIds, int numActions); +int GetMaxWidthInSubsetOfMenuTable(const struct MenuAction *actions, const u8 *actionIds, int numActions); int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu); void CopyMonCategoryText(int dexNum, u8 *dest); u8 *GetStringClearToWidth(u8 *dest, int fontId, const u8 *str, int totalStringWidth); diff --git a/include/intro.h b/include/intro.h index 198ae26696..8ba030a287 100644 --- a/include/intro.h +++ b/include/intro.h @@ -7,7 +7,6 @@ // Exported ROM declarations void CB2_InitCopyrightScreenAfterBootup(void); -void CB2_InitCopyrightScreenAfterBootup(void); void CB2_InitCopyrightScreenAfterTitleScreen(void); void PanFadeAndZoomScreen(u16, u16, u16, u16); diff --git a/include/item_menu.h b/include/item_menu.h index fd576c3b5a..ce03cdacb8 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -71,7 +71,7 @@ struct BagMenu u8 unused1[2]; u8 pocketScrollArrowsTask; u8 pocketSwitchArrowsTask; - const u8* contextMenuItemsPtr; + const u8 *contextMenuItemsPtr; u8 contextMenuItemsBuffer[4]; u8 contextMenuNumItems; u8 numItemStacks[POCKETS_COUNT]; diff --git a/include/link.h b/include/link.h index 120c25784e..7fa5e3fae6 100644 --- a/include/link.h +++ b/include/link.h @@ -284,7 +284,7 @@ void SerialCB(void); bool32 InUnionRoom(void); void LoadWirelessStatusIndicatorSpriteGfx(void); bool8 IsLinkTaskFinished(void); -void CreateWirelessStatusIndicatorSprite(u8, u8); +void CreateWirelessStatusIndicatorSprite(u8 x, u8 y); void SetLinkStandbyCallback(void); void SetWirelessCommType1(void); void CheckShouldAdvanceLinkState(void); diff --git a/include/link_rfu.h b/include/link_rfu.h index dfbc716575..1e434e8303 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -97,12 +97,12 @@ struct RfuGameCompatibilityData // wireless play (the kind the Pokémon games use) the gname data can be used for // anything the developers want. This struct is what GF decided to use it for. // It can be up to 13 bytes in size (RFU_GAME_NAME_LENGTH). -// The player's name is sent separately as the username ("uname"), and does not -// use a struct (gHostRfuUsername). +// The player's name is sent separately as the username ("uname"), and does not +// use a struct (gHostRfuUsername). struct __attribute__((packed, aligned(2))) RfuGameData { struct RfuGameCompatibilityData compatibility; - u8 partnerInfo[RFU_CHILD_MAX]; + u8 partnerInfo[RFU_CHILD_MAX]; u16 tradeSpecies:10; u16 tradeType:6; u8 activity:7; @@ -118,7 +118,7 @@ struct __attribute__((packed, aligned(2))) RfuGameData // Bits 0-2 are a shortened trainerId // Bit 3 is the player's gender // Bits 4-6 are unknown/unused -// Bit 7 is an 'active' flag +// Bit 7 is an 'active' flag #define PINFO_TID_MASK 0x7 #define PINFO_GENDER_SHIFT 3 #define PINFO_ACTIVE_FLAG (1 << 7) diff --git a/include/load_save.h b/include/load_save.h index 309e62e2b4..389bd5a2b9 100644 --- a/include/load_save.h +++ b/include/load_save.h @@ -10,24 +10,24 @@ * toolchains. If this is not done, the ClearSav functions will end up erasing * the wrong memory leading to various glitches. */ -struct SaveBlock2DMA { +struct SaveBlock2ASLR { struct SaveBlock2 block; - u8 dma[SAVEBLOCK_MOVE_RANGE]; + u8 aslr[SAVEBLOCK_MOVE_RANGE]; }; -struct SaveBlock1DMA { +struct SaveBlock1ASLR { struct SaveBlock1 block; - u8 dma[SAVEBLOCK_MOVE_RANGE]; + u8 aslr[SAVEBLOCK_MOVE_RANGE]; }; -struct PokemonStorageDMA { +struct PokemonStorageASLR { struct PokemonStorage block; - u8 dma[SAVEBLOCK_MOVE_RANGE]; + u8 aslr[SAVEBLOCK_MOVE_RANGE]; }; -extern struct SaveBlock1DMA gSaveblock1; -extern struct SaveBlock2DMA gSaveblock2; -extern struct PokemonStorageDMA gPokemonStorage; +extern struct SaveBlock1ASLR gSaveblock1; +extern struct SaveBlock2ASLR gSaveblock2; +extern struct PokemonStorageASLR gPokemonStorage; extern bool32 gFlashMemoryPresent; extern struct SaveBlock1 *gSaveBlock1Ptr; diff --git a/include/mail.h b/include/mail.h index 68c532b310..f4590a70ec 100644 --- a/include/mail.h +++ b/include/mail.h @@ -15,7 +15,7 @@ || itemId == ITEM_RETRO_MAIL)) // mail.h -void ReadMail(struct Mail *mail, void (*callback)(void), bool8 flag); +void ReadMail(struct Mail *mail, void (*exitCallback)(void), bool8 hasText); // mail_data.h void ClearAllMail(void); diff --git a/include/menu.h b/include/menu.h index c38e87cbd6..0b0a42423d 100644 --- a/include/menu.h +++ b/include/menu.h @@ -50,7 +50,7 @@ void LoadMessageBoxAndBorderGfx(void); void DrawDialogueFrame(u8 windowId, bool8 copyToVram); void ClearStdWindowAndFrame(u8 windowId, bool8 copyToVram); u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 fgColor, u8 bgColor, u8 shadowColor); -void PrintPlayerNameOnWindow(u8, const u8*, u16, u16); +void PrintPlayerNameOnWindow(u8, const u8 *, u16, u16); void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram); void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram); void DisplayYesNoMenuDefaultYes(void); @@ -61,7 +61,7 @@ void AddTextPrinterWithCallbackForMessage(bool8 canSpeedUp, void (*callback)(str void BgDmaFill(u32 bg, u8 value, int offset, int size); void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str); void ClearStdWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram); -void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); +void SetWindowTemplateFields(struct WindowTemplate *template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); void ScheduleBgCopyTilemapToVram(u8 bgNum); void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs); @@ -92,7 +92,7 @@ void PrintMenuActionGrid(u8 windowId, u8 fontId, u8 left, u8 top, u8 optionWidth u8 InitMenuActionGrid(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos); u8 ChangeMenuGridCursorPosition(s8 deltaX, s8 deltaY); u8 GetStartMenuWindowId(void); -void ListMenuLoadStdPalAt(u8, u8); +void ListMenuLoadStdPalAt(u8 palOffset, u8 palId); u8 Menu_MoveCursor(s8 cursorDelta); u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta); void DrawStdWindowFrame(u8 windowId, bool8 CopyToVram); diff --git a/include/mini_printf.h b/include/mini_printf.h new file mode 100644 index 0000000000..a891327cc4 --- /dev/null +++ b/include/mini_printf.h @@ -0,0 +1,52 @@ +/* + * The Minimal snprintf() implementation + * + * Copyright (c) 2013 Michal Ludvig + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the auhor nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Courtey of https://github.com/mludvig/mini-printf + * stripped to reduce file size for agb needs + */ + +#ifndef __MINI_PRINTF__ +#define __MINI_PRINTF__ + +#include +#include "gba/types.h" + +#ifdef NDEBUG + +#define mini_vsnprintf(buffer, buffer_len, fmt, va) +#define mini_vpprintf(buf, fmt, va) + +#else + +s32 mini_vsnprintf(char* buffer, u32 buffer_len, const char *fmt, va_list va); +s32 mini_vpprintf(void* buf, const char *fmt, va_list va); + +#endif +#endif diff --git a/include/money.h b/include/money.h index 5c7c1c9842..e7a8379787 100644 --- a/include/money.h +++ b/include/money.h @@ -1,11 +1,11 @@ #ifndef GUARD_MONEY_H #define GUARD_MONEY_H -u32 GetMoney(u32* moneyPtr); -void SetMoney(u32* moneyPtr, u32 newValue); -bool8 IsEnoughMoney(u32* moneyPtr, u32 cost); -void AddMoney(u32* moneyPtr, u32 toAdd); -void RemoveMoney(u32* moneyPtr, u32 toSub); +u32 GetMoney(u32 *moneyPtr); +void SetMoney(u32 *moneyPtr, u32 newValue); +bool8 IsEnoughMoney(u32 *moneyPtr, u32 cost); +void AddMoney(u32 *moneyPtr, u32 toAdd); +void RemoveMoney(u32 *moneyPtr, u32 toSub); bool8 IsEnoughForCostInVar0x8005(void); void SubtractMoneyFromVar0x8005(void); void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed); diff --git a/include/palette.h b/include/palette.h index 81a1e1caec..736fde96bb 100644 --- a/include/palette.h +++ b/include/palette.h @@ -52,22 +52,22 @@ extern u8 gPaletteDecompressionBuffer[]; extern u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE]; extern u16 gPlttBufferFaded[PLTT_BUFFER_SIZE]; -void LoadCompressedPalette(const u32 *, u16, u16); -void LoadPalette(const void *, u16, u16); -void FillPalette(u16, u16, u16); +void LoadCompressedPalette(const u32 *src, u16 offset, u16 size); +void LoadPalette(const void *src, u16 offset, u16 size); +void FillPalette(u16 value, u16 offset, u16 size); void TransferPlttBuffer(void); u8 UpdatePaletteFade(void); void ResetPaletteFade(void); -bool8 BeginNormalPaletteFade(u32, s8, u8, u8, u16); -void PaletteStruct_ResetById(u16); +bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targetY, u16 blendColor); +void PaletteStruct_ResetById(u16 id); void ResetPaletteFadeControl(void); -void InvertPlttBuffer(u32); -void TintPlttBuffer(u32, s8, s8, s8); -void UnfadePlttBuffer(u32); -void BeginFastPaletteFade(u8); -void BeginHardwarePaletteFade(u8, u8, u8, u8, u8); +void InvertPlttBuffer(u32 selectedPalettes); +void TintPlttBuffer(u32 selectedPalettes, s8 r, s8 g, s8 b); +void UnfadePlttBuffer(u32 selectedPalettes); +void BeginFastPaletteFade(u8 submode); +void BeginHardwarePaletteFade(u8 blendCnt, u8 delay, u8 y, u8 targetY, u8 shouldResetBlendRegisters); void BlendPalettes(u32 selectedPalettes, u8 coeff, u16 color); -void BlendPalettesUnfaded(u32, u8, u16); +void BlendPalettesUnfaded(u32 selectedPalettes, u8 coeff, u16 color); void BlendPalettesGradually(u32 selectedPalettes, s8 delay, u8 coeff, u8 coeffTarget, u16 color, u8 priority, u8 id); void TintPalette_GrayScale(u16 *palette, u16 count); void TintPalette_GrayScale2(u16 *palette, u16 count); diff --git a/include/party_menu.h b/include/party_menu.h index 7f51d08c9f..40029f77b0 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -36,8 +36,8 @@ bool8 IsMultiBattle(void); u8 GetCursorSelectionMonId(void); u8 GetPartyMenuType(void); void Task_HandleChooseMonInput(u8 taskId); -u8* GetMonNickname(struct Pokemon *mon, u8 *dest); -u8 DisplayPartyMenuMessage(const u8* str, bool8 keepOpen); +u8 *GetMonNickname(struct Pokemon *mon, u8 *dest); +u8 DisplayPartyMenuMessage(const u8 *str, bool8 keepOpen); bool8 IsPartyMenuTextPrinterActive(void); void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 HPDifference, TaskFunc task); u8 GetAilmentFromStatus(u32 status); diff --git a/include/pokedex_area_screen.h b/include/pokedex_area_screen.h index 027d3e4a78..86dfaa6c5b 100755 --- a/include/pokedex_area_screen.h +++ b/include/pokedex_area_screen.h @@ -1,6 +1,6 @@ #ifndef GUARD_POKEDEX_AREA_SCREEN_H #define GUARD_POKEDEX_AREA_SCREEN_H -void ShowPokedexAreaScreen(u16, u8*); +void ShowPokedexAreaScreen(u16, u8 *); #endif // GUARD_POKEDEX_AREA_SCREEN_H diff --git a/include/pokedex_cry_screen.h b/include/pokedex_cry_screen.h index 4d2043292d..3401db22da 100755 --- a/include/pokedex_cry_screen.h +++ b/include/pokedex_cry_screen.h @@ -12,10 +12,10 @@ struct CryScreenWindow extern u8 gDexCryScreenState; -bool8 LoadCryWaveformWindow(struct CryScreenWindow*, u8); +bool8 LoadCryWaveformWindow(struct CryScreenWindow *, u8); void UpdateCryWaveformWindow(u8); void CryScreenPlayButton(u16); -bool8 LoadCryMeter(struct CryScreenWindow*, u8); +bool8 LoadCryMeter(struct CryScreenWindow *, u8); void FreeCryScreen(void); #endif diff --git a/include/pokemon.h b/include/pokemon.h index d173387fb9..e48618328d 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -3,6 +3,99 @@ #include "sprite.h" +// Property labels for Get(Box)MonData / Set(Box)MonData +enum { + MON_DATA_PERSONALITY, + MON_DATA_OT_ID, + MON_DATA_NICKNAME, + MON_DATA_LANGUAGE, + MON_DATA_SANITY_IS_BAD_EGG, + MON_DATA_SANITY_HAS_SPECIES, + MON_DATA_SANITY_IS_EGG, + MON_DATA_OT_NAME, + MON_DATA_MARKINGS, + MON_DATA_CHECKSUM, + MON_DATA_ENCRYPT_SEPARATOR, + MON_DATA_SPECIES, + MON_DATA_HELD_ITEM, + MON_DATA_MOVE1, + MON_DATA_MOVE2, + MON_DATA_MOVE3, + MON_DATA_MOVE4, + MON_DATA_PP1, + MON_DATA_PP2, + MON_DATA_PP3, + MON_DATA_PP4, + MON_DATA_PP_BONUSES, + MON_DATA_COOL, + MON_DATA_BEAUTY, + MON_DATA_CUTE, + MON_DATA_EXP, + MON_DATA_HP_EV, + MON_DATA_ATK_EV, + MON_DATA_DEF_EV, + MON_DATA_SPEED_EV, + MON_DATA_SPATK_EV, + MON_DATA_SPDEF_EV, + MON_DATA_FRIENDSHIP, + MON_DATA_SMART, + MON_DATA_POKERUS, + MON_DATA_MET_LOCATION, + MON_DATA_MET_LEVEL, + MON_DATA_MET_GAME, + MON_DATA_POKEBALL, + MON_DATA_HP_IV, + MON_DATA_ATK_IV, + MON_DATA_DEF_IV, + MON_DATA_SPEED_IV, + MON_DATA_SPATK_IV, + MON_DATA_SPDEF_IV, + MON_DATA_IS_EGG, + MON_DATA_ABILITY_NUM, + MON_DATA_TOUGH, + MON_DATA_SHEEN, + MON_DATA_OT_GENDER, + MON_DATA_COOL_RIBBON, + MON_DATA_BEAUTY_RIBBON, + MON_DATA_CUTE_RIBBON, + MON_DATA_SMART_RIBBON, + MON_DATA_TOUGH_RIBBON, + MON_DATA_STATUS, + MON_DATA_LEVEL, + MON_DATA_HP, + MON_DATA_MAX_HP, + MON_DATA_ATK, + MON_DATA_DEF, + MON_DATA_SPEED, + MON_DATA_SPATK, + MON_DATA_SPDEF, + MON_DATA_MAIL, + MON_DATA_SPECIES2, + MON_DATA_IVS, + MON_DATA_CHAMPION_RIBBON, + MON_DATA_WINNING_RIBBON, + MON_DATA_VICTORY_RIBBON, + MON_DATA_ARTIST_RIBBON, + MON_DATA_EFFORT_RIBBON, + MON_DATA_MARINE_RIBBON, + MON_DATA_LAND_RIBBON, + MON_DATA_SKY_RIBBON, + MON_DATA_COUNTRY_RIBBON, + MON_DATA_NATIONAL_RIBBON, + MON_DATA_EARTH_RIBBON, + MON_DATA_WORLD_RIBBON, + MON_DATA_UNUSED_RIBBONS, + MON_DATA_EVENT_LEGAL, + MON_DATA_KNOWN_MOVES, + MON_DATA_RIBBON_COUNT, + MON_DATA_RIBBONS, + MON_DATA_ATK2, + MON_DATA_DEF2, + MON_DATA_SPEED2, + MON_DATA_SPATK2, + MON_DATA_SPDEF2, +}; + struct PokemonSubstruct0 { u16 species; @@ -270,7 +363,7 @@ struct Evolution | (((personality) & 0x00000003) >> 0) \ ) % NUM_UNOWN_FORMS) -#define GET_SHINY_VALUE(otId, personality)HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality) +#define GET_SHINY_VALUE(otId, personality) (HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality)) extern u8 gPlayerPartyCount; extern struct Pokemon gPlayerParty[PARTY_SIZE]; @@ -289,7 +382,7 @@ extern const u8 gPPUpGetMask[]; extern const u8 gPPUpClearMask[]; extern const u8 gPPUpAddValues[]; extern const u8 gStatStageRatios[MAX_STAT_STAGE + 1][2]; -extern const u16 gLinkPlayerFacilityClasses[]; +extern const u16 gUnionRoomFacilityClasses[]; extern const struct SpriteTemplate gBattlerSpriteTemplates[]; extern const s8 gNatureStatTable[][5]; @@ -426,11 +519,11 @@ void SetWildMonHeldItem(void); bool8 IsMonShiny(struct Pokemon *mon); bool8 IsShinyOtIdPersonality(u32 otId, u32 personality); const u8 *GetTrainerPartnerName(void); -void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u8 panMode); -void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, u8 panModeAnimFlag); -void PokemonSummaryDoMonAnimation(struct Sprite* sprite, u16 species, bool8 oneFrame); +void BattleAnimateFrontSprite(struct Sprite *sprite, u16 species, bool8 noCry, u8 panMode); +void DoMonFrontSpriteAnimation(struct Sprite *sprite, u16 species, bool8 noCry, u8 panModeAnimFlag); +void PokemonSummaryDoMonAnimation(struct Sprite *sprite, u16 species, bool8 oneFrame); void StopPokemonAnimationDelayTask(void); -void BattleAnimateBackSprite(struct Sprite* sprite, u16 species); +void BattleAnimateBackSprite(struct Sprite *sprite, u16 species); u8 GetOpposingLinkMultiBattlerId(bool8 rightSide, u8 multiplayerId); u16 FacilityClassToPicIndex(u16 facilityClass); u16 PlayerGenderToFrontTrainerPicId(u8 playerGender); diff --git a/include/pokenav.h b/include/pokenav.h index 593c684890..c6a8bb253e 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -116,21 +116,21 @@ enum #define POKENAV_MENU_IDS_START 100000 enum { - POKENAV_MAIN_MENU = POKENAV_MENU_IDS_START, // The main menu where the player selects Hoenn Map/Condition/Match Call/Ribbons - POKENAV_MAIN_MENU_CURSOR_ON_MAP, - POKENAV_CONDITION_MENU, // The first Condition screen where the player selects Party or Search - POKENAV_CONDITION_SEARCH_MENU, // The Condition search menu where the player selects a search parameter - POKENAV_MAIN_MENU_CURSOR_ON_MATCH_CALL, - POKENAV_MAIN_MENU_CURSOR_ON_RIBBONS, - POKENAV_REGION_MAP, - POKENAV_CONDITION_GRAPH_PARTY, // The Condition graph screen when Party has been selected - POKENAV_CONDITION_SEARCH_RESULTS, // The list of results from a Condition search - POKENAV_CONDITION_GRAPH_SEARCH, // The Condition graph screen when a search result has been selected - POKENAV_RETURN_CONDITION_SEARCH, // Exited the graph screen back to the list of Condition search results - POKENAV_MATCH_CALL, - POKENAV_RIBBONS_MON_LIST, // The list of Pokémon with ribbons - POKENAV_RIBBONS_SUMMARY_SCREEN, // The ribbon summary screen shown when a Pokémon has been selected - POKENAV_RIBBONS_RETURN_TO_MON_LIST, // Exited the summary screen back to the ribbon list + POKENAV_MAIN_MENU = POKENAV_MENU_IDS_START, // The main menu where the player selects Hoenn Map/Condition/Match Call/Ribbons + POKENAV_MAIN_MENU_CURSOR_ON_MAP, + POKENAV_CONDITION_MENU, // The first Condition screen where the player selects Party or Search + POKENAV_CONDITION_SEARCH_MENU, // The Condition search menu where the player selects a search parameter + POKENAV_MAIN_MENU_CURSOR_ON_MATCH_CALL, + POKENAV_MAIN_MENU_CURSOR_ON_RIBBONS, + POKENAV_REGION_MAP, + POKENAV_CONDITION_GRAPH_PARTY, // The Condition graph screen when Party has been selected + POKENAV_CONDITION_SEARCH_RESULTS, // The list of results from a Condition search + POKENAV_CONDITION_GRAPH_SEARCH, // The Condition graph screen when a search result has been selected + POKENAV_RETURN_CONDITION_SEARCH, // Exited the graph screen back to the list of Condition search results + POKENAV_MATCH_CALL, + POKENAV_RIBBONS_MON_LIST, // The list of Pokémon with ribbons + POKENAV_RIBBONS_SUMMARY_SCREEN, // The ribbon summary screen shown when a Pokémon has been selected + POKENAV_RIBBONS_RETURN_TO_MON_LIST, // Exited the summary screen back to the ribbon list }; enum @@ -185,28 +185,28 @@ enum enum { - MC_HEADER_MR_STONE, - MC_HEADER_PROF_BIRCH, - MC_HEADER_BRENDAN, - MC_HEADER_MAY, - MC_HEADER_WALLY, - MC_HEADER_NORMAN, - MC_HEADER_MOM, - MC_HEADER_STEVEN, - MC_HEADER_SCOTT, - MC_HEADER_ROXANNE, - MC_HEADER_BRAWLY, - MC_HEADER_WATTSON, - MC_HEADER_FLANNERY, - MC_HEADER_WINONA, - MC_HEADER_TATE_LIZA, - MC_HEADER_JUAN, - MC_HEADER_SIDNEY, - MC_HEADER_PHOEBE, - MC_HEADER_GLACIA, - MC_HEADER_DRAKE, - MC_HEADER_WALLACE, - MC_HEADER_COUNT + MC_HEADER_MR_STONE, + MC_HEADER_PROF_BIRCH, + MC_HEADER_BRENDAN, + MC_HEADER_MAY, + MC_HEADER_WALLY, + MC_HEADER_NORMAN, + MC_HEADER_MOM, + MC_HEADER_STEVEN, + MC_HEADER_SCOTT, + MC_HEADER_ROXANNE, + MC_HEADER_BRAWLY, + MC_HEADER_WATTSON, + MC_HEADER_FLANNERY, + MC_HEADER_WINONA, + MC_HEADER_TATE_LIZA, + MC_HEADER_JUAN, + MC_HEADER_SIDNEY, + MC_HEADER_PHOEBE, + MC_HEADER_GLACIA, + MC_HEADER_DRAKE, + MC_HEADER_WALLACE, + MC_HEADER_COUNT }; enum diff --git a/include/save.h b/include/save.h index 89fc9ad33e..41913d1df4 100644 --- a/include/save.h +++ b/include/save.h @@ -9,8 +9,8 @@ #define NUM_SAVE_SLOTS 2 -// If the sector's security field is not this value then the sector is either invalid or empty. -#define SECTOR_SECURITY_NUM 0x8012025 +// If the sector's signature field is not this value then the sector is either invalid or empty. +#define SECTOR_SIGNATURE 0x8012025 #define SPECIAL_SECTOR_SENTINEL 0xB39D @@ -72,12 +72,12 @@ struct SaveSector u8 unused[SECTOR_FOOTER_SIZE - 12]; // Unused portion of the footer u16 id; u16 checksum; - u32 security; + u32 signature; u32 counter; }; // size is SECTOR_SIZE (0x1000) -#define SECTOR_SECURITY_OFFSET offsetof(struct SaveSector, security) -#define SECTOR_COUNTER_OFFSET offsetof(struct SaveSector, counter) +#define SECTOR_SIGNATURE_OFFSET offsetof(struct SaveSector, signature) +#define SECTOR_COUNTER_OFFSET offsetof(struct SaveSector, counter) extern u16 gLastWrittenSector; extern u32 gLastSaveCounter; @@ -99,13 +99,13 @@ u8 TrySavingData(u8 saveType); bool8 LinkFullSave_Init(void); bool8 LinkFullSave_WriteSector(void); bool8 LinkFullSave_ReplaceLastSector(void); -bool8 LinkFullSave_SetLastSectorSecurity(void); +bool8 LinkFullSave_SetLastSectorSignature(void); bool8 WriteSaveBlock2(void); bool8 WriteSaveBlock1Sector(void); u8 LoadGameSave(u8 saveType); u16 GetSaveBlocksPointersBaseOffset(void); -u32 TryReadSpecialSaveSector(u8 sector, u8* dst); -u32 TryWriteSpecialSaveSector(u8 sector, u8* src); +u32 TryReadSpecialSaveSector(u8 sector, u8 *dst); +u32 TryWriteSpecialSaveSector(u8 sector, u8 *src); void Task_LinkFullSave(u8 taskId); // save_failed_screen.c diff --git a/include/script.h b/include/script.h index 63f6f5aef9..7c180e961b 100644 --- a/include/script.h +++ b/include/script.h @@ -31,16 +31,16 @@ void ScriptCall(struct ScriptContext *ctx, const u8 *ptr); void ScriptReturn(struct ScriptContext *ctx); u16 ScriptReadHalfword(struct ScriptContext *ctx); u32 ScriptReadWord(struct ScriptContext *ctx); -void ScriptContext2_Enable(void); -void ScriptContext2_Disable(void); -bool8 ScriptContext2_IsEnabled(void); -void ScriptContext1_Init(void); -bool8 ScriptContext1_IsScriptSetUp(void); -bool8 ScriptContext2_RunScript(void); -void ScriptContext1_SetupScript(const u8 *ptr); -void ScriptContext1_Stop(void); -void EnableBothScriptContexts(void); -void ScriptContext2_RunNewScript(const u8 *ptr); +void LockPlayerFieldControls(void); +void UnlockPlayerFieldControls(void); +bool8 ArePlayerFieldControlsLocked(void); +void ScriptContext_Init(void); +bool8 ScriptContext_IsEnabled(void); +bool8 ScriptContext_RunScript(void); +void ScriptContext_SetupScript(const u8 *ptr); +void ScriptContext_Stop(void); +void ScriptContext_Enable(void); +void RunScriptImmediately(const u8 *ptr); u8 *MapHeaderGetScriptTable(u8 tag); void MapHeaderRunScriptType(u8 tag); u8 *MapHeaderCheckScriptTable(u8 tag); diff --git a/include/script_menu.h b/include/script_menu.h index a690ef8b8b..36b66bf987 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -12,7 +12,7 @@ bool8 (*ScriptMenu_HidePokemonPic(void))(void); int ConvertPixelWidthToTileWidth(int width); u8 CreateWindowFromRect(u8 x, u8 y, u8 width, u8 height); void ClearToTransparentAndRemoveWindow(u8 windowId); -int DisplayTextAndGetWidth(const u8* str, int width); +int DisplayTextAndGetWidth(const u8 *str, int width); int ScriptMenu_AdjustLeftCoordFromWidth(int left, int width); bool16 ScriptMenu_CreatePCMultichoice(void); void ScriptMenu_DisplayPCStartupPrompt(void); diff --git a/include/secret_base.h b/include/secret_base.h index b7d36a8ee9..cb3b95ee78 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -24,7 +24,7 @@ void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const st void TrySetCurSecretBaseIndex(void); void CheckPlayerHasSecretBase(void); void ToggleSecretBaseEntranceMetatile(void); -void EnableBothScriptContexts(void); +void ScriptContext_Enable(void); void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx); #endif //GUARD_SECRET_BASE_H diff --git a/include/sound.h b/include/sound.h index a5463a4561..b39a7306a6 100644 --- a/include/sound.h +++ b/include/sound.h @@ -12,7 +12,6 @@ void StopMapMusic(void); void FadeOutMapMusic(u8 speed); void FadeOutAndPlayNewMapMusic(u16 songNum, u8 speed); void FadeOutAndFadeInNewMapMusic(u16 songNum, u8 fadeOutSpeed, u8 fadeInSpeed); -void FadeInNewMapMusic(u16 songNum, u8 speed); bool8 IsNotWaitingForBGMStop(void); void PlayFanfareByFanfareNum(u8 fanfareNum); bool8 WaitFanfare(bool8 stop); diff --git a/include/start_menu.h b/include/start_menu.h index 1ddd82066d..94d0f9d5b6 100644 --- a/include/start_menu.h +++ b/include/start_menu.h @@ -11,6 +11,6 @@ void SaveGame(void); void CB2_SetUpSaveAfterLinkBattle(void); void SaveForBattleTowerLink(void); void HideStartMenu(void); -void AppendToList(u8* list, u8* pos, u8 newEntry); +void AppendToList(u8 *list, u8 *pos, u8 newEntry); #endif // GUARD_START_MENU_H diff --git a/include/strings.h b/include/strings.h index a22aa307bb..eeada2b943 100644 --- a/include/strings.h +++ b/include/strings.h @@ -179,7 +179,7 @@ extern const u8 gText_EmptyString2[]; extern const u8 gText_Confirm3[]; extern const u8 gText_Cancel4[]; extern const u8 gText_IsThisTheCorrectTime[]; -extern const u8 gText_PkmnFainted3[]; +extern const u8 gText_PkmnFainted_FldPsn[]; extern const u8 gText_Coins[]; extern const u8 gText_Silver[]; extern const u8 gText_Gold[]; @@ -2152,9 +2152,7 @@ extern const u8 gText_Switch2[]; extern const u8 gText_Item[]; extern const u8 gText_NotPkmnOtherTrainerWants[]; extern const u8 gText_ThatIsntAnEgg[]; -extern const u8 gText_PkmnCantBeTradedNow[]; extern const u8 gText_OtherTrainersPkmnCantBeTraded[]; -extern const u8 gText_EggCantBeTradedNow[]; extern const u8 gText_OtherTrainerCantAcceptPkmn[]; extern const u8 gText_CantTradeWithTrainer[]; @@ -3021,4 +3019,11 @@ extern const u8 gText_PkmnForSwap[]; extern const u8 gText_SamePkmnInPartyAlready[]; extern const u8 gText_Cancel3[]; +// Naming Screen +extern const u8 gText_MoveOkBack[]; +extern const u8 gText_YourName[]; +extern const u8 gText_BoxName[]; +extern const u8 gText_PkmnsNickname[]; +extern const u8 gText_TellHimTheWords[]; + #endif // GUARD_STRINGS_H diff --git a/include/trade.h b/include/trade.h index 27b5ee8bdf..d63749653a 100644 --- a/include/trade.h +++ b/include/trade.h @@ -14,10 +14,10 @@ void CB2_StartCreateTradeMenu(void); void CB2_LinkTrade(void); int CanRegisterMonForTradingBoard(struct RfuGameCompatibilityData player, u16 species2, u16 species, bool8 isEventLegal); int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct RfuGameCompatibilityData partner, u16 playerSpecies2, u16 partnerSpecies, u8 requestedType, u16 playerSpecies, bool8 isEventLegal); -int CanSpinTradeMon(struct Pokemon*, u16); +int CanSpinTradeMon(struct Pokemon *, u16); void InitTradeSequenceBgGpuRegs(void); void LinkTradeDrawWindow(void); -void InitTradeBg(void); +void LoadTradeAnimGfx(void); void DrawTextOnTradeWindow(u8, const u8 *, u8); #endif //GUARD_TRADE_H diff --git a/include/trainer_card.h b/include/trainer_card.h index f14335ae89..7c37a84a6c 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -54,7 +54,7 @@ struct TrainerCard /*0x4C*/ bool8 shouldDrawStickers; // FRLG only /*0x4D*/ u8 unused; /*0x4E*/ u8 monIconTint; // FRLG only - /*0x4F*/ u8 facilityClass; + /*0x4F*/ u8 unionRoomClass; /*0x50*/ u8 stickers[TRAINER_CARD_STICKER_TYPES]; // FRLG only /*0x54*/ u16 monSpecies[PARTY_SIZE]; // FRLG only // Note: Link players use linkHasAllFrontierSymbols, not the field below, diff --git a/include/trainer_hill.h b/include/trainer_hill.h index 954087e1bb..6e2ec0ba0a 100644 --- a/include/trainer_hill.h +++ b/include/trainer_hill.h @@ -5,7 +5,7 @@ struct TrainerHillTrainer { - u8 name[HILL_TRAINER_NAME_LENGTH]; + u8 name[TRAINER_NAME_LENGTH + 1]; u8 facilityClass; bool32 unused; // Set to TRUE on JP trainers u16 speechBefore[EASY_CHAT_BATTLE_WORDS_COUNT]; diff --git a/include/union_room.h b/include/union_room.h index acff4b5929..514a159850 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -7,7 +7,7 @@ // In the Union Room the player is only ever connected to ≤ 4 other players. // However, there can be up to MAX_UNION_ROOM_LEADERS (8) object events to -// represent leaders of recently discovered link groups, and each of those groups +// represent leaders of recently discovered link groups, and each of those groups // may have up to MAX_RFU_PLAYERS (5) players in it including the leader. // These players are represented on-screen by NPC sprites drawn around the leader. // Thus there can be 40 sprites of other players on-screen, in 8 groups of 5. @@ -16,7 +16,7 @@ // The maximum number of recently connected players that can be tracked. // Note that this is significantly less than NUM_UNION_ROOM_SPRITES, i.e. not // every player that can be shown in the Union Room can be tracked at once. -// Information such as a group member's gender can instead be read from partnerInfo +// Information such as a group member's gender can instead be read from partnerInfo // of the leader's RfuGameData by tracking at least all of the group leaders. #define MAX_RFU_PLAYER_LIST_SIZE 16 diff --git a/include/util.h b/include/util.h index 77062de96e..8f2079a0ba 100644 --- a/include/util.h +++ b/include/util.h @@ -12,7 +12,7 @@ void LoadWordFromTwoHalfwords(u16 *, u32 *); int CountTrailingZeroBits(u32 value); u16 CalcCRC16(const u8 *data, s32 length); u16 CalcCRC16WithTable(const u8 *data, u32 length); -u32 CalcByteArraySum(const u8* data, u32 length); +u32 CalcByteArraySum(const u8 *data, u32 length); void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor); void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha); void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output); diff --git a/ld_script.txt b/ld_script.txt index 1460c84435..34b8d85c41 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -20,6 +20,9 @@ SECTIONS { . = 0x1C000; INCLUDE "sym_ewram.ld" + src/*.o(.ewram_data); + gflib/*.o(.ewram_data); + *libc.a:impure.o(.data); *libc.a:locale.o(.data); *libc.a:mallocr.o(.data); @@ -33,6 +36,9 @@ SECTIONS { { /* .bss starts at 0x3000000 */ INCLUDE "sym_bss.ld" + src/*.o(.bss); + gflib/*.o(.bss); + data/*.o(.bss); /* .bss.code starts at 0x3001AA8 */ src/m4a.o(.bss.code); @@ -694,6 +700,7 @@ SECTIONS { src/battle_transition_frontier.o(.rodata); src/text_input_strings.o(.rodata); src/fonts.o(.rodata); + src/international_string_util.o(.rodata); src/mystery_event_msg.o(.rodata); data/mystery_gift.o(.rodata); src/m4a_tables.o(.rodata); @@ -1308,6 +1315,16 @@ SECTIONS { src/graphics.o(.rodata); } =0 + extra : + ALIGN(4) + { + src/*.o(.text); + gflib/*.o(.text); + src/*.o(.rodata); + gflib/*.o(.rodata); + data/*.o(.rodata); + } = 0 + /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ diff --git a/src/AgbRfu_LinkManager.c b/src/AgbRfu_LinkManager.c index f6ebcc7265..747a6c7849 100644 --- a/src/AgbRfu_LinkManager.c +++ b/src/AgbRfu_LinkManager.c @@ -49,7 +49,7 @@ u32 rfu_LMAN_REQBN_softReset_and_checkID(void) return id; } -void rfu_LMAN_REQ_sendData(u8 clockChangeFlag) +void rfu_LMAN_REQ_sendData(bool8 clockChangeFlag) { if (gRfuLinkStatus->parentChild == MODE_CHILD) { diff --git a/src/apprentice.c b/src/apprentice.c index 591ab79e4d..89017de33a 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -132,9 +132,9 @@ void BufferApprenticeChallengeText(u8 saveApprenticeId) StringExpandPlaceholders(gStringVar4, challengeText); } -void Apprentice_EnableBothScriptContexts(void) +void Apprentice_ScriptContext_Enable(void) { - EnableBothScriptContexts(); + ScriptContext_Enable(); } void ResetApprenticeStruct(struct Apprentice *apprentice) @@ -638,7 +638,7 @@ static void CreateApprenticeMenu(u8 menu) width = ConvertPixelWidthToTileWidth(pixelWidth); left = ScriptMenu_AdjustLeftCoordFromWidth(left, width); windowId = CreateAndShowWindow(left, top, width, count * 2); - SetStandardWindowBorderStyle(windowId, 0); + SetStandardWindowBorderStyle(windowId, FALSE); for (i = 0; i < count; i++) AddTextPrinterParameterized(windowId, FONT_NORMAL, strings[i], 8, (i * 16) + 1, TEXT_SKIP_DRAW, NULL); @@ -679,7 +679,7 @@ static void Task_ChooseAnswer(u8 taskId) RemoveAndHideWindow(tWindowId); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } static u8 CreateAndShowWindow(u8 left, u8 top, u8 width, u8 height) @@ -815,9 +815,9 @@ static void Task_WaitForPrintingMessage(u8 taskId) { DestroyTask(taskId); if (gSpecialVar_0x8005) - ExecuteFuncAfterButtonPress(EnableBothScriptContexts); + ExecuteFuncAfterButtonPress(ScriptContext_Enable); else - EnableBothScriptContexts(); + ScriptContext_Enable(); } } @@ -895,7 +895,7 @@ static void PrintApprenticeMessage(void) } else { - EnableBothScriptContexts(); + ScriptContext_Enable(); return; } @@ -906,11 +906,11 @@ static void PrintApprenticeMessage(void) static void Script_PrintApprenticeMessage(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); PlayerFreeze(); StopPlayerAvatar(); - DrawDialogueFrame(0, 1); + DrawDialogueFrame(0, TRUE); PrintApprenticeMessage(); } @@ -1289,7 +1289,7 @@ static void Task_ExecuteFuncAfterButtonPress(u8 taskId) { if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) { - gApprenticeFunc = (void*)(u32)(((u16)gTasks[taskId].data[0] | (gTasks[taskId].data[1] << 16))); + gApprenticeFunc = (void *)(u32)(((u16)gTasks[taskId].data[0] | (gTasks[taskId].data[1] << 16))); gApprenticeFunc(); DestroyTask(taskId); } diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index e9f55bd8bc..1ddcc9805f 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -351,14 +351,14 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves) // Decide a random target battlerId in doubles. if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - gBattlerTarget = (Random() & BIT_FLANK) + (GetBattlerSide(gActiveBattler) ^ BIT_SIDE); + gBattlerTarget = (Random() & BIT_FLANK) + BATTLE_OPPOSITE(GetBattlerSide(gActiveBattler)); if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) gBattlerTarget ^= BIT_FLANK; } // There's only one choice in single battles. else { - gBattlerTarget = sBattler_AI ^ BIT_SIDE; + gBattlerTarget = BATTLE_OPPOSITE(sBattler_AI); } // Choose proper trainer ai scripts. @@ -541,7 +541,7 @@ static u8 ChooseMoveOrAction_Doubles(void) bestMovePointsForTarget[i] = mostViableMovesScores[0]; // Don't use a move against ally if it has less than 100 points. - if (i == (sBattler_AI ^ BIT_FLANK) && bestMovePointsForTarget[i] < 100) + if (i == BATTLE_PARTNER(sBattler_AI) && bestMovePointsForTarget[i] < 100) { bestMovePointsForTarget[i] = -1; mostViableMovesScores[0] = mostViableMovesScores[0]; // Needed to match. @@ -1151,9 +1151,9 @@ static u8 BattleAI_GetWantedBattler(u8 wantedBattler) default: return gBattlerTarget; case AI_USER_PARTNER: - return sBattler_AI ^ BIT_FLANK; + return BATTLE_PARTNER(sBattler_AI); case AI_TARGET_PARTNER: - return gBattlerTarget ^ BIT_FLANK; + return BATTLE_PARTNER(gBattlerTarget); } } @@ -1316,7 +1316,7 @@ static void Cmd_count_usable_party_mons(void) { u32 position; battlerOnField1 = gBattlerPartyIndexes[battlerId]; - position = GetBattlerPosition(battlerId) ^ BIT_FLANK; + position = BATTLE_PARTNER(GetBattlerPosition(battlerId)); battlerOnField2 = gBattlerPartyIndexes[GetBattlerAtPosition(position)]; } else // In singles there's only one battlerId by side. @@ -1799,7 +1799,7 @@ static void Cmd_if_has_move(void) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); break; case AI_USER_PARTNER: - if (gBattleMons[sBattler_AI ^ BIT_FLANK].hp == 0) + if (gBattleMons[BATTLE_PARTNER(sBattler_AI)].hp == 0) { gAIScriptPtr += 8; break; @@ -1808,7 +1808,7 @@ static void Cmd_if_has_move(void) { for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[sBattler_AI ^ BIT_FLANK].moves[i] == *movePtr) + if (gBattleMons[BATTLE_PARTNER(sBattler_AI)].moves[i] == *movePtr) break; } } diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index c872717220..261349dce1 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -127,9 +127,9 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) if (HasSuperEffectiveMoveAgainstOpponents(TRUE) && Random() % 3 != 0) return FALSE; - if (gLastLandedMoves[gActiveBattler] == 0) + if (gLastLandedMoves[gActiveBattler] == MOVE_NONE) return FALSE; - if (gLastLandedMoves[gActiveBattler] == 0xFFFF) + if (gLastLandedMoves[gActiveBattler] == MOVE_UNAVAILABLE) return FALSE; if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0) return FALSE; @@ -224,13 +224,16 @@ static bool8 ShouldSwitchIfNaturalCure(void) if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 2) return FALSE; - if ((gLastLandedMoves[gActiveBattler] == 0 || gLastLandedMoves[gActiveBattler] == 0xFFFF) && Random() & 1) + if ((gLastLandedMoves[gActiveBattler] == MOVE_NONE + || gLastLandedMoves[gActiveBattler] == MOVE_UNAVAILABLE) + && Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); return TRUE; } - else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1) + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 + && Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); @@ -332,9 +335,9 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) u16 move; u8 moveFlags; - if (gLastLandedMoves[gActiveBattler] == 0) + if (gLastLandedMoves[gActiveBattler] == MOVE_NONE) return FALSE; - if (gLastLandedMoves[gActiveBattler] == 0xFFFF) + if (gLastLandedMoves[gActiveBattler] == MOVE_UNAVAILABLE) return FALSE; if (gLastHitBy[gActiveBattler] == 0xFF) return FALSE; @@ -443,9 +446,7 @@ static bool8 ShouldSwitch(void) return FALSE; if (ABILITY_ON_FIELD2(ABILITY_MAGNET_PULL)) { - if (gBattleMons[gActiveBattler].type1 == TYPE_STEEL) - return FALSE; - if (gBattleMons[gActiveBattler].type2 == TYPE_STEEL) + if (IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL)) return FALSE; } if (gBattleTypeFlags & BATTLE_TYPE_ARENA) @@ -455,10 +456,10 @@ static bool8 ShouldSwitch(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { battlerIn1 = *activeBattlerPtr; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(*activeBattlerPtr) ^ BIT_FLANK)]) + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(*activeBattlerPtr)))]) battlerIn2 = *activeBattlerPtr; else - battlerIn2 = GetBattlerAtPosition(GetBattlerPosition(*activeBattlerPtr) ^ BIT_FLANK); + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(*activeBattlerPtr))); } else { @@ -554,7 +555,7 @@ void AI_TrySwitchOrUseItem(void) else { battlerIn1 = GetBattlerAtPosition(battlerIdentity); - battlerIn2 = GetBattlerAtPosition(battlerIdentity ^ BIT_FLANK); + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(battlerIdentity)); } if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_TOWER_LINK_MULTI)) @@ -598,7 +599,7 @@ void AI_TrySwitchOrUseItem(void) } } - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, (gActiveBattler ^ BIT_SIDE) << 8); + BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8); } static void ModulateByTypeEffectiveness(u8 atkType, u8 defType1, u8 defType2, u8 *var) @@ -650,10 +651,10 @@ u8 GetMostSuitableMonToSwitchInto(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { battlerIn1 = gActiveBattler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) battlerIn2 = gActiveBattler; else - battlerIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); // UB: It considers the opponent only player's side even though it can battle alongside player. opposingBattler = Random() & BIT_FLANK; @@ -662,7 +663,7 @@ u8 GetMostSuitableMonToSwitchInto(void) } else { - opposingBattler = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_SIDE); + opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(gActiveBattler))); battlerIn1 = gActiveBattler; battlerIn2 = gActiveBattler; } diff --git a/src/battle_anim.c b/src/battle_anim.c index 4273ac607e..255028eda3 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -676,13 +676,13 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) if (IsContest() == TRUE) { - RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(16)), 0x2000, 1); - RequestDma3Fill(0xFF, (void*)(BG_SCREEN_ADDR(30)), 0x1000, 0); + RequestDma3Fill(0, (void *)(BG_SCREEN_ADDR(16)), 0x2000, 1); + RequestDma3Fill(0xFF, (void *)(BG_SCREEN_ADDR(30)), 0x1000, 0); } else { - RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(8)), 0x2000, 1); - RequestDma3Fill(0xFF, (void*)(BG_SCREEN_ADDR(28)), 0x1000, 0); + RequestDma3Fill(0, (void *)(BG_SCREEN_ADDR(8)), 0x2000, 1); + RequestDma3Fill(0xFF, (void *)(BG_SCREEN_ADDR(28)), 0x1000, 0); } GetBattleAnimBg1Data(&animBg); @@ -707,7 +707,7 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], animBg.paletteId * 16, 0x20); - CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void*)(BG_PLTT + animBg.paletteId * 32), 0x20); + CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void *)(BG_PLTT + animBg.paletteId * 32), 0x20); if (IsContest()) battlerPosition = 0; @@ -721,8 +721,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) } else { - RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(12)), 0x2000, 1); - RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(30)), 0x1000, 1); + RequestDma3Fill(0, (void *)(BG_SCREEN_ADDR(12)), 0x2000, 1); + RequestDma3Fill(0, (void *)(BG_SCREEN_ADDR(30)), 0x1000, 1); GetBattleAnimBgData(&animBg, 2); CpuFill16(0, animBg.bgTiles + 0x1000, 0x1000); CpuFill16(0, animBg.bgTilemap + 0x400, 0x800); @@ -742,7 +742,7 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], 0x90, 0x20); - CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void*)(BG_PLTT + 0x120), 0x20); + CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void *)(BG_PLTT + 0x120), 0x20); DrawBattlerOnBg(2, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset); } @@ -883,7 +883,7 @@ static void Cmd_clearmonbg(void) if (sMonAnimTaskIdArray[0] != TASK_NONE) gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; if (animBattlerId > 1 && sMonAnimTaskIdArray[1] != TASK_NONE) - gSprites[gBattlerSpriteIds[battlerId ^ BIT_FLANK]].invisible = FALSE; + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battlerId)]].invisible = FALSE; else animBattlerId = 0; @@ -990,8 +990,8 @@ static void Cmd_clearmonbg_static(void) if (IsBattlerSpriteVisible(battlerId)) gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; - if (animBattlerId > 1 && IsBattlerSpriteVisible(battlerId ^ BIT_FLANK)) - gSprites[gBattlerSpriteIds[battlerId ^ BIT_FLANK]].invisible = FALSE; + if (animBattlerId > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battlerId))) + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battlerId)]].invisible = FALSE; else animBattlerId = 0; @@ -1017,7 +1017,7 @@ static void Task_ClearMonBgStatic(u8 taskId) if (IsBattlerSpriteVisible(battlerId)) ResetBattleAnimBg(toBG_2); - if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(battlerId ^ BIT_FLANK)) + if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battlerId))) ResetBattleAnimBg(toBG_2 ^ 1); DestroyTask(taskId); @@ -1203,7 +1203,7 @@ static void LoadMoveBg(u16 bgId) void *dmaDest; LZDecompressWram(tilemap, gDecompressionBuffer); - RelocateBattleBgPal(GetBattleBgPaletteNum(), (void*)gDecompressionBuffer, 0x100, FALSE); + RelocateBattleBgPal(GetBattleBgPaletteNum(), (void *)gDecompressionBuffer, 0x100, FALSE); dmaSrc = gDecompressionBuffer; dmaDest = (void *)BG_SCREEN_ADDR(26); DmaCopy32(3, dmaSrc, dmaDest, 0x800); diff --git a/src/battle_anim_bug.c b/src/battle_anim_bug.c index 14b98fcb21..377665684a 100644 --- a/src/battle_anim_bug.c +++ b/src/battle_anim_bug.c @@ -203,7 +203,7 @@ static void AnimMegahornHorn(struct Sprite *sprite) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[0] = -gBattleAnimArgs[0]; } - else if (!GetBattlerSide(gBattleAnimTarget)) + else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) { StartSpriteAffineAnim(sprite, 1); gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -230,7 +230,7 @@ static void AnimLeechLifeNeedle(struct Sprite *sprite) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; StartSpriteAffineAnim(sprite, 2); } - else if (!GetBattlerSide(gBattleAnimTarget)) + else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[0] = -gBattleAnimArgs[0]; @@ -271,7 +271,7 @@ static void AnimTranslateWebThread(struct Sprite *sprite) } else { - SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]); + SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->data[2], &sprite->data[4]); } InitAnimLinearTranslationWithSpeed(sprite); @@ -294,14 +294,14 @@ static void AnimTranslateWebThread_Step(struct Sprite *sprite) // Second stage of String Shot static void AnimStringWrap(struct Sprite *sprite) { - SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->x, &sprite->y); + SetAverageBattlerPositions(gBattleAnimTarget, FALSE, &sprite->x, &sprite->y); if (GetBattlerSide(gBattleAnimAttacker)) sprite->x -= gBattleAnimArgs[0]; else sprite->x += gBattleAnimArgs[0]; sprite->y += gBattleAnimArgs[1]; - if (!GetBattlerSide(gBattleAnimTarget)) + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) sprite->y += 8; sprite->callback = AnimStringWrap_Step; @@ -392,7 +392,7 @@ static void AnimTranslateStinger(struct Sprite *sprite) } } - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); lVarX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; lVarY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; @@ -417,7 +417,7 @@ static void AnimTranslateStinger(struct Sprite *sprite) // arg 5: wave amplitude static void AnimMissileArc(struct Sprite *sprite) { - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; diff --git a/src/battle_anim_dark.c b/src/battle_anim_dark.c index fe8b181052..b7b98a3288 100644 --- a/src/battle_anim_dark.c +++ b/src/battle_anim_dark.c @@ -426,7 +426,7 @@ void AnimTask_MoveAttackerMementoShadow(u8 taskId) GetBattleAnimBg1Data(&animBg); task->data[10] = gBattle_BG1_Y; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); - FillPalette(0, animBg.paletteId * 16, 32); + FillPalette(RGB_BLACK, animBg.paletteId * 16, 32); scanlineParams.dmaDest = ®_BG1VOFS; var0 = WINOUT_WIN01_BG1; if (!IsContest()) @@ -436,7 +436,7 @@ void AnimTask_MoveAttackerMementoShadow(u8 taskId) { task->data[10] = gBattle_BG2_Y; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2); - FillPalette(0, 144, 32); + FillPalette(RGB_BLACK, 144, 32); scanlineParams.dmaDest = ®_BG2VOFS; var0 = WINOUT_WIN01_BG2; if (!IsContest()) @@ -566,12 +566,12 @@ void AnimTask_MoveTargetMementoShadow(u8 taskId) { GetBattleAnimBg1Data(&animBg); task->data[10] = gBattle_BG1_Y; - FillPalette(0, animBg.paletteId * 16, 32); + FillPalette(RGB_BLACK, animBg.paletteId * 16, 32); } else { task->data[10] = gBattle_BG2_Y; - FillPalette(0, 9 * 16, 32); + FillPalette(RGB_BLACK, 9 * 16, 32); } SetAllBattlersSpritePriority(3); @@ -777,8 +777,8 @@ void AnimTask_InitMementoShadow(u8 taskId) if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) { - MoveBattlerSpriteToBG(gBattleAnimAttacker ^ 2, toBG2 ^ 1, TRUE); - gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].invisible = FALSE; + MoveBattlerSpriteToBG(BATTLE_PARTNER(gBattleAnimAttacker), toBG2 ^ 1, TRUE); + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].invisible = FALSE; } DestroyAnimVisualTask(taskId); @@ -786,7 +786,7 @@ void AnimTask_InitMementoShadow(u8 taskId) void AnimTask_MementoHandleBg(u8 taskId) { - u8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? 1 : 0; + bool8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? TRUE : FALSE; ResetBattleAnimBg(toBG2); if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index c590572b92..757576efa1 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -84,7 +84,7 @@ static void AnimMilkBottle(struct Sprite *); static void AnimMilkBottle_Step1(struct Sprite *); static void AnimMilkBottle_Step2(struct Sprite *, int, int); static void AnimGrantingStars(struct Sprite *); -static void AnimSparkingStars(struct Sprite *); +static void AnimSparklingStars(struct Sprite *); static void AnimBubbleBurst(struct Sprite *); static void AnimBubbleBurst_Step(struct Sprite *); static void AnimSleepLetterZ(struct Sprite *); @@ -1416,7 +1416,7 @@ const struct SpriteTemplate gSparklingStarsSpriteTemplate = .anims = gGrantingStarsAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimSparkingStars, + .callback = AnimSparklingStars, }; static const union AnimCmd sAnim_BubbleBurst[] = @@ -2197,7 +2197,7 @@ const struct SpriteTemplate gTauntFingerSpriteTemplate = // arg 3: vertical movement speed (sub-pixel value) // arg 4: wave amplitude // arg 5: wave speed -static void AnimMovePowderParticle(struct Sprite* sprite) +static void AnimMovePowderParticle(struct Sprite *sprite) { sprite->x += gBattleAnimArgs[0]; sprite->y += gBattleAnimArgs[1]; @@ -2217,7 +2217,7 @@ static void AnimMovePowderParticle(struct Sprite* sprite) sprite->callback = AnimMovePowderParticle_Step; } -static void AnimMovePowderParticle_Step(struct Sprite* sprite) +static void AnimMovePowderParticle_Step(struct Sprite *sprite) { if (sprite->data[0] > 0) { @@ -2237,7 +2237,7 @@ static void AnimMovePowderParticle_Step(struct Sprite* sprite) // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: duration -static void AnimPowerAbsorptionOrb(struct Sprite* sprite) +static void AnimPowerAbsorptionOrb(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; @@ -2252,7 +2252,7 @@ static void AnimPowerAbsorptionOrb(struct Sprite* sprite) // arg 1: initial y pixel offset // arg 2: duration // arg 3: sprite anim number -static void AnimSolarBeamBigOrb(struct Sprite* sprite) +static void AnimSolarBeamBigOrb(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); StartSpriteAnim(sprite, gBattleAnimArgs[3]); @@ -2269,7 +2269,7 @@ static void AnimSolarBeamBigOrb(struct Sprite* sprite) // arg 1: initial y pixel offset // arg 2: duration // arg 3: initial wave offset -static void AnimSolarBeamSmallOrb(struct Sprite* sprite) +static void AnimSolarBeamSmallOrb(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; @@ -2283,7 +2283,7 @@ static void AnimSolarBeamSmallOrb(struct Sprite* sprite) sprite->callback(sprite); } -static void AnimSolarBeamSmallOrb_Step(struct Sprite* sprite) +static void AnimSolarBeamSmallOrb_Step(struct Sprite *sprite) { if (AnimTranslateLinear(sprite)) { @@ -2327,7 +2327,7 @@ void AnimTask_CreateSmallSolarBeamOrbs(u8 taskId) // arg 1: initial y pixel offset // arg 2: wave amplitude // arg 3: wave period (lower means faster wave) -static void AnimAbsorptionOrb(struct Sprite* sprite) +static void AnimAbsorptionOrb(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[3]; @@ -2338,7 +2338,7 @@ static void AnimAbsorptionOrb(struct Sprite* sprite) sprite->callback = AnimAbsorptionOrb_Step; } -static void AnimAbsorptionOrb_Step(struct Sprite* sprite) +static void AnimAbsorptionOrb_Step(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) DestroyAnimSprite(sprite); @@ -2346,7 +2346,7 @@ static void AnimAbsorptionOrb_Step(struct Sprite* sprite) // Moves an orb in a wave-like fashion towards the target mon. The wave's // properties and the sprite anim are randomly determined. -static void AnimHyperBeamOrb(struct Sprite* sprite) +static void AnimHyperBeamOrb(struct Sprite *sprite) { u16 speed; u16 animNum = Random2(); @@ -2372,7 +2372,7 @@ static void AnimHyperBeamOrb(struct Sprite* sprite) sprite->callback(sprite); } -static void AnimHyperBeamOrb_Step(struct Sprite* sprite) +static void AnimHyperBeamOrb_Step(struct Sprite *sprite) { if (AnimFastTranslateLinear(sprite)) { @@ -2399,7 +2399,7 @@ static void AnimHyperBeamOrb_Step(struct Sprite* sprite) // arg 3: target y pixel offset // arg 4: duration // arg 5: wave amplitude -static void AnimLeechSeed(struct Sprite* sprite) +static void AnimLeechSeed(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -2413,7 +2413,7 @@ static void AnimLeechSeed(struct Sprite* sprite) sprite->callback = AnimLeechSeed_Step; } -static void AnimLeechSeed_Step(struct Sprite* sprite) +static void AnimLeechSeed_Step(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) { @@ -2424,7 +2424,7 @@ static void AnimLeechSeed_Step(struct Sprite* sprite) } } -static void AnimLeechSeedSprouts(struct Sprite* sprite) +static void AnimLeechSeedSprouts(struct Sprite *sprite) { sprite->invisible = FALSE; StartSpriteAnim(sprite, 1); @@ -2441,7 +2441,7 @@ static void AnimLeechSeedSprouts(struct Sprite* sprite) // arg 2: initial wave offset // arg 3: duration // arg 4: blend (0 = off, 1 = on) -static void AnimSporeParticle(struct Sprite* sprite) +static void AnimSporeParticle(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); StartSpriteAnim(sprite, gBattleAnimArgs[4]); @@ -2454,7 +2454,7 @@ static void AnimSporeParticle(struct Sprite* sprite) sprite->callback(sprite); } -static void AnimSporeParticle_Step(struct Sprite* sprite) +static void AnimSporeParticle_Step(struct Sprite *sprite) { sprite->x2 = Sin(sprite->data[1], 32); sprite->y2 = Cos(sprite->data[1], -3) + ((sprite->data[2] += 24) >> 8); @@ -2503,7 +2503,7 @@ void AnimTask_SporeDoubleBattle(u8 taskId) // arg 1: initial y pixel offset // arg 2: target y pixel offset // arg 3: duration -static void AnimPetalDanceBigFlower(struct Sprite* sprite) +static void AnimPetalDanceBigFlower(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, FALSE); sprite->data[0] = gBattleAnimArgs[3]; @@ -2517,7 +2517,7 @@ static void AnimPetalDanceBigFlower(struct Sprite* sprite) sprite->callback(sprite); } -static void AnimPetalDanceBigFlower_Step(struct Sprite* sprite) +static void AnimPetalDanceBigFlower_Step(struct Sprite *sprite) { if (!AnimTranslateLinear(sprite)) { @@ -2541,7 +2541,7 @@ static void AnimPetalDanceBigFlower_Step(struct Sprite* sprite) // arg 1: initial y pixel offset // arg 2: target y pixel offset // arg 3: duration -static void AnimPetalDanceSmallFlower(struct Sprite* sprite) +static void AnimPetalDanceSmallFlower(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[3]; @@ -2555,7 +2555,7 @@ static void AnimPetalDanceSmallFlower(struct Sprite* sprite) sprite->callback(sprite); } -static void AnimPetalDanceSmallFlower_Step(struct Sprite* sprite) +static void AnimPetalDanceSmallFlower_Step(struct Sprite *sprite) { if (!AnimTranslateLinear(sprite)) { @@ -2576,7 +2576,7 @@ static void AnimPetalDanceSmallFlower_Step(struct Sprite* sprite) // arg 0: upward x delta per frame // arg 1: upward y delta per frame // arg 2: upward duration -static void AnimRazorLeafParticle(struct Sprite* sprite) +static void AnimRazorLeafParticle(struct Sprite *sprite) { sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -2586,7 +2586,7 @@ static void AnimRazorLeafParticle(struct Sprite* sprite) sprite->callback = AnimRazorLeafParticle_Step1; } -static void AnimRazorLeafParticle_Step1(struct Sprite* sprite) +static void AnimRazorLeafParticle_Step1(struct Sprite *sprite) { if (!sprite->data[2]) { @@ -2612,7 +2612,7 @@ static void AnimRazorLeafParticle_Step1(struct Sprite* sprite) } } -static void AnimRazorLeafParticle_Step2(struct Sprite* sprite) +static void AnimRazorLeafParticle_Step2(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker)) sprite->x2 = -Sin(sprite->data[0], 25); @@ -2639,7 +2639,7 @@ static void AnimRazorLeafParticle_Step2(struct Sprite* sprite) // arg 4: translation duration // arg 5: wave amplitude // arg 6: target between double battle opponents (boolean) -static void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) +static void AnimTranslateLinearSingleSineWave(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -2668,7 +2668,7 @@ static void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) sprite->callback = AnimTranslateLinearSingleSineWave_Step; } -static void AnimTranslateLinearSingleSineWave_Step(struct Sprite* sprite) +static void AnimTranslateLinearSingleSineWave_Step(struct Sprite *sprite) { bool8 destroy = FALSE; s16 a = sprite->data[0]; @@ -2706,10 +2706,10 @@ static void AnimTranslateLinearSingleSineWave_Step(struct Sprite* sprite) // arg 2: wave period (higher means faster wave) // arg 3: wave amplitude // arg 4: speedup frame (particles move faster at the end of the animation) -void AnimMoveTwisterParticle(struct Sprite* sprite) +void AnimMoveTwisterParticle(struct Sprite *sprite) { if (IsDoubleBattle() == TRUE) - SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->x, &sprite->y); + SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->x, &sprite->y); sprite->y += 32; sprite->data[0] = gBattleAnimArgs[0]; @@ -2720,7 +2720,7 @@ void AnimMoveTwisterParticle(struct Sprite* sprite) sprite->callback = AnimMoveTwisterParticle_Step; } -static void AnimMoveTwisterParticle_Step(struct Sprite* sprite) +static void AnimMoveTwisterParticle_Step(struct Sprite *sprite) { if (sprite->data[1] == 0xFF) { @@ -2753,7 +2753,7 @@ static void AnimMoveTwisterParticle_Step(struct Sprite* sprite) // arg 1: initial y pixel offset // arg 2: affine anim num // arg 3: num squeezes -static void AnimConstrictBinding(struct Sprite* sprite) +static void AnimConstrictBinding(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, FALSE); sprite->affineAnimPaused = 1; @@ -2763,7 +2763,7 @@ static void AnimConstrictBinding(struct Sprite* sprite) sprite->callback = AnimConstrictBinding_Step1; } -static void AnimConstrictBinding_Step1(struct Sprite* sprite) +static void AnimConstrictBinding_Step1(struct Sprite *sprite) { u8 spriteId; @@ -2776,7 +2776,7 @@ static void AnimConstrictBinding_Step1(struct Sprite* sprite) } } -static void AnimConstrictBinding_Step2(struct Sprite* sprite) +static void AnimConstrictBinding_Step2(struct Sprite *sprite) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); if (!sprite->data[2]) @@ -2870,7 +2870,7 @@ static void AnimTask_DuplicateAndShrinkToPos_Step2(u8 taskId) // Moves an orb from the target mon to the attacking mon. // arg 0: initial x pixel offset // arg 1: initial y pixel offset -static void AnimMimicOrb(struct Sprite* sprite) +static void AnimMimicOrb(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -2904,7 +2904,7 @@ static void AnimMimicOrb(struct Sprite* sprite) // arg 2: sprite subpriority offset // arg 3: sprite anim num // arg 4: duration -static void AnimIngrainRoot(struct Sprite* sprite) +static void AnimIngrainRoot(struct Sprite *sprite) { if (!sprite->data[0]) { @@ -2952,7 +2952,7 @@ static void AnimFrenzyPlantRoot(struct Sprite *sprite) sFrenzyPlantRootData.targetY = targetY; } -static void AnimRootFlickerOut(struct Sprite* sprite) +static void AnimRootFlickerOut(struct Sprite *sprite) { if (++sprite->data[0] > (sprite->data[2] - 10)) sprite->invisible = sprite->data[0] % 2; @@ -2967,7 +2967,7 @@ static void AnimRootFlickerOut(struct Sprite* sprite) // arg 2: horizontal velocity // arg 3: wave amplitude // arg 4: duration -static void AnimIngrainOrb(struct Sprite* sprite) +static void AnimIngrainOrb(struct Sprite *sprite) { if (!sprite->data[0]) { @@ -2985,7 +2985,7 @@ static void AnimIngrainOrb(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void InitItemBagData(struct Sprite* sprite, s16 c) +static void InitItemBagData(struct Sprite *sprite, s16 c) { int a = (sprite->x << 8) | sprite->y; int b = (sprite->data[6] << 8) | sprite->data[7]; @@ -2995,7 +2995,7 @@ static void InitItemBagData(struct Sprite* sprite, s16 c) sprite->data[7] = c; } -bool8 moveAlongLinearPath(struct Sprite* sprite) +bool8 moveAlongLinearPath(struct Sprite *sprite) { u16 xStartPos = (u8)(sprite->data[5] >> 8); u16 yStartPos = (u8)sprite->data[5]; @@ -3026,7 +3026,7 @@ bool8 moveAlongLinearPath(struct Sprite* sprite) return FALSE; } -static void AnimItemSteal_Step2(struct Sprite* sprite) +static void AnimItemSteal_Step2(struct Sprite *sprite) { if (sprite->data[0] == 10) StartSpriteAffineAnim(sprite, 1); @@ -3036,7 +3036,7 @@ static void AnimItemSteal_Step2(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void AnimItemSteal_Step1(struct Sprite* sprite) +static void AnimItemSteal_Step1(struct Sprite *sprite) { sprite->data[0] += sprite->data[3] * 128 / sprite->data[4]; if (sprite->data[0] >= 128) @@ -3054,7 +3054,7 @@ static void AnimItemSteal_Step1(struct Sprite* sprite) } } -static void AnimPresent(struct Sprite* sprite) +static void AnimPresent(struct Sprite *sprite) { s16 targetX; s16 targetY; @@ -3080,7 +3080,7 @@ static void AnimPresent(struct Sprite* sprite) sprite->callback = AnimItemSteal_Step1; } -static void AnimKnockOffOpponentsItem(struct Sprite* sprite) +static void AnimKnockOffOpponentsItem(struct Sprite *sprite) { int zero; sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]); @@ -3100,7 +3100,7 @@ static void AnimKnockOffOpponentsItem(struct Sprite* sprite) } } -static void AnimKnockOffItem(struct Sprite* sprite) +static void AnimKnockOffItem(struct Sprite *sprite) { s16 targetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y); if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) @@ -3131,7 +3131,7 @@ static void AnimKnockOffItem(struct Sprite* sprite) // arg 1: initial y pixel offset // arg 2: vertical velocity // arg 3: unused -static void AnimPresentHealParticle(struct Sprite* sprite) +static void AnimPresentHealParticle(struct Sprite *sprite) { if (!sprite->data[0]) { @@ -3145,7 +3145,7 @@ static void AnimPresentHealParticle(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void AnimItemSteal(struct Sprite* sprite) +static void AnimItemSteal(struct Sprite *sprite) { s16 attackerX; s16 attackerY; @@ -3171,7 +3171,7 @@ static void AnimItemSteal(struct Sprite* sprite) sprite->callback = AnimItemSteal_Step3; } -static void AnimItemSteal_Step3(struct Sprite* sprite) +static void AnimItemSteal_Step3(struct Sprite *sprite) { int zero; sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]); @@ -3184,21 +3184,21 @@ static void AnimItemSteal_Step3(struct Sprite* sprite) sprite->y2 = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8); if (sprite->y2 == 0) - PlaySE12WithPanning(SE_M_BUBBLE2, BattleAnimAdjustPanning(63)); + PlaySE12WithPanning(SE_M_BUBBLE2, BattleAnimAdjustPanning(SOUND_PAN_TARGET)); if (moveAlongLinearPath(sprite)) { sprite->y2 = 0; sprite->data[0] = 0; sprite->callback = AnimItemSteal_Step2; - PlaySE12WithPanning(SE_M_BUBBLE2, BattleAnimAdjustPanning(-64)); + PlaySE12WithPanning(SE_M_BUBBLE2, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER)); } } // Moves a bag in a circular motion. // arg 0: y position // arg 1: initial wave offset -static void AnimTrickBag(struct Sprite* sprite) +static void AnimTrickBag(struct Sprite *sprite) { int a; int b; @@ -3235,7 +3235,7 @@ static void AnimTrickBag(struct Sprite* sprite) } } -static void AnimTrickBag_Step1(struct Sprite* sprite) +static void AnimTrickBag_Step1(struct Sprite *sprite) { switch (sprite->data[3]) { @@ -3265,7 +3265,7 @@ static void AnimTrickBag_Step1(struct Sprite* sprite) } } -static void AnimTrickBag_Step2(struct Sprite* sprite) +static void AnimTrickBag_Step2(struct Sprite *sprite) { if (sprite->data[2] == gTrickBagCoordinates[sprite->data[0]][1]) { @@ -3295,7 +3295,7 @@ static void AnimTrickBag_Step2(struct Sprite* sprite) } } -static void AnimTrickBag_Step3(struct Sprite* sprite) +static void AnimTrickBag_Step3(struct Sprite *sprite) { if (sprite->data[0] > 20) DestroyAnimSprite(sprite); @@ -3332,8 +3332,8 @@ void AnimTask_LeafBlade(u8 taskId) static void AnimTask_LeafBlade_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; - struct Sprite* sprite = &gSprites[task->data[2]]; + struct Task *task = &gTasks[taskId]; + struct Sprite *sprite = &gSprites[task->data[2]]; int a = task->data[0]; switch (a) { @@ -3515,7 +3515,7 @@ static void AnimTask_LeafBlade_Step(u8 taskId) } } -static s16 LeafBladeGetPosFactor(struct Sprite* sprite) +static s16 LeafBladeGetPosFactor(struct Sprite *sprite) { s16 var = 8; if (sprite->data[4] < sprite->y) @@ -3524,7 +3524,7 @@ static s16 LeafBladeGetPosFactor(struct Sprite* sprite) return var; } -static void AnimTask_LeafBlade_Step2(struct Task* task, u8 taskId) +static void AnimTask_LeafBlade_Step2(struct Task *task, u8 taskId) { task->data[14]++; if (task->data[14] > 0) @@ -3550,7 +3550,7 @@ static void AnimTask_LeafBlade_Step2(struct Task* task, u8 taskId) } } -static void AnimTask_LeafBlade_Step2_Callback(struct Sprite* sprite) +static void AnimTask_LeafBlade_Step2_Callback(struct Sprite *sprite) { sprite->data[0]++; if (sprite->data[0] > 1) @@ -3566,7 +3566,7 @@ static void AnimTask_LeafBlade_Step2_Callback(struct Sprite* sprite) } } -static void AnimFlyingParticle(struct Sprite* sprite) +static void AnimFlyingParticle(struct Sprite *sprite) { u8 battler; if (!gBattleAnimArgs[6]) @@ -3614,7 +3614,7 @@ static void AnimFlyingParticle(struct Sprite* sprite) sprite->callback = AnimFlyingParticle_Step; } -static void AnimFlyingParticle_Step(struct Sprite* sprite) +static void AnimFlyingParticle_Step(struct Sprite *sprite) { int a = sprite->data[7]; sprite->data[7]++; @@ -3637,7 +3637,7 @@ static void AnimFlyingParticle_Step(struct Sprite* sprite) void AnimTask_CycleMagicalLeafPal(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; switch (task->data[0]) { case 0: @@ -3665,7 +3665,7 @@ void AnimTask_CycleMagicalLeafPal(u8 taskId) DestroyAnimVisualTask(taskId); } -static void AnimNeedleArmSpike(struct Sprite* sprite) +static void AnimNeedleArmSpike(struct Sprite *sprite) { u8 a; u8 b; @@ -3716,12 +3716,12 @@ static void AnimNeedleArmSpike(struct Sprite* sprite) if (IsContest()) c -= 0x8000; - TrySetSpriteRotScale(sprite, 0, 0x100, 0x100, c); + TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, c); sprite->callback = AnimNeedleArmSpike_Step; } } -static void AnimNeedleArmSpike_Step(struct Sprite* sprite) +static void AnimNeedleArmSpike_Step(struct Sprite *sprite) { if (sprite->data[0]) { @@ -3737,13 +3737,13 @@ static void AnimNeedleArmSpike_Step(struct Sprite* sprite) } } -static void AnimWhipHit_WaitEnd(struct Sprite* sprite) +static void AnimWhipHit_WaitEnd(struct Sprite *sprite) { if (sprite->animEnded) DestroyAnimSprite(sprite); } -static void AnimSlidingHit(struct Sprite* sprite) +static void AnimSlidingHit(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { @@ -3760,7 +3760,7 @@ static void AnimSlidingHit(struct Sprite* sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -static void AnimWhipHit(struct Sprite* sprite) +static void AnimWhipHit(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) StartSpriteAnim(sprite, 1); @@ -3770,7 +3770,7 @@ static void AnimWhipHit(struct Sprite* sprite) sprite->y += gBattleAnimArgs[1]; } -static void AnimFlickeringPunch(struct Sprite* sprite) +static void AnimFlickeringPunch(struct Sprite *sprite) { sprite->x += gBattleAnimArgs[0]; sprite->y += gBattleAnimArgs[1]; @@ -3788,7 +3788,7 @@ static void AnimFlickeringPunch(struct Sprite* sprite) // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: slice direction; 0 = right-to-left, 1 = left-to-right -static void AnimCuttingSlice(struct Sprite* sprite) +static void AnimCuttingSlice(struct Sprite *sprite) { sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y); @@ -3814,7 +3814,7 @@ static void AnimCuttingSlice(struct Sprite* sprite) sprite->data[1] = -sprite->data[1]; } -static void AnimAirCutterSlice(struct Sprite* sprite) +static void AnimAirCutterSlice(struct Sprite *sprite) { u8 x, y; switch (gBattleAnimArgs[3]) @@ -3863,7 +3863,7 @@ static void AnimAirCutterSlice(struct Sprite* sprite) sprite->data[1] = -sprite->data[1]; } -static void AnimSlice_Step(struct Sprite* sprite) +static void AnimSlice_Step(struct Sprite *sprite) { sprite->data[3] += sprite->data[1]; sprite->data[4] += sprite->data[2]; @@ -3884,7 +3884,7 @@ static void AnimSlice_Step(struct Sprite* sprite) } } -static void UnusedFlickerAnim(struct Sprite* sprite) +static void UnusedFlickerAnim(struct Sprite *sprite) { if (sprite->data[2] > 1) { @@ -3917,7 +3917,7 @@ static void UnusedFlickerAnim(struct Sprite* sprite) } } -static void AnimCirclingMusicNote(struct Sprite* sprite) +static void AnimCirclingMusicNote(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[2]; if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -3933,7 +3933,7 @@ static void AnimCirclingMusicNote(struct Sprite* sprite) sprite->callback(sprite); } -static void AnimCirclingMusicNote_Step(struct Sprite* sprite) +static void AnimCirclingMusicNote_Step(struct Sprite *sprite) { sprite->x2 = Cos(sprite->data[0], 100); sprite->y2 = Sin(sprite->data[0], 20); @@ -3950,7 +3950,7 @@ static void AnimCirclingMusicNote_Step(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void AnimProtect(struct Sprite* sprite) +static void AnimProtect(struct Sprite *sprite) { if (IsContest()) gBattleAnimArgs[1] += 8; @@ -4013,7 +4013,7 @@ static void AnimProtect_Step(struct Sprite *sprite) } } -static void AnimMilkBottle(struct Sprite* sprite) +static void AnimMilkBottle(struct Sprite *sprite) { sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + 0xFFE8; @@ -4029,7 +4029,7 @@ static void AnimMilkBottle(struct Sprite* sprite) sprite->callback = AnimMilkBottle_Step1; } -static void AnimMilkBottle_Step1(struct Sprite* sprite) +static void AnimMilkBottle_Step1(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -4102,7 +4102,7 @@ static void AnimMilkBottle_Step1(struct Sprite* sprite) } } -static void AnimMilkBottle_Step2(struct Sprite* sprite, int unk1, int unk2) +static void AnimMilkBottle_Step2(struct Sprite *sprite, int unk1, int unk2) { if (sprite->data[3] <= 11) sprite->data[4] += 2; @@ -4123,7 +4123,7 @@ static void AnimMilkBottle_Step2(struct Sprite* sprite, int unk1, int unk2) sprite->data[3] = 0; } -static void AnimGrantingStars(struct Sprite* sprite) +static void AnimGrantingStars(struct Sprite *sprite) { if (!gBattleAnimArgs[2]) SetSpriteCoordsToAnimAttackerCoords(sprite); @@ -4137,7 +4137,7 @@ static void AnimGrantingStars(struct Sprite* sprite) sprite->callback = TranslateSpriteLinearFixedPoint; } -static void AnimSparkingStars(struct Sprite* sprite) +static void AnimSparklingStars(struct Sprite *sprite) { u8 battler; if (!gBattleAnimArgs[2]) @@ -4174,7 +4174,7 @@ static void AnimSparkingStars(struct Sprite* sprite) sprite->callback = TranslateSpriteLinearFixedPoint; } -static void AnimBubbleBurst(struct Sprite* sprite) +static void AnimBubbleBurst(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) @@ -4192,7 +4192,7 @@ static void AnimBubbleBurst(struct Sprite* sprite) sprite->callback = AnimBubbleBurst_Step; } -static void AnimBubbleBurst_Step(struct Sprite* sprite) +static void AnimBubbleBurst_Step(struct Sprite *sprite) { if (++sprite->data[0] > 30) { @@ -4205,7 +4205,7 @@ static void AnimBubbleBurst_Step(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void AnimSleepLetterZ(struct Sprite* sprite) +static void AnimSleepLetterZ(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) @@ -4225,7 +4225,7 @@ static void AnimSleepLetterZ(struct Sprite* sprite) sprite->callback = AnimSleepLetterZ_Step; } -static void AnimSleepLetterZ_Step(struct Sprite* sprite) +static void AnimSleepLetterZ_Step(struct Sprite *sprite) { sprite->y2 = -(sprite->data[0] / 0x28); sprite->x2 = sprite->data[4] / 10; @@ -4235,7 +4235,7 @@ static void AnimSleepLetterZ_Step(struct Sprite* sprite) DestroySpriteAndMatrix(sprite); } -static void AnimLockOnTarget(struct Sprite* sprite) +static void AnimLockOnTarget(struct Sprite *sprite) { sprite->x -= 32; sprite->y -= 32; @@ -4244,7 +4244,7 @@ static void AnimLockOnTarget(struct Sprite* sprite) StoreSpriteCallbackInData6(sprite, AnimLockOnTarget_Step1); } -static void AnimLockOnTarget_Step1(struct Sprite* sprite) +static void AnimLockOnTarget_Step1(struct Sprite *sprite) { switch (sprite->data[5] & 1) { @@ -4264,14 +4264,14 @@ static void AnimLockOnTarget_Step1(struct Sprite* sprite) sprite->callback = StartAnimLinearTranslation; StoreSpriteCallbackInData6(sprite, AnimLockOnTarget_Step2); sprite->data[5] += 0x100; - PlaySE12WithPanning(SE_M_LOCK_ON, BattleAnimAdjustPanning(63)); + PlaySE12WithPanning(SE_M_LOCK_ON, BattleAnimAdjustPanning(SOUND_PAN_TARGET)); break; } sprite->data[5] ^= 1; } -static void AnimLockOnTarget_Step2(struct Sprite* sprite) +static void AnimLockOnTarget_Step2(struct Sprite *sprite) { if ((sprite->data[5] >> 8) == 4) { @@ -4285,7 +4285,7 @@ static void AnimLockOnTarget_Step2(struct Sprite* sprite) } } -static void AnimLockOnTarget_Step3(struct Sprite* sprite) +static void AnimLockOnTarget_Step3(struct Sprite *sprite) { s16 a; s16 b; @@ -4331,7 +4331,7 @@ static void AnimLockOnTarget_Step3(struct Sprite* sprite) } } -static void AnimLockOnTarget_Step4(struct Sprite* sprite) +static void AnimLockOnTarget_Step4(struct Sprite *sprite) { if (sprite->data[2] == 0) { @@ -4350,7 +4350,7 @@ static void AnimLockOnTarget_Step4(struct Sprite* sprite) sprite->data[2]++; pal = sprite->oam.paletteNum; LoadPalette(&gPlttBufferUnfaded[0x108 + pal * 16], pal * 16 | 0x101, 4); - PlaySE12WithPanning(SE_M_LEER, BattleAnimAdjustPanning(63)); + PlaySE12WithPanning(SE_M_LEER, BattleAnimAdjustPanning(SOUND_PAN_TARGET)); } else if (sprite->data[1] == 0) { @@ -4358,7 +4358,7 @@ static void AnimLockOnTarget_Step4(struct Sprite* sprite) } } -static void AnimLockOnTarget_Step5(struct Sprite* sprite) +static void AnimLockOnTarget_Step5(struct Sprite *sprite) { if ((u16)gBattleAnimArgs[7] == 0xFFFF) { @@ -4368,7 +4368,7 @@ static void AnimLockOnTarget_Step5(struct Sprite* sprite) } } -static void AnimLockOnTarget_Step6(struct Sprite* sprite) +static void AnimLockOnTarget_Step6(struct Sprite *sprite) { if (sprite->data[0] % 3 == 0) { @@ -4381,7 +4381,7 @@ static void AnimLockOnTarget_Step6(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void AnimLockOnMoveTarget(struct Sprite* sprite) +static void AnimLockOnMoveTarget(struct Sprite *sprite) { sprite->oam.affineParam = gBattleAnimArgs[0]; if ((s16)sprite->oam.affineParam == 1) @@ -4413,7 +4413,7 @@ static void AnimLockOnMoveTarget(struct Sprite* sprite) sprite->callback(sprite); } -static void AnimBowMon(struct Sprite* sprite) +static void AnimBowMon(struct Sprite *sprite) { sprite->invisible = TRUE; sprite->data[0] = 0; @@ -4434,7 +4434,7 @@ static void AnimBowMon(struct Sprite* sprite) } } -static void AnimBowMon_Step1(struct Sprite* sprite) +static void AnimBowMon_Step1(struct Sprite *sprite) { sprite->data[0] = 6; sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? 2 : -2; @@ -4444,7 +4444,7 @@ static void AnimBowMon_Step1(struct Sprite* sprite) sprite->callback = TranslateSpriteLinearById; } -static void AnimBowMon_Step1_Callback(struct Sprite* sprite) +static void AnimBowMon_Step1_Callback(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -4464,7 +4464,7 @@ static void AnimBowMon_Step1_Callback(struct Sprite* sprite) } } -static void AnimBowMon_Step2(struct Sprite* sprite) +static void AnimBowMon_Step2(struct Sprite *sprite) { sprite->data[0] = 4; sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? -3 : 3; @@ -4474,7 +4474,7 @@ static void AnimBowMon_Step2(struct Sprite* sprite) sprite->callback = TranslateSpriteLinearById; } -static void AnimBowMon_Step3(struct Sprite* sprite) +static void AnimBowMon_Step3(struct Sprite *sprite) { if (++sprite->data[0] > 8) { @@ -4483,7 +4483,7 @@ static void AnimBowMon_Step3(struct Sprite* sprite) } } -static void AnimBowMon_Step3_Callback(struct Sprite* sprite) +static void AnimBowMon_Step3_Callback(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -4511,7 +4511,7 @@ static void AnimBowMon_Step3_Callback(struct Sprite* sprite) } } -static void AnimBowMon_Step4(struct Sprite* sprite) +static void AnimBowMon_Step4(struct Sprite *sprite) { DestroyAnimSprite(sprite); } @@ -4690,7 +4690,7 @@ static void AnimTask_SkullBashPositionSet(u8 taskId) static void AnimTask_SkullBashPositionReset(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; if (task->data[3]) { task->data[4] -= task->data[5]; @@ -4705,7 +4705,7 @@ static void AnimTask_SkullBashPositionReset(u8 taskId) } } -static void AnimSlashSlice(struct Sprite* sprite) +static void AnimSlashSlice(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -4724,7 +4724,7 @@ static void AnimSlashSlice(struct Sprite* sprite) sprite->callback = RunStoredCallbackWhenAnimEnds; } -static void AnimFalseSwipeSlice(struct Sprite* sprite) +static void AnimFalseSwipeSlice(struct Sprite *sprite) { sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + 0xFFD0; sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); @@ -4732,7 +4732,7 @@ static void AnimFalseSwipeSlice(struct Sprite* sprite) sprite->callback = RunStoredCallbackWhenAnimEnds; } -static void AnimFalseSwipePositionedSlice(struct Sprite* sprite) +static void AnimFalseSwipePositionedSlice(struct Sprite *sprite) { sprite->x = sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + 0xFFD0 + gBattleAnimArgs[0]; sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); @@ -4742,7 +4742,7 @@ static void AnimFalseSwipePositionedSlice(struct Sprite* sprite) sprite->callback = AnimFalseSwipeSlice_Step3; } -static void AnimFalseSwipeSlice_Step1(struct Sprite* sprite) +static void AnimFalseSwipeSlice_Step1(struct Sprite *sprite) { if (++sprite->data[0] > 8) { @@ -4754,14 +4754,14 @@ static void AnimFalseSwipeSlice_Step1(struct Sprite* sprite) } } -static void AnimFalseSwipeSlice_Step2(struct Sprite* sprite) +static void AnimFalseSwipeSlice_Step2(struct Sprite *sprite) { sprite->data[0] = 0; sprite->data[1] = 0; sprite->callback = AnimFalseSwipeSlice_Step3; } -static void AnimFalseSwipeSlice_Step3(struct Sprite* sprite) +static void AnimFalseSwipeSlice_Step3(struct Sprite *sprite) { if (++sprite->data[0] > 1) { @@ -4772,7 +4772,7 @@ static void AnimFalseSwipeSlice_Step3(struct Sprite* sprite) } } -static void AnimEndureEnergy(struct Sprite* sprite) +static void AnimEndureEnergy(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -4790,7 +4790,7 @@ static void AnimEndureEnergy(struct Sprite* sprite) sprite->callback = AnimEndureEnergy_Step; } -static void AnimEndureEnergy_Step(struct Sprite* sprite) +static void AnimEndureEnergy_Step(struct Sprite *sprite) { if (++sprite->data[0] > sprite->data[1]) { @@ -4803,7 +4803,7 @@ static void AnimEndureEnergy_Step(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void AnimSharpenSphere(struct Sprite* sprite) +static void AnimSharpenSphere(struct Sprite *sprite) { sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) - 12; @@ -4812,11 +4812,11 @@ static void AnimSharpenSphere(struct Sprite* sprite) sprite->data[2] = 0; sprite->data[3] = 0; sprite->data[4] = 0; - sprite->data[5] = BattleAnimAdjustPanning(-64); + sprite->data[5] = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER); sprite->callback = AnimSharpenSphere_Step; } -static void AnimSharpenSphere_Step(struct Sprite* sprite) +static void AnimSharpenSphere_Step(struct Sprite *sprite) { if (++sprite->data[0] >= sprite->data[1]) { @@ -4840,7 +4840,7 @@ static void AnimSharpenSphere_Step(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void AnimConversion(struct Sprite* sprite) +static void AnimConversion(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -4880,7 +4880,7 @@ void AnimTask_ConversionAlphaBlend(u8 taskId) } } -static void AnimConversion2(struct Sprite* sprite) +static void AnimConversion2(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, FALSE); sprite->animPaused = 1; @@ -4888,7 +4888,7 @@ static void AnimConversion2(struct Sprite* sprite) sprite->callback = AnimConversion2_Step; } -static void AnimConversion2_Step(struct Sprite* sprite) +static void AnimConversion2_Step(struct Sprite *sprite) { if (sprite->data[0]) { @@ -4943,7 +4943,7 @@ static void AnimTask_ShowBattlersHealthbox(u8 taskId) DestroyAnimVisualTask(taskId); } -static void AnimMoon(struct Sprite* sprite) +static void AnimMoon(struct Sprite *sprite) { if (IsContest()) { @@ -4962,13 +4962,13 @@ static void AnimMoon(struct Sprite* sprite) sprite->callback = AnimMoon_Step; } -static void AnimMoon_Step(struct Sprite* sprite) +static void AnimMoon_Step(struct Sprite *sprite) { if (sprite->data[0]) DestroyAnimSprite(sprite); } -static void AnimMoonlightSparkle(struct Sprite* sprite) +static void AnimMoonlightSparkle(struct Sprite *sprite) { sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[0]; sprite->y = gBattleAnimArgs[1]; @@ -4980,7 +4980,7 @@ static void AnimMoonlightSparkle(struct Sprite* sprite) sprite->callback = AnimMoonlightSparkle_Step; } -static void AnimMoonlightSparkle_Step(struct Sprite* sprite) +static void AnimMoonlightSparkle_Step(struct Sprite *sprite) { if (++sprite->data[1] > 1) { @@ -5015,7 +5015,7 @@ void AnimTask_MoonlightEndFade(u8 taskId) gTasks[taskId].data[9] = 15; b = GetBattleMonSpritePalettesMask(1, 1, 1, 1); c = a | b; - StorePointerInVars(&gTasks[taskId].data[14], &gTasks[taskId].data[15], (void*)c); + StorePointerInVars(&gTasks[taskId].data[14], &gTasks[taskId].data[15], (void *)c); b = b | (0x10000 << IndexOfSpritePaletteTag(ANIM_TAG_MOON)); d = IndexOfSpritePaletteTag(ANIM_TAG_GREEN_SPARKLE); BeginNormalPaletteFade((0x10000 << d) | b, 0, 0, 16, RGB(27, 29, 31)); @@ -5025,7 +5025,7 @@ void AnimTask_MoonlightEndFade(u8 taskId) static void AnimTask_MoonlightEndFade_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; switch (task->data[0]) { case 0: @@ -5101,7 +5101,7 @@ static void AnimTask_MoonlightEndFade_Step(u8 taskId) } } -static void AnimHornHit(struct Sprite* sprite) +static void AnimHornHit(struct Sprite *sprite) { if (gBattleAnimArgs[2] < 2) gBattleAnimArgs[2] = 2; @@ -5148,7 +5148,7 @@ static void AnimHornHit(struct Sprite* sprite) sprite->callback = AnimHornHit_Step; } -static void AnimHornHit_Step(struct Sprite* sprite) +static void AnimHornHit_Step(struct Sprite *sprite) { sprite->data[2] += sprite->data[3]; sprite->data[4] += sprite->data[5]; @@ -5170,7 +5170,7 @@ void AnimTask_DoubleTeam(u8 taskId) int obj; u16 r3; u16 r4; - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[1] = AllocSpritePalette(ANIM_TAG_BENT_SPOON); r3 = (task->data[1] * 16) + 0x100; @@ -5201,7 +5201,7 @@ void AnimTask_DoubleTeam(u8 taskId) static void AnimTask_DoubleTeam_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; if (!task->data[3]) { if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) @@ -5214,7 +5214,7 @@ static void AnimTask_DoubleTeam_Step(u8 taskId) } } -static void AnimDoubleTeam(struct Sprite* sprite) +static void AnimDoubleTeam(struct Sprite *sprite) { if (++sprite->data[3] > 1) { @@ -5236,7 +5236,7 @@ static void AnimDoubleTeam(struct Sprite* sprite) } } -static void AnimSuperFang(struct Sprite* sprite) +static void AnimSuperFang(struct Sprite *sprite) { StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); sprite->callback = RunStoredCallbackWhenAnimEnds; @@ -5288,7 +5288,7 @@ void AnimTask_MusicNotesClearRainbowBlend(u8 taskId) #define sVelocX data[6] #define sVelocY data[7] -static void AnimWavyMusicNotes(struct Sprite* sprite) +static void AnimWavyMusicNotes(struct Sprite *sprite) { u8 index; u8 x, y; @@ -5317,7 +5317,7 @@ static void AnimWavyMusicNotes(struct Sprite* sprite) sprite->callback = AnimWavyMusicNotes_Step; } -static void AnimWavyMusicNotes_CalcVelocity(s16 x, s16 y, s16* velocX, s16* velocY, s8 xSpeedFactor) +static void AnimWavyMusicNotes_CalcVelocity(s16 x, s16 y, s16 *velocX, s16 *velocY, s8 xSpeedFactor) { int x2; int time; @@ -5333,7 +5333,7 @@ static void AnimWavyMusicNotes_CalcVelocity(s16 x, s16 y, s16* velocX, s16* velo *velocY = (y * 256) / time; } -static void AnimWavyMusicNotes_Step(struct Sprite* sprite) +static void AnimWavyMusicNotes_Step(struct Sprite *sprite) { s16 y, trigIdx; u8 index; @@ -5366,7 +5366,7 @@ static void AnimWavyMusicNotes_Step(struct Sprite* sprite) } } -static void AnimFlyingMusicNotes(struct Sprite* sprite) +static void AnimFlyingMusicNotes(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) gBattleAnimArgs[1] *= -1; @@ -5383,7 +5383,7 @@ static void AnimFlyingMusicNotes(struct Sprite* sprite) sprite->callback = AnimFlyingMusicNotes_Step; } -static void AnimFlyingMusicNotes_Step(struct Sprite* sprite) +static void AnimFlyingMusicNotes_Step(struct Sprite *sprite) { sprite->data[4] += sprite->data[6]; sprite->data[5] += sprite->data[7]; @@ -5402,7 +5402,7 @@ static void AnimFlyingMusicNotes_Step(struct Sprite* sprite) DestroySpriteAndMatrix(sprite); } -static void AnimBellyDrumHand(struct Sprite* sprite) +static void AnimBellyDrumHand(struct Sprite *sprite) { s16 a; if (gBattleAnimArgs[0] == 1) @@ -5422,7 +5422,7 @@ static void AnimBellyDrumHand(struct Sprite* sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void AnimSlowFlyingMusicNotes(struct Sprite* sprite) +void AnimSlowFlyingMusicNotes(struct Sprite *sprite) { s16 xDiff; u8 index; @@ -5444,7 +5444,7 @@ void AnimSlowFlyingMusicNotes(struct Sprite* sprite) sprite->callback = AnimSlowFlyingMusicNotes_Step; } -static void AnimSlowFlyingMusicNotes_Step(struct Sprite* sprite) +static void AnimSlowFlyingMusicNotes_Step(struct Sprite *sprite) { if (AnimTranslateLinear(sprite) == 0) { @@ -5463,7 +5463,7 @@ static void AnimSlowFlyingMusicNotes_Step(struct Sprite* sprite) } } -void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite) +void SetSpriteNextToMonHead(u8 battler, struct Sprite *sprite) { if (GetBattlerSide(battler) == B_SIDE_PLAYER) sprite->x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8; @@ -5473,7 +5473,7 @@ void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite) sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4; } -static void AnimThoughtBubble(struct Sprite* sprite) +static void AnimThoughtBubble(struct Sprite *sprite) { u8 animNum; u8 battler; @@ -5491,7 +5491,7 @@ static void AnimThoughtBubble(struct Sprite* sprite) sprite->callback = RunStoredCallbackWhenAnimEnds; } -static void AnimThoughtBubble_Step(struct Sprite* sprite) +static void AnimThoughtBubble_Step(struct Sprite *sprite) { if (--sprite->data[0] == 0) { @@ -5501,7 +5501,7 @@ static void AnimThoughtBubble_Step(struct Sprite* sprite) } } -static void AnimMetronomeFinger(struct Sprite* sprite) +static void AnimMetronomeFinger(struct Sprite *sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -5515,7 +5515,7 @@ static void AnimMetronomeFinger(struct Sprite* sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void AnimMetronomeFinger_Step(struct Sprite* sprite) +static void AnimMetronomeFinger_Step(struct Sprite *sprite) { if (++sprite->data[0] > 16) { @@ -5525,7 +5525,7 @@ static void AnimMetronomeFinger_Step(struct Sprite* sprite) } } -static void AnimFollowMeFinger(struct Sprite* sprite) +static void AnimFollowMeFinger(struct Sprite *sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -5547,13 +5547,13 @@ static void AnimFollowMeFinger(struct Sprite* sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void AnimFollowMeFinger_Step1(struct Sprite* sprite) +static void AnimFollowMeFinger_Step1(struct Sprite *sprite) { if (++sprite->data[4] > 12) sprite->callback = AnimFollowMeFinger_Step2; } -static void AnimFollowMeFinger_Step2(struct Sprite* sprite) +static void AnimFollowMeFinger_Step2(struct Sprite *sprite) { s16 x1, x2; @@ -5583,7 +5583,7 @@ static void AnimFollowMeFinger_Step2(struct Sprite* sprite) sprite->x2 = (x1 >> 3) + (x2 >> 1); } -static void AnimTauntFinger(struct Sprite* sprite) +static void AnimTauntFinger(struct Sprite *sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -5606,7 +5606,7 @@ static void AnimTauntFinger(struct Sprite* sprite) sprite->callback = AnimTauntFinger_Step1; } -static void AnimTauntFinger_Step1(struct Sprite* sprite) +static void AnimTauntFinger_Step1(struct Sprite *sprite) { if (++sprite->data[1] > 10) { @@ -5617,7 +5617,7 @@ static void AnimTauntFinger_Step1(struct Sprite* sprite) } } -static void AnimTauntFinger_Step2(struct Sprite* sprite) +static void AnimTauntFinger_Step2(struct Sprite *sprite) { if (++sprite->data[1] > 5) DestroyAnimSprite(sprite); diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 9764d5522a..6b60440528 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -1534,7 +1534,7 @@ static void AnimAirWaveProjectile_Step2(struct Sprite *sprite) static void AnimAirWaveProjectile_Step1(struct Sprite *sprite) { - struct Task* task = &gTasks[sprite->data[7]]; + struct Task *task = &gTasks[sprite->data[7]]; if (sprite->data[0] > task->data[5]) { sprite->data[5] += sprite->data[3]; @@ -1571,7 +1571,7 @@ static void AnimAirWaveProjectile(struct Sprite *sprite) s16 b; s16 c; - struct Task* task = &gTasks[sprite->data[7]]; + struct Task *task = &gTasks[sprite->data[7]]; sprite->data[1] += (-2 & task->data[7]); sprite->data[2] += (-2 & task->data[8]); if (1 & task->data[7]) @@ -1642,7 +1642,7 @@ static void AirCutterProjectileStep1(u8 taskId) gTasks[taskId].data[gTasks[taskId].data[1] + 13] = spriteId; gTasks[taskId].data[0] = gTasks[taskId].data[3]; gTasks[taskId].data[1]++; - PlaySE12WithPanning(SE_M_BLIZZARD2, BattleAnimAdjustPanning(-63)); + PlaySE12WithPanning(SE_M_BLIZZARD2, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER + 1)); if (gTasks[taskId].data[1] > 2) gTasks[taskId].func = AirCutterProjectileStep2; } @@ -1667,7 +1667,7 @@ void AnimTask_AirCutterProjectile(u8 taskId) } else { - if ((gBattlerPositions[gBattleAnimTarget] & BIT_SIDE) == B_SIDE_PLAYER) + if (GET_BATTLER_SIDE2(gBattleAnimTarget) == B_SIDE_PLAYER) { gTasks[taskId].data[4] = 1; gBattleAnimArgs[0] = -gBattleAnimArgs[0]; @@ -1684,7 +1684,7 @@ void AnimTask_AirCutterProjectile(u8 taskId) if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget))) { - SetAverageBattlerPositions(gBattleAnimTarget, 0, &targetX, &targetY); + SetAverageBattlerPositions(gBattleAnimTarget, FALSE, &targetX, &targetY); } else { @@ -1838,8 +1838,8 @@ static void AnimBulletSeed_Step1(struct Sprite *sprite) { int i; u16 rand; - s16* ptr; - PlaySE12WithPanning(SE_M_HORN_ATTACK, BattleAnimAdjustPanning(63)); + s16 *ptr; + PlaySE12WithPanning(SE_M_HORN_ATTACK, BattleAnimAdjustPanning(SOUND_PAN_TARGET)); sprite->x += sprite->x2; sprite->y += sprite->y2; sprite->y2 = 0; @@ -2035,7 +2035,7 @@ static void AnimTask_GrowAndGrayscale_Step(u8 taskId) // No args. void AnimTask_Minimize(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = spriteId; PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL); @@ -2051,7 +2051,7 @@ void AnimTask_Minimize(u8 taskId) static void AnimTask_Minimize_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; switch (task->data[1]) { case 0: @@ -2115,7 +2115,7 @@ static void AnimTask_Minimize_Step(u8 taskId) } } -static void CreateMinimizeSprite(struct Task* task, u8 taskId) +static void CreateMinimizeSprite(struct Task *task, u8 taskId) { u16 matrixNum; s16 spriteId = CloneBattlerSpriteWithBlend(ANIM_ATTACKER); @@ -2160,7 +2160,7 @@ static void ClonedMinizeSprite_Step(struct Sprite *sprite) // arg 1: num hops void AnimTask_Splash(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; if (gBattleAnimArgs[1] == 0) { DestroyAnimVisualTask(taskId); @@ -2180,7 +2180,7 @@ void AnimTask_Splash(u8 taskId) static void AnimTask_Splash_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; switch (task->data[1]) { case 0: @@ -2234,7 +2234,7 @@ static void AnimTask_Splash_Step(u8 taskId) // No args. void AnimTask_GrowAndShrink(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); PrepareAffineAnimInTaskData(task, spriteId, gGrowAndShrinkAffineAnimCmds); task->func = AnimTask_GrowAndShrink_Step; @@ -2242,7 +2242,7 @@ void AnimTask_GrowAndShrink(u8 taskId) static void AnimTask_GrowAndShrink_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; if (!RunAffineAnimFromTaskData(task)) DestroyAnimVisualTask(taskId); } @@ -2301,7 +2301,7 @@ static void AnimAngerMark(struct Sprite *sprite) // left/right movements void AnimTask_ThrashMoveMonHorizontal(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = spriteId; task->data[1] = 0; @@ -2311,7 +2311,7 @@ void AnimTask_ThrashMoveMonHorizontal(u8 taskId) static void AnimTask_ThrashMoveMonHorizontal_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; if (!RunAffineAnimFromTaskData(task)) DestroyAnimVisualTask(taskId); } @@ -2319,7 +2319,7 @@ static void AnimTask_ThrashMoveMonHorizontal_Step(u8 taskId) // up/down movements void AnimTask_ThrashMoveMonVertical(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[1] = 0; task->data[2] = 4; @@ -2338,7 +2338,7 @@ void AnimTask_ThrashMoveMonVertical(u8 taskId) static void AnimTask_ThrashMoveMonVertical_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; if (++task->data[7] > 2) { task->data[7] = 0; @@ -2389,7 +2389,7 @@ static void AnimTask_ThrashMoveMonVertical_Step(u8 taskId) void AnimTask_SketchDrawMon(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; struct ScanlineEffectParams params; s16 i; @@ -2430,7 +2430,7 @@ void AnimTask_SketchDrawMon(u8 taskId) static void AnimTask_SketchDrawMon_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; switch (task->data[4]) { @@ -2485,7 +2485,7 @@ static void AnimPencil(struct Sprite *sprite) sprite->data[3] = 16; sprite->data[4] = 0; sprite->data[5] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT) + 2; - sprite->data[6] = BattleAnimAdjustPanning(63); + sprite->data[6] = BattleAnimAdjustPanning(SOUND_PAN_TARGET); sprite->callback = AnimPencil_Step; } @@ -2791,7 +2791,7 @@ static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *sprite) // Used by Extremespeed void AnimTask_AttackerStretchAndDisappear(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = spriteId; PrepareAffineAnimInTaskData(task, spriteId, gStretchAttackerAffineAnimCmds); @@ -2800,7 +2800,7 @@ void AnimTask_AttackerStretchAndDisappear(u8 taskId) static void AnimTask_AttackerStretchAndDisappear_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; if (!RunAffineAnimFromTaskData(task)) { gSprites[task->data[0]].y2 = 0; @@ -2811,7 +2811,7 @@ static void AnimTask_AttackerStretchAndDisappear_Step(u8 taskId) void AnimTask_ExtremeSpeedImpact(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; task->data[0] = 0; task->data[1] = 0; task->data[2] = 0; @@ -2834,7 +2834,7 @@ void AnimTask_ExtremeSpeedImpact(u8 taskId) static void AnimTask_ExtremeSpeedImpact_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; switch (task->data[0]) { @@ -2880,7 +2880,7 @@ static void AnimTask_ExtremeSpeedImpact_Step(u8 taskId) void AnimTask_ExtremeSpeedMonReappear(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; task->data[0] = 0; task->data[1] = 0; task->data[2] = 0; @@ -2894,7 +2894,7 @@ void AnimTask_ExtremeSpeedMonReappear(u8 taskId) static void AnimTask_ExtremeSpeedMonReappear_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; if (task->data[0] == 0 && ++task->data[1] > task->data[4]) { task->data[1] = 0; @@ -2922,7 +2922,7 @@ static void AnimTask_ExtremeSpeedMonReappear_Step(u8 taskId) void AnimTask_SpeedDust(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; task->data[0] = 0; task->data[1] = 4; task->data[2] = 0; @@ -2940,7 +2940,7 @@ void AnimTask_SpeedDust(u8 taskId) static void AnimTask_SpeedDust_Step(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; switch (task->data[8]) { case 0: @@ -3043,9 +3043,7 @@ void AnimTask_FreeMusicNotesPals(u8 taskId) static void SetMusicNotePalette(struct Sprite *sprite, u8 a, u8 b) { - u8 tile; - tile = (b & 1); - tile = ((-tile | tile) >> 31) & 32; + u8 tile = (b & 1) ? 32 : 0; sprite->oam.tileNum += tile + (a << 2); sprite->oam.paletteNum = IndexOfSpritePaletteTag(sMusicNotePaletteTagsTable[b >> 1]); } @@ -3720,7 +3718,7 @@ static void AnimPerishSongMusicNote2(struct Sprite *sprite) } if (++sprite->data[0] == sprite->data[1]) - SetGrayscaleOrOriginalPalette(sprite->oam.paletteNum + 16, 0); + SetGrayscaleOrOriginalPalette(sprite->oam.paletteNum + 16, FALSE); if (sprite->data[0] == sprite->data[1] + 80) DestroyAnimSprite(sprite); @@ -3792,8 +3790,7 @@ static void AnimPerishSongMusicNote_Step2(struct Sprite *sprite) if (sprite->data[4] > 3) { - int var1 = sprite->data[2]; - sprite->invisible = var1 - (((s32)(var1 + ((u32)var1 >> 31)) >> 1) << 1); + sprite->invisible = sprite->data[2] % 2; DestroyAnimSprite(sprite); } @@ -3807,7 +3804,7 @@ static void AnimGuardRing(struct Sprite *sprite) { if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) { - SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->x, &sprite->y); + SetAverageBattlerPositions(gBattleAnimAttacker, FALSE, &sprite->x, &sprite->y); sprite->y += 40; StartSpriteAffineAnim(sprite, 1); diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 3b4f6729f8..c0f400a555 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -1646,7 +1646,7 @@ static void AnimClappingHand_Step(struct Sprite *sprite) sprite->data[2]++; if (sprite->data[3] == 0) { - PlaySE1WithPanning(SE_M_ENCORE, BattleAnimAdjustPanning(-64)); + PlaySE1WithPanning(SE_M_ENCORE, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER)); } } } @@ -1930,7 +1930,7 @@ static void TormentAttacker_Step(u8 taskId) y = task->data[3] + task->data[5]; spriteId = CreateSprite(&gThoughtBubbleSpriteTemplate, x, y, 6 - task->data[1]); - PlaySE12WithPanning(SE_M_METRONOME, BattleAnimAdjustPanning(-64)); + PlaySE12WithPanning(SE_M_METRONOME, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER)); if (spriteId != MAX_SPRITES) { @@ -2107,7 +2107,7 @@ static void AnimWishStar(struct Sprite *sprite) if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) sprite->x = -16; else - sprite->x = 256; + sprite->x = DISPLAY_WIDTH + 16; sprite->y = 0; sprite->callback = AnimWishStar_Step; @@ -2136,7 +2136,7 @@ static void AnimWishStar_Step(struct Sprite *sprite) } newX = sprite->x + sprite->x2 + 32; - if (newX > 304) + if (newX > DISPLAY_WIDTH + 64) DestroyAnimSprite(sprite); } @@ -2411,7 +2411,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId) gTasks[taskId].data[11] = gBattle_BG1_Y; gTasks[taskId].data[0]++; - PlaySE12WithPanning(SE_M_MORNING_SUN, BattleAnimAdjustPanning(-64)); + PlaySE12WithPanning(SE_M_MORNING_SUN, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER)); break; case 1: if (gTasks[taskId].data[4]++ > 0) @@ -2446,7 +2446,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId) { gTasks[taskId].data[3] = 0; gTasks[taskId].data[0] = 1; - PlaySE12WithPanning(SE_M_MORNING_SUN, BattleAnimAdjustPanning(-64)); + PlaySE12WithPanning(SE_M_MORNING_SUN, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER)); } break; case 4: @@ -2677,7 +2677,7 @@ static void AnimWeakFrustrationAngerMark(struct Sprite *sprite) { if (sprite->data[0] == 0) { - InitSpritePosToAnimAttacker(sprite, 0); + InitSpritePosToAnimAttacker(sprite, FALSE); sprite->data[0]++; } else if (sprite->data[0]++ > 20) @@ -3183,7 +3183,7 @@ static void AnimReversalOrb_Step(struct Sprite *sprite) // Copies the target mon's sprite, and makes a white silhouette that shrinks away. void AnimTask_RolePlaySilhouette(u8 taskId) { - u8 isBackPic; + bool8 isBackPic; u32 personality; u32 otId; u16 species; @@ -3206,7 +3206,7 @@ void AnimTask_RolePlaySilhouette(u8 taskId) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { - isBackPic = 0; + isBackPic = FALSE; personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_PERSONALITY); otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_OT_ID); if (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies == SPECIES_NONE) @@ -3226,7 +3226,7 @@ void AnimTask_RolePlaySilhouette(u8 taskId) } else { - isBackPic = 1; + isBackPic = TRUE; personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_PERSONALITY); otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_OT_ID); if (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies == SPECIES_NONE) @@ -4807,7 +4807,7 @@ void AnimTask_MonToSubstitute(u8 taskId) } else { - LoadBattleMonGfxAndAnimate(gBattleAnimAttacker, 0, spriteId); + LoadBattleMonGfxAndAnimate(gBattleAnimAttacker, FALSE, spriteId); if (IsContest()) { gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].affineAnims = gAffineAnims_BattleSpriteContest; @@ -4845,7 +4845,7 @@ static void AnimTask_MonToSubstituteDoll(u8 taskId) if (gSprites[spriteId].y2 == 0) { - PlaySE12WithPanning(SE_M_BUBBLE2, BattleAnimAdjustPanning(-64)); + PlaySE12WithPanning(SE_M_BUBBLE2, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER)); gTasks[taskId].data[10] -= 0x800; gTasks[taskId].data[0]++; } @@ -4867,7 +4867,7 @@ static void AnimTask_MonToSubstituteDoll(u8 taskId) if (gSprites[spriteId].y2 == 0) { - PlaySE12WithPanning(SE_M_BUBBLE2, BattleAnimAdjustPanning(-64)); + PlaySE12WithPanning(SE_M_BUBBLE2, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER)); DestroyAnimVisualTask(taskId); } break; @@ -4904,7 +4904,7 @@ static void AnimBlockX_Step(struct Sprite *sprite) sprite->y2 += 10; if (sprite->y2 >= 0) { - PlaySE12WithPanning(SE_M_SKETCH, BattleAnimAdjustPanning(63)); + PlaySE12WithPanning(SE_M_SKETCH, BattleAnimAdjustPanning(SOUND_PAN_TARGET)); sprite->y2 = 0; sprite->data[0]++; } @@ -4914,7 +4914,7 @@ static void AnimBlockX_Step(struct Sprite *sprite) sprite->y2 = -(gSineTable[sprite->data[1]] >> 3); if (sprite->data[1] > 0x7F) { - PlaySE12WithPanning(SE_M_SKETCH, BattleAnimAdjustPanning(63)); + PlaySE12WithPanning(SE_M_SKETCH, BattleAnimAdjustPanning(SOUND_PAN_TARGET)); sprite->data[1] = 0; sprite->y2 = 0; sprite->data[0]++; @@ -4933,7 +4933,7 @@ static void AnimBlockX_Step(struct Sprite *sprite) case 3: if (++sprite->data[1] > 8) { - PlaySE12WithPanning(SE_M_LEER, BattleAnimAdjustPanning(63)); + PlaySE12WithPanning(SE_M_LEER, BattleAnimAdjustPanning(SOUND_PAN_TARGET)); sprite->data[1] = 0; sprite->data[0]++; } @@ -5097,7 +5097,7 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId) gTasks[taskId].data[1] &= 0xFF; x = gSprites[spriteId].x + gSprites[spriteId].x2; - if ((u16)(x + 32) > 304) + if (x < -32 || x > DISPLAY_WIDTH + 32) { gTasks[taskId].data[1] = 0; gTasks[taskId].data[0]++; @@ -5180,7 +5180,7 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId) } } - if ((u16)(x + 32) > 304) + if (x < -32 || x > DISPLAY_WIDTH + 32) { gTasks[taskId].data[1] = 0; gTasks[taskId].data[0]++; @@ -5227,7 +5227,7 @@ static void AnimUnusedItemBagSteal(struct Sprite *sprite) case 0: if (gBattleAnimArgs[7] == -1) { - PlaySE12WithPanning(SE_M_VITAL_THROW, BattleAnimAdjustPanning(63)); + PlaySE12WithPanning(SE_M_VITAL_THROW, BattleAnimAdjustPanning(SOUND_PAN_TARGET)); sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 16; sprite->data[0] = -32; sprite->data[7]++; diff --git a/src/battle_anim_electric.c b/src/battle_anim_electric.c index 635aa550e7..b6a82b8d9a 100644 --- a/src/battle_anim_electric.c +++ b/src/battle_anim_electric.c @@ -571,7 +571,7 @@ static void AnimSparkElectricity(struct Sprite *sprite) static void AnimZapCannonSpark(struct Sprite *sprite) { - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = sprite->x; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); @@ -583,7 +583,7 @@ static void AnimZapCannonSpark(struct Sprite *sprite) sprite->data[7] = gBattleAnimArgs[4]; sprite->oam.tileNum += gBattleAnimArgs[6] * 4; sprite->callback = AnimZapCannonSpark_Step; - AnimZapCannonSpark_Step(sprite); + sprite->callback(sprite); } static void AnimZapCannonSpark_Step(struct Sprite *sprite) @@ -1159,7 +1159,7 @@ void AnimTask_ShockWaveProgressingBolt(u8 taskId) task->data[4] = 7; task->data[5] = -1; task->data[11] = 12; - task->data[12] = BattleAnimAdjustPanning(task->data[11] - 76); + task->data[12] = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER); task->data[13] = BattleAnimAdjustPanning(SOUND_PAN_TARGET); task->data[14] = task->data[12]; task->data[15] = (task->data[13] - task->data[12]) / 3; diff --git a/src/battle_anim_fight.c b/src/battle_anim_fight.c index ca4668e023..764a951ef8 100644 --- a/src/battle_anim_fight.c +++ b/src/battle_anim_fight.c @@ -454,7 +454,7 @@ static void AnimBasicFistOrFoot(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[4]); if (gBattleAnimArgs[3] == 0) - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); else InitSpritePosToAnimTarget(sprite, TRUE); @@ -492,7 +492,7 @@ static void AnimFistOrFootRandomPos(struct Sprite *sprite) if (Random2() & 1) y *= -1; - if ((gBattlerPositions[battler] & BIT_SIDE) == B_SIDE_PLAYER) + if (GET_BATTLER_SIDE2(battler) == B_SIDE_PLAYER) y += 0xFFF0; sprite->x += x; @@ -500,7 +500,7 @@ static void AnimFistOrFootRandomPos(struct Sprite *sprite) sprite->data[0] = gBattleAnimArgs[1]; sprite->data[7] = CreateSprite(&gBasicHitSplatSpriteTemplate, sprite->x, sprite->y, sprite->subpriority + 1); - if (sprite->data[7] != 64) + if (sprite->data[7] != MAX_SPRITES) { StartSpriteAffineAnim(&gSprites[sprite->data[7]], 0); gSprites[sprite->data[7]].callback = SpriteCallbackDummy; @@ -513,7 +513,7 @@ static void AnimFistOrFootRandomPos_Step(struct Sprite *sprite) { if (sprite->data[0] == 0) { - if (sprite->data[7] != 64) + if (sprite->data[7] != MAX_SPRITES) { FreeOamMatrix(gSprites[sprite->data[7]].oam.matrixNum); DestroySprite(&gSprites[sprite->data[7]]); @@ -964,7 +964,7 @@ static void AnimArmThrustHit(struct Sprite *sprite) static void AnimRevengeScratch(struct Sprite *sprite) { if (gBattleAnimArgs[2] == ANIM_ATTACKER) - InitSpritePosToAnimAttacker(sprite, 0); + InitSpritePosToAnimAttacker(sprite, FALSE); else InitSpritePosToAnimTarget(sprite, FALSE); diff --git a/src/battle_anim_fire.c b/src/battle_anim_fire.c index b523a3771b..fedd4c919f 100644 --- a/src/battle_anim_fire.c +++ b/src/battle_anim_fire.c @@ -649,7 +649,7 @@ static void AnimBurnFlame(struct Sprite *sprite) //void AnimFireRing(struct Sprite *sprite) void AnimFireRing(struct Sprite *sprite) { - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[7] = gBattleAnimArgs[2]; sprite->data[0] = 0; @@ -736,7 +736,7 @@ static void AnimFireCross(struct Sprite *sprite) static void AnimFireSpiralOutward(struct Sprite *sprite) { - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[1] = gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[3]; @@ -926,7 +926,7 @@ static void CreateEruptionLaunchRocks(u8 spriteId, u8 taskId, u8 activeSpritesId u16 y = GetEruptionLaunchRockInitialYPos(spriteId); u16 x = gSprites[spriteId].x; - if(!GetBattlerSide(gBattleAnimAttacker)) + if(GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { x -= 12; sign = 1; @@ -1102,7 +1102,7 @@ static void AnimWillOWispOrb(struct Sprite *sprite) switch (sprite->data[0]) { case 0: - InitSpritePosToAnimAttacker(sprite, 0); + InitSpritePosToAnimAttacker(sprite, FALSE); StartSpriteAnim(sprite, gBattleAnimArgs[2]); sprite->data[7] = gBattleAnimArgs[2]; @@ -1227,8 +1227,8 @@ void AnimTask_MoveHeatWaveTargets(u8 taskId) { struct Task *task = &gTasks[taskId]; - task->data[12] = !GetBattlerSide(gBattleAnimAttacker) ? 1 : -1; - task->data[13] = IsBattlerSpriteVisible(gBattleAnimTarget ^ 2) + 1; + task->data[12] = GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER ? 1 : -1; + task->data[13] = IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget)) + 1; task->data[14] = GetAnimBattlerSpriteId(ANIM_TARGET); task->data[15] = GetAnimBattlerSpriteId(ANIM_DEF_PARTNER); diff --git a/src/battle_anim_flying.c b/src/battle_anim_flying.c index 3c6341faa2..746e3bdd73 100644 --- a/src/battle_anim_flying.c +++ b/src/battle_anim_flying.c @@ -456,7 +456,7 @@ static void AnimAirWaveCrescent(struct Sprite *sprite) } else { - SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]); + SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->data[2], &sprite->data[4]); } sprite->data[2] = sprite->data[2] + gBattleAnimArgs[2]; @@ -528,8 +528,8 @@ static void AnimFlyBallAttack_Step(struct Sprite *sprite) } if (sprite->x + sprite->x2 < -32 - || sprite->x + sprite->x2 > DISPLAY_WIDTH + 32 - || sprite->y + sprite->y2 > DISPLAY_HEIGHT) + || sprite->x + sprite->x2 > DISPLAY_WIDTH + 32 + || sprite->y + sprite->y2 > DISPLAY_HEIGHT) { gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = FALSE; DestroyAnimSprite(sprite); @@ -595,7 +595,7 @@ static void AnimFallingFeather(struct Sprite *sprite) data->unkA = (gBattleAnimArgs[2] >> 8) & 0xFF; data->unk4 = gBattleAnimArgs[3]; data->unk6 = gBattleAnimArgs[4]; - *(u16*)(data->unkC) = gBattleAnimArgs[5]; + *(u16 *)(data->unkC) = gBattleAnimArgs[5]; if (data->unk2 >= 64 && data->unk2 <= 191) { @@ -906,12 +906,12 @@ static void AnimWhirlwindLine(struct Sprite * sprite) u8 mult; if (gBattleAnimArgs[2] == ANIM_ATTACKER) - InitSpritePosToAnimAttacker(sprite, 0); + InitSpritePosToAnimAttacker(sprite, FALSE); else InitSpritePosToAnimTarget(sprite, FALSE); - if ((gBattleAnimArgs[2] == ANIM_ATTACKER && !GetBattlerSide(gBattleAnimAttacker)) - || (gBattleAnimArgs[2] == ANIM_TARGET && !GetBattlerSide(gBattleAnimTarget))) + if ((gBattleAnimArgs[2] == ANIM_ATTACKER && GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + || (gBattleAnimArgs[2] == ANIM_TARGET && GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)) { sprite->x += 8; } @@ -971,7 +971,7 @@ static void AnimBounceBallShrink(struct Sprite *sprite) switch (sprite->data[0]) { case 0: - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = TRUE; ++sprite->data[0]; break; @@ -1009,7 +1009,7 @@ static void AnimBounceBallLand(struct Sprite *sprite) static void AnimDiveBall(struct Sprite *sprite) { - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; sprite->callback = AnimDiveBall_Step1; @@ -1067,7 +1067,7 @@ static void AnimDiveWaterSplash(struct Sprite *sprite) sprite->data[1] = 0x200; - TrySetSpriteRotScale(sprite, 0, 0x100, sprite->data[1], 0); + TrySetSpriteRotScale(sprite, FALSE, 0x100, sprite->data[1], 0); sprite->data[0]++; break; case 1: @@ -1078,7 +1078,7 @@ static void AnimDiveWaterSplash(struct Sprite *sprite) sprite->data[2]++; - TrySetSpriteRotScale(sprite, 0, 0x100, sprite->data[1], 0); + TrySetSpriteRotScale(sprite, FALSE, 0x100, sprite->data[1], 0); matrixNum = sprite->oam.matrixNum; @@ -1202,7 +1202,7 @@ static void AnimSkyAttackBird(struct Sprite *sprite) rotation = ArcTan2Neg(posx - sprite->x, posy - sprite->y); rotation -= 16384; - TrySetSpriteRotScale(sprite, 1, 0x100, 0x100, rotation); + TrySetSpriteRotScale(sprite, TRUE, 0x100, 0x100, rotation); sprite->callback = AnimSkyAttackBird_Step; } @@ -1215,8 +1215,8 @@ void AnimSkyAttackBird_Step(struct Sprite *sprite) sprite->x = sprite->data[4] >> 4; sprite->y = sprite->data[5] >> 4; - if (sprite->x > 285 || sprite->x < -45 - || sprite->y > 157 || sprite->y < -45) + if (sprite->x > DISPLAY_WIDTH + 45 || sprite->x < -45 + || sprite->y > 157 || sprite->y < -45) DestroySpriteAndMatrix(sprite); } diff --git a/src/battle_anim_ghost.c b/src/battle_anim_ghost.c index a59e549001..792c1ecaf1 100644 --- a/src/battle_anim_ghost.c +++ b/src/battle_anim_ghost.c @@ -814,7 +814,7 @@ void AnimTask_DestinyBondWhiteShadow(u8 taskId) for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++) { if (battler != gBattleAnimAttacker - && battler != (gBattleAnimAttacker ^ 2) + && battler != BATTLE_PARTNER(gBattleAnimAttacker) && IsBattlerSpriteVisible(battler)) { spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55); @@ -1034,7 +1034,7 @@ static void AnimCurseNail(struct Sprite *sprite) s16 xDelta; s16 xDelta2; - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { xDelta = 24; diff --git a/src/battle_anim_ground.c b/src/battle_anim_ground.c index 0e581035e8..7b810b56c2 100644 --- a/src/battle_anim_ground.c +++ b/src/battle_anim_ground.c @@ -205,7 +205,7 @@ static void AnimDirtScatter(struct Sprite *sprite) u8 targetXPos, targetYPos; s16 xOffset, yOffset; - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); targetXPos = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X_2); targetYPos = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); diff --git a/src/battle_anim_ice.c b/src/battle_anim_ice.c index 0b89c1f593..3032db7f3f 100644 --- a/src/battle_anim_ice.c +++ b/src/battle_anim_ice.c @@ -45,7 +45,7 @@ static void AnimThrowIceBall(struct Sprite *); static void InitIceBallParticle(struct Sprite *); static void AnimIceBallParticle(struct Sprite *); static void AnimTask_HazeScrollingFog_Step(u8); -static void AnimTask_LoadMistTiles_Step(u8); +static void AnimTask_MistBallFog_Step(u8); static void AnimTask_Hail2(u8); static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c); @@ -353,7 +353,7 @@ const struct SpriteTemplate gMistBallSpriteTemplate = .callback = AnimThrowMistBall, }; -static const u8 wMistBlendAmounts[] = +static const u8 sMistBlendAmounts[] = { 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, }; @@ -631,7 +631,7 @@ static void AnimIceEffectParticle(struct Sprite *sprite) } else { - SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->x, &sprite->y); + SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->x, &sprite->y); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; @@ -676,7 +676,7 @@ static void AnimSwirlingSnowball(struct Sprite *sprite) } else { - SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]); + SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->data[2], &sprite->data[4]); } if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -696,7 +696,8 @@ static void AnimSwirlingSnowball(struct Sprite *sprite) sprite->data[0] = 1; AnimFastTranslateLinear(sprite); - if ((u32)(sprite->x + sprite->x2 + 16) > DISPLAY_WIDTH + 32 + if (sprite->x + sprite->x2 > DISPLAY_WIDTH + 16 + || sprite->x + sprite->x2 < -16 || sprite->y + sprite->y2 > DISPLAY_HEIGHT || sprite->y + sprite->y2 < -16) break; @@ -762,7 +763,8 @@ static void AnimSwirlingSnowball_End(struct Sprite *sprite) sprite->data[0] = 1; AnimFastTranslateLinear(sprite); - if ((u32)(sprite->x + sprite->x2 + 16) > DISPLAY_WIDTH + 32 + if (sprite->x + sprite->x2 > 256 + || sprite->x + sprite->x2 < -16 || sprite->y + sprite->y2 > 256 || sprite->y + sprite->y2 < -16) DestroyAnimSprite(sprite); @@ -796,7 +798,7 @@ static void AnimMoveParticleBeyondTarget(struct Sprite *sprite) } else { - SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]); + SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->data[2], &sprite->data[4]); } if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -816,7 +818,8 @@ static void AnimMoveParticleBeyondTarget(struct Sprite *sprite) { sprite->data[0] = 1; AnimFastTranslateLinear(sprite); - if ((u32)(sprite->x + sprite->x2 + 16) > DISPLAY_WIDTH + 32 + if (sprite->x + sprite->x2 > DISPLAY_WIDTH + 16 + || sprite->x + sprite->x2 < -16 || sprite->y + sprite->y2 > DISPLAY_HEIGHT || sprite->y + sprite->y2 < -16) break; @@ -846,7 +849,8 @@ static void AnimWiggleParticleTowardsTarget(struct Sprite *sprite) sprite->data[7] = (sprite->data[7] + sprite->data[6]) & 0xFF; if (sprite->data[0] == 1) { - if ((u32)(sprite->x + sprite->x2 + 16) > DISPLAY_WIDTH + 32 + if (sprite->x + sprite->x2 > DISPLAY_WIDTH + 16 + || sprite->x + sprite->x2 < -16 || sprite->y + sprite->y2 > DISPLAY_HEIGHT || sprite->y + sprite->y2 < -16) DestroyAnimSprite(sprite); @@ -867,7 +871,7 @@ static void AnimWaveFromCenterOfTarget(struct Sprite *sprite) } else { - SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->x, &sprite->y); + SetAverageBattlerPositions(gBattleAnimTarget, FALSE, &sprite->x, &sprite->y); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; @@ -905,7 +909,7 @@ static void InitSwirlingFogAnim(struct Sprite *sprite) } else { - SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->x, &sprite->y); + SetAverageBattlerPositions(gBattleAnimAttacker, FALSE, &sprite->x, &sprite->y); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) sprite->x -= gBattleAnimArgs[0]; else @@ -924,7 +928,7 @@ static void InitSwirlingFogAnim(struct Sprite *sprite) } else { - SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->x, &sprite->y); + SetAverageBattlerPositions(gBattleAnimTarget, FALSE, &sprite->x, &sprite->y); if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER) sprite->x -= gBattleAnimArgs[0]; else @@ -1086,7 +1090,7 @@ static void AnimThrowMistBall(struct Sprite *sprite) } // Displays misty background in Mist Ball. -void AnimTask_LoadMistTiles(u8 taskId) +void AnimTask_MistBallFog(u8 taskId) { struct BattleAnimBgData animBg; @@ -1109,10 +1113,10 @@ void AnimTask_LoadMistTiles(u8 taskId) LoadPalette(&gFogPalette, animBg.paletteId * 16, 32); gTasks[taskId].data[15] = -1; - gTasks[taskId].func = AnimTask_LoadMistTiles_Step; + gTasks[taskId].func = AnimTask_MistBallFog_Step; } -static void AnimTask_LoadMistTiles_Step(u8 taskId) +static void AnimTask_MistBallFog_Step(u8 taskId) { struct BattleAnimBgData animBg; @@ -1123,7 +1127,7 @@ static void AnimTask_LoadMistTiles_Step(u8 taskId) { case 0: gTasks[taskId].data[9] += 1; - gTasks[taskId].data[11] = wMistBlendAmounts[gTasks[taskId].data[9]]; + gTasks[taskId].data[11] = sMistBlendAmounts[gTasks[taskId].data[9]]; SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 17 - gTasks[taskId].data[11])); if (gTasks[taskId].data[11] == 5) { @@ -1189,12 +1193,12 @@ static void InitPoisonGasCloudAnim(struct Sprite *sprite) if (GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) < GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2)) sprite->data[7] = 0x8000; - if ((gBattlerPositions[gBattleAnimTarget] & BIT_SIDE) == B_SIDE_PLAYER) + if (GET_BATTLER_SIDE2(gBattleAnimTarget) == B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; - if ((sprite->data[7] & 0x8000) && (gBattlerPositions[gBattleAnimAttacker] & BIT_SIDE) == B_SIDE_PLAYER) + if ((sprite->data[7] & 0x8000) && GET_BATTLER_SIDE2(gBattleAnimAttacker) == B_SIDE_PLAYER) sprite->subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1; sprite->data[6] = 1; @@ -1410,14 +1414,14 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, } else { - battlerX = (sHailCoordData[hailStructId].x); - battlerY = (sHailCoordData[hailStructId].y); + battlerX = sHailCoordData[hailStructId].x; + battlerY = sHailCoordData[hailStructId].y; } } else { - battlerX = (sHailCoordData[hailStructId].x); - battlerY = (sHailCoordData[hailStructId].y); + battlerX = sHailCoordData[hailStructId].x; + battlerY = sHailCoordData[hailStructId].y; } spriteX = battlerX - ((battlerY + 8) / 2); id = CreateSprite(&gHailParticleSpriteTemplate, spriteX, -8, 18); @@ -1454,7 +1458,7 @@ static void AnimHailBegin(struct Sprite *sprite) sprite->data[3], sprite->data[4], sprite->subpriority); sprite->data[0] = spriteId; - if (spriteId != 64) + if (spriteId != MAX_SPRITES) { gSprites[sprite->data[0]].callback = AnimHailContinue; gSprites[sprite->data[0]].data[6] = sprite->data[6]; @@ -1497,7 +1501,7 @@ static void InitIceBallAnim(struct Sprite *sprite) animNum = 4; StartSpriteAffineAnim(sprite, animNum); - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[4]; diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index ba2cbe29ac..8a11c2c5b5 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -5,7 +5,6 @@ #include "task.h" #include "trig.h" -// This file's functions. static void AnimTask_ShakeMon_Step(u8 taskId); static void AnimTask_ShakeMon2_Step(u8 taskId); static void AnimTask_ShakeMonInPlace_Step(u8 taskId); @@ -14,7 +13,7 @@ static void AnimTask_TranslateMonElliptical_Step(u8 taskId); static void DoHorizontalLunge(struct Sprite *sprite); static void ReverseHorizontalLungeDirection(struct Sprite *sprite); static void DoVerticalDip(struct Sprite *sprite); -static void ReverseVerticalDipDirection(struct Sprite* sprite); +static void ReverseVerticalDipDirection(struct Sprite *sprite); static void SlideMonToOriginalPos(struct Sprite *sprite); static void SlideMonToOriginalPos_Step(struct Sprite *sprite); static void SlideMonToOffset(struct Sprite *sprite); @@ -108,7 +107,7 @@ void AnimTask_ShakeMon(u8 taskId) gTasks[taskId].data[4] = gBattleAnimArgs[1]; gTasks[taskId].data[5] = gBattleAnimArgs[2]; gTasks[taskId].func = AnimTask_ShakeMon_Step; - AnimTask_ShakeMon_Step(taskId); + gTasks[taskId].func(taskId); } static void AnimTask_ShakeMon_Step(u8 taskId) @@ -156,17 +155,14 @@ static void AnimTask_ShakeMon_Step(u8 taskId) void AnimTask_ShakeMon2(u8 taskId) { u8 spriteId; - bool8 destroy = FALSE; + bool8 abort = FALSE; u8 battlerId; if (gBattleAnimArgs[0] < MAX_BATTLERS_COUNT) { spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (spriteId == SPRITE_NONE) - { - DestroyAnimVisualTask(taskId); - return; - } + abort = TRUE; } else if (gBattleAnimArgs[0] != 8) { @@ -188,7 +184,7 @@ void AnimTask_ShakeMon2(u8 taskId) } if (IsBattlerSpriteVisible(battlerId) == FALSE) - destroy = TRUE; + abort = TRUE; spriteId = gBattlerSpriteIds[battlerId]; } @@ -197,7 +193,7 @@ void AnimTask_ShakeMon2(u8 taskId) spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; } - if (destroy) + if (abort) { DestroyAnimVisualTask(taskId); return; @@ -332,10 +328,8 @@ void AnimTask_ShakeAndSinkMon(u8 taskId) static void AnimTask_ShakeAndSinkMon_Step(u8 taskId) { - s16 x; - u8 spriteId; - spriteId = gTasks[taskId].data[0]; - x = gTasks[taskId].data[1]; + u8 spriteId = gTasks[taskId].data[0]; + s16 x = gTasks[taskId].data[1]; if (gTasks[taskId].data[2] == gTasks[taskId].data[8]++) { gTasks[taskId].data[8] = 0; @@ -365,11 +359,8 @@ static void AnimTask_ShakeAndSinkMon_Step(u8 taskId) void AnimTask_TranslateMonElliptical(u8 taskId) { u8 i; - u8 spriteId; - u8 wavePeriod; - - wavePeriod = 1; - spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + u8 wavePeriod = 1; + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (gBattleAnimArgs[4] > 5) gBattleAnimArgs[4] = 5; @@ -742,7 +733,7 @@ static void AnimTask_SlideOffScreen_Step(u8 taskId) { u8 spriteId = gTasks[taskId].data[0]; gSprites[spriteId].x2 += gTasks[taskId].data[1]; - if (gSprites[spriteId].x2 + gSprites[spriteId].x + 0x20 > 0x130u) + if (gSprites[spriteId].x2 + gSprites[spriteId].x < -32 || gSprites[spriteId].x2 + gSprites[spriteId].x > DISPLAY_WIDTH + 32) { DestroyAnimVisualTask(taskId); return; @@ -831,8 +822,7 @@ static void AnimTask_SwayMonStep(u8 taskId) // arg 4: sprite object mode void AnimTask_ScaleMonAndRestore(u8 taskId) { - u8 spriteId; - spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[3]); + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[3]); PrepareBattlerSpriteForRotScale(spriteId, gBattleAnimArgs[4]); gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[1] = gBattleAnimArgs[1]; @@ -893,13 +883,13 @@ void AnimTask_RotateMonSpriteToSide(u8 taskId) } else { - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) { - gTasks[taskId].data[7] = !GetBattlerSide(gBattleAnimAttacker); + gTasks[taskId].data[7] = GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER; } else { - gTasks[taskId].data[7] = !GetBattlerSide(gBattleAnimTarget); + gTasks[taskId].data[7] = GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER; } } if (gTasks[taskId].data[7]) @@ -916,8 +906,7 @@ void AnimTask_RotateMonSpriteToSide(u8 taskId) // Rotates mon to side and back to original position. For Peck and when a held item activates void AnimTask_RotateMonToSideAndRestore(u8 taskId) { - u8 spriteId; - spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL); gTasks[taskId].data[1] = 0; gTasks[taskId].data[2] = gBattleAnimArgs[0]; diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 2fbe858d7b..a5d4659a9d 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -81,7 +81,7 @@ static const u8 sCastformBackSpriteYCoords[NUM_CASTFORM_FORMS] = #define TAG_MOVE_EFFECT_MON_1 55125 #define TAG_MOVE_EFFECT_MON_2 55126 -static const struct SpriteTemplate sSpriteTemplate_MoveEffectMons[] = +static const struct SpriteTemplate sSpriteTemplates_MoveEffectMons[] = { { .tileTag = TAG_MOVE_EFFECT_MON_1, @@ -103,7 +103,7 @@ static const struct SpriteTemplate sSpriteTemplate_MoveEffectMons[] = } }; -static const struct SpriteSheet sSpriteSheet_MoveEffectMons[] = +static const struct SpriteSheet sSpriteSheets_MoveEffectMons[] = { { gMiscBlank_Gfx, MON_PIC_SIZE, TAG_MOVE_EFFECT_MON_1, }, { gMiscBlank_Gfx, MON_PIC_SIZE, TAG_MOVE_EFFECT_MON_2, }, @@ -414,7 +414,7 @@ u8 GetAnimBattlerSpriteId(u8 animBattler) } } -void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*callback)(struct Sprite*)) +void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*callback)(struct Sprite *)) { sprite->data[6] = (u32)(callback) & 0xffff; sprite->data[7] = (u32)(callback) >> 16; @@ -440,7 +440,7 @@ void SetCallbackToStoredInData6(struct Sprite *sprite) #define sAmplitudeX sAmplitude #define sAmplitudeY data[4] -// TranslateSpriteInWavePattern +// TranslateSpriteInLissajousCurve #define sCirclePosX sCirclePos #define sCircleSpeedX sCircleSpeed #define sCirclePosY data[4] @@ -487,7 +487,7 @@ void TranslateSpriteInGrowingCircle(struct Sprite *sprite) // Unused // Exact shape depends on arguments. Can move in a figure-8-like pattern, or circular, etc. -static void TranslateSpriteInWavePattern(struct Sprite *sprite) +static void TranslateSpriteInLissajousCurve(struct Sprite *sprite) { if (sprite->sDuration) { @@ -495,7 +495,7 @@ static void TranslateSpriteInWavePattern(struct Sprite *sprite) sprite->y2 = Cos(sprite->sCirclePosY, sprite->sAmplitude); sprite->sCirclePosX += sprite->sCircleSpeedX; sprite->sCirclePosY += sprite->sCircleSpeedY; - + if (sprite->sCirclePosX >= 0x100) sprite->sCirclePosX -= 0x100; else if (sprite->sCirclePosX < 0) @@ -857,7 +857,7 @@ u8 GetBattlerSide(u8 battlerId) u8 GetBattlerPosition(u8 battlerId) { - return GET_BATTLER_POSITION(battlerId); + return gBattlerPositions[battlerId]; } u8 GetBattlerAtPosition(u8 position) @@ -1508,13 +1508,13 @@ u32 GetBattleMonSpritePalettesMask(u8 playerLeft, u8 playerRight, u8 opponentLef return selectedPalettes; } -// Presumably something commented here, just returns arg -u8 AnimDummyReturnArg(u8 battler) +u8 GetSpritePalIdxByBattler(u8 battler) { return battler; } -static u8 GetBattlerAtPosition_(u8 position) +// Unused +static u8 GetSpritePalIdxByPosition(u8 position) { return GetBattlerAtPosition(position); } @@ -1552,20 +1552,20 @@ void AnimSpriteOnMonPos(struct Sprite *sprite) // arg 5: lower 8 bits = location on attacking mon, upper 8 bits = location on target mon pick to target void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) { - bool8 v1; + bool8 respectMonPicOffsets; u8 coordType; if (!(gBattleAnimArgs[5] & 0xff00)) - v1 = TRUE; + respectMonPicOffsets = TRUE; else - v1 = FALSE; + respectMonPicOffsets = FALSE; if (!(gBattleAnimArgs[5] & 0xff)) coordType = BATTLER_COORD_Y_PIC_OFFSET; else coordType = BATTLER_COORD_Y; - InitSpritePosToAnimAttacker(sprite, v1); + InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; @@ -1578,7 +1578,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) void AnimThrowProjectile(struct Sprite *sprite) { - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; @@ -2097,8 +2097,8 @@ u8 GetBattlerSpriteBGPriorityRank(u8 battlerId) u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, bool32 ignoreDeoxysForm) { u8 spriteId; - u16 sheet = LoadSpriteSheet(&sSpriteSheet_MoveEffectMons[id]); - u16 palette = AllocSpritePalette(sSpriteTemplate_MoveEffectMons[id].paletteTag); + u16 sheet = LoadSpriteSheet(&sSpriteSheets_MoveEffectMons[id]); + u16 palette = AllocSpritePalette(sSpriteTemplates_MoveEffectMons[id].paletteTag); if (gMonSpritesGfxPtr != NULL && gMonSpritesGfxPtr->buffer == NULL) gMonSpritesGfxPtr->buffer = AllocZeroed(0x2000); @@ -2139,9 +2139,9 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 FREE_AND_SET_NULL(gMonSpritesGfxPtr->buffer); if (!isBackpic) - spriteId = CreateSprite(&sSpriteTemplate_MoveEffectMons[id], x, y + gMonFrontPicCoords[species].y_offset, subpriority); + spriteId = CreateSprite(&sSpriteTemplates_MoveEffectMons[id], x, y + gMonFrontPicCoords[species].y_offset, subpriority); else - spriteId = CreateSprite(&sSpriteTemplate_MoveEffectMons[id], x, y + gMonBackPicCoords[species].y_offset, subpriority); + spriteId = CreateSprite(&sSpriteTemplates_MoveEffectMons[id], x, y + gMonBackPicCoords[species].y_offset, subpriority); if (IsContest()) { @@ -2429,7 +2429,7 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId) dest = (task->tPaletteNum + 16) * 16; src = (gSprites[task->tBattlerSpriteId].oam.paletteNum + 0x10) * 0x10; - + // Set trace's priority based on battler's subpriority task->tPriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker); if (task->tPriority == 20 || task->tPriority == 40) @@ -2519,7 +2519,7 @@ void AnimWeatherBallUp(struct Sprite *sprite) { sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); - if (!GetBattlerSide(gBattleAnimAttacker)) + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) sprite->data[0] = 5; else sprite->data[0] = -10; @@ -2545,7 +2545,7 @@ void AnimWeatherBallDown(struct Sprite *sprite) sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = sprite->x + gBattleAnimArgs[4]; sprite->data[4] = sprite->y + gBattleAnimArgs[5]; - if (!GetBattlerSide(gBattleAnimTarget)) + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) { x = (u16)gBattleAnimArgs[4] + 30; sprite->x += x; diff --git a/src/battle_anim_normal.c b/src/battle_anim_normal.c index a92428f83b..1c90a3d641 100644 --- a/src/battle_anim_normal.c +++ b/src/battle_anim_normal.c @@ -945,7 +945,7 @@ static void AnimHitSplatBasic(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); if (gBattleAnimArgs[2] == ANIM_ATTACKER) - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); else InitSpritePosToAnimTarget(sprite, TRUE); @@ -958,7 +958,7 @@ static void AnimHitSplatPersistent(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); if (gBattleAnimArgs[2] == ANIM_ATTACKER) - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); else InitSpritePosToAnimTarget(sprite, TRUE); @@ -984,7 +984,7 @@ static void AnimHitSplatRandom(struct Sprite *sprite) StartSpriteAffineAnim(sprite, gBattleAnimArgs[1]); if (gBattleAnimArgs[0] == ANIM_ATTACKER) - InitSpritePosToAnimAttacker(sprite, 0); + InitSpritePosToAnimAttacker(sprite, FALSE); else InitSpritePosToAnimTarget(sprite, FALSE); @@ -1010,7 +1010,7 @@ static void AnimHitSplatOnMonEdge(struct Sprite *sprite) static void AnimCrossImpact(struct Sprite *sprite) { if (gBattleAnimArgs[2] == ANIM_ATTACKER) - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); else InitSpritePosToAnimTarget(sprite, TRUE); @@ -1023,7 +1023,7 @@ static void AnimFlashingHitSplat(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); if (gBattleAnimArgs[2] == ANIM_ATTACKER) - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); else InitSpritePosToAnimTarget(sprite, TRUE); diff --git a/src/battle_anim_poison.c b/src/battle_anim_poison.c index 664df389d6..d9a15c835c 100644 --- a/src/battle_anim_poison.c +++ b/src/battle_anim_poison.c @@ -190,7 +190,7 @@ static void AnimSludgeProjectile(struct Sprite *sprite) if (!gBattleAnimArgs[3]) StartSpriteAnim(sprite, 2); - InitSpritePosToAnimAttacker(sprite, 1); + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); @@ -214,8 +214,8 @@ static void AnimAcidPoisonBubble(struct Sprite *sprite) if (!gBattleAnimArgs[3]) StartSpriteAnim(sprite, 2); - InitSpritePosToAnimAttacker(sprite, 1); - SetAverageBattlerPositions(gBattleAnimTarget, 1, &l1, &l2); + InitSpritePosToAnimAttacker(sprite, TRUE); + SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &l1, &l2); if (GetBattlerSide(gBattleAnimAttacker)) gBattleAnimArgs[4] = -gBattleAnimArgs[4]; diff --git a/src/battle_anim_psychic.c b/src/battle_anim_psychic.c index aebf76cc06..978d14c4cd 100644 --- a/src/battle_anim_psychic.c +++ b/src/battle_anim_psychic.c @@ -570,7 +570,7 @@ static void AnimDefensiveWall_Step5(struct Sprite *sprite) if (IsBattlerSpriteVisible(battler)) ResetBattleAnimBg(toBG2); - battler = battlerCopy ^ 2; + battler = BATTLE_PARTNER(battlerCopy); if (IsBattlerSpriteVisible(battler)) ResetBattleAnimBg(toBG2 ^ var0); } @@ -818,7 +818,7 @@ static void AnimTask_ImprisonOrbs_Step(u8 taskId) { for (i = 8; i < 13; i++) { - if (task->data[i] != 64) + if (task->data[i] != MAX_SPRITES) DestroySprite(&gSprites[task->data[i]]); } @@ -918,7 +918,7 @@ static void AnimTask_SkillSwap_Step(u8 taskId) { task->data[1] = 0; spriteId = CreateSprite(&gSkillSwapOrbSpriteTemplate, task->data[11], task->data[12], 0); - if (spriteId != 64) + if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[0] = 16; gSprites[spriteId].data[2] = task->data[13]; @@ -997,12 +997,10 @@ void AnimTask_ExtrasensoryDistortion(u8 taskId) scanlineParams.dmaDest = ®_BG2HOFS; } - i = task->data[14]; - while (i <= task->data[14] + 64) + for (i = task->data[14]; i <= task->data[14] + 64; i++) { gScanlineEffectRegBuffers[0][i] = task->data[10]; gScanlineEffectRegBuffers[1][i] = task->data[10]; - i++; } scanlineParams.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; @@ -1137,7 +1135,7 @@ static void AnimPsychoBoost(struct Sprite *sprite) case 1: if (sprite->affineAnimEnded) { - PlaySE12WithPanning(SE_M_TELEPORT, BattleAnimAdjustPanning(-64)); + PlaySE12WithPanning(SE_M_TELEPORT, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER)); ChangeSpriteAffineAnim(sprite, 1); sprite->data[0]++; } diff --git a/src/battle_anim_rock.c b/src/battle_anim_rock.c index 5aa8f28c30..287a332b56 100644 --- a/src/battle_anim_rock.c +++ b/src/battle_anim_rock.c @@ -297,7 +297,7 @@ const struct SpriteTemplate gWeatherBallRockDownSpriteTemplate = static void AnimFallingRock(struct Sprite *sprite) { if (gBattleAnimArgs[3] != 0) - SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->x, &sprite->y); + SetAverageBattlerPositions(gBattleAnimTarget, FALSE, &sprite->x, &sprite->y); sprite->x += gBattleAnimArgs[0]; sprite->y += 14; @@ -363,7 +363,7 @@ static void AnimRockFragment(struct Sprite *sprite) static void AnimParticleInVortex(struct Sprite *sprite) { if (gBattleAnimArgs[6] == ANIM_ATTACKER) - InitSpritePosToAnimAttacker(sprite, 0); + InitSpritePosToAnimAttacker(sprite, FALSE); else InitSpritePosToAnimTarget(sprite, FALSE); @@ -544,7 +544,7 @@ static void AnimFlyingSandCrescent(struct Sprite *sprite) static void AnimRaiseSprite(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[4]); - InitSpritePosToAnimAttacker(sprite, 0); + InitSpritePosToAnimAttacker(sprite, FALSE); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[2] = sprite->x; @@ -596,8 +596,8 @@ void AnimTask_Rollout(u8 taskId) task->data[6] = 0; task->data[7] = 0; - pan1 = BattleAnimAdjustPanning(-64); - pan2 = BattleAnimAdjustPanning(63); + pan1 = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER); + pan2 = BattleAnimAdjustPanning(SOUND_PAN_TARGET); task->data[13] = pan1; task->data[14] = (pan2 - pan1) / task->data[8]; diff --git a/src/battle_anim_smokescreen.c b/src/battle_anim_smokescreen.c index c7be8d41c4..e395be5f84 100644 --- a/src/battle_anim_smokescreen.c +++ b/src/battle_anim_smokescreen.c @@ -61,7 +61,7 @@ static const struct OamData sOamData_SmokescreenImpact = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -134,7 +134,7 @@ static const struct OamData sOamData_EnemyShadow = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index f329ea2107..1fde3a9823 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -100,7 +100,7 @@ void SoundTask_LoopSEAdjustPanning(u8 taskId) gTasks[taskId].data[12] = r9; gTasks[taskId].func = SoundTask_LoopSEAdjustPanning_Step; - SoundTask_LoopSEAdjustPanning_Step(taskId); + gTasks[taskId].func(taskId); } static void SoundTask_LoopSEAdjustPanning_Step(u8 taskId) @@ -385,7 +385,7 @@ void SoundTask_AdjustPanningVar(u8 taskId) gTasks[taskId].data[11] = sourcePan; gTasks[taskId].func = SoundTask_AdjustPanningVar_Step; - SoundTask_AdjustPanningVar_Step(taskId); + gTasks[taskId].func(taskId); } static void SoundTask_AdjustPanningVar_Step(u8 taskId) diff --git a/src/battle_anim_throw.c b/src/battle_anim_throw.c index 2f095a043a..d81b532c58 100755 --- a/src/battle_anim_throw.c +++ b/src/battle_anim_throw.c @@ -515,7 +515,7 @@ static void AnimTask_UnusedLevelUpHealthBox_Step(u8 taskId) SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12])); if (gTasks[taskId].data[12] == 0) { - ResetBattleAnimBg(0); + ResetBattleAnimBg(FALSE); gBattle_WIN0H = 0; gBattle_WIN0V = 0; SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); @@ -550,8 +550,8 @@ static void LoadHealthboxPalsForLevelUp(u8 *paletteId1, u8 *paletteId2, u8 battl healthBoxSpriteId = gHealthboxSpriteIds[battler]; spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam; spriteId2 = gSprites[healthBoxSpriteId].data[5]; - *paletteId1 = AllocSpritePalette(0xD709); - *paletteId2 = AllocSpritePalette(0xD70A); + *paletteId1 = AllocSpritePalette(TAG_HEALTHBOX_PALS_1); + *paletteId2 = AllocSpritePalette(TAG_HEALTHBOX_PALS_2); offset1 = (gSprites[healthBoxSpriteId].oam.paletteNum * 16) + 0x100; offset2 = (gSprites[spriteId2].oam.paletteNum * 16) + 0x100; @@ -580,10 +580,10 @@ static void FreeHealthboxPalsForLevelUp(u8 battler) spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam; spriteId2 = gSprites[healthBoxSpriteId].data[5]; - FreeSpritePaletteByTag(0xD709); - FreeSpritePaletteByTag(0xD70A); - paletteId1 = IndexOfSpritePaletteTag(0xD6FF); - paletteId2 = IndexOfSpritePaletteTag(0xD704); + FreeSpritePaletteByTag(TAG_HEALTHBOX_PALS_1); + FreeSpritePaletteByTag(TAG_HEALTHBOX_PALS_2); + paletteId1 = IndexOfSpritePaletteTag(TAG_HEALTHBOX_PAL); + paletteId2 = IndexOfSpritePaletteTag(TAG_HEALTHBAR_PAL); gSprites[healthBoxSpriteId].oam.paletteNum = paletteId1; gSprites[spriteId1].oam.paletteNum = paletteId1; gSprites[spriteId2].oam.paletteNum = paletteId2; @@ -611,7 +611,7 @@ static void AnimTask_FlashHealthboxOnLevelUp_Step(u8 taskId) if (gTasks[taskId].data[0]++ >= gTasks[taskId].data[11]) { gTasks[taskId].data[0] = 0; - paletteNum = IndexOfSpritePaletteTag(0xD709); + paletteNum = IndexOfSpritePaletteTag(TAG_HEALTHBOX_PALS_1); colorOffset = gTasks[taskId].data[10] == 0 ? 6 : 2; switch (gTasks[taskId].data[1]) { @@ -2408,7 +2408,7 @@ void AnimTask_FreePokeblockGfx(u8 taskId) static void SpriteCB_PokeBlock_Throw(struct Sprite *sprite) { - InitSpritePosToAnimAttacker(sprite, 0); + InitSpritePosToAnimAttacker(sprite, FALSE); sprite->sDuration = 30; sprite->sTargetX = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), BATTLER_COORD_X) + gBattleAnimArgs[2]; sprite->sTargetY = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), BATTLER_COORD_Y) + gBattleAnimArgs[3]; diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index b5455a19c9..403939f883 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -27,7 +27,7 @@ static void StartBlendAnimSpriteColor(u8, u32); static void AnimTask_BlendSpriteColor_Step2(u8); static void AnimTask_HardwarePaletteFade_Step(u8); static void AnimTask_TraceMonBlended_Step(u8); -static void AnimMonTrace(struct Sprite*); +static void AnimMonTrace(struct Sprite *); static void AnimTask_DrawFallingWhiteLinesOnAttacker_Step(u8); static void StatsChangeAnimation_Step1(u8); static void StatsChangeAnimation_Step2(u8); @@ -97,7 +97,7 @@ void AnimTask_BlendBattleAnimPalExclude(u8 taskId) for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++) { if (battler != animBattlers[0] && battler != animBattlers[1] && IsBattlerSpriteVisible(battler)) - selectedPalettes |= 0x10000 << AnimDummyReturnArg(battler); + selectedPalettes |= 0x10000 << GetSpritePalIdxByBattler(battler); } StartBlendAnimSpriteColor(taskId, selectedPalettes); @@ -356,7 +356,7 @@ static void AnimTask_DrawFallingWhiteLinesOnAttacker_Step(u8 taskId) gBattle_BG1_Y += 64; if (++gTasks[taskId].data[11] == 4) { - ResetBattleAnimBg(0); + ResetBattleAnimBg(FALSE); gBattle_WIN0H = 0; gBattle_WIN0V = 0; SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR @@ -535,9 +535,9 @@ static void StatsChangeAnimation_Step2(u8 taskId) gTasks[taskId].func = StatsChangeAnimation_Step3; if (sAnimStatsChangeData->data[0] == 0) - PlaySE12WithPanning(SE_M_STAT_INCREASE, BattleAnimAdjustPanning2(-64)); + PlaySE12WithPanning(SE_M_STAT_INCREASE, BattleAnimAdjustPanning2(SOUND_PAN_ATTACKER)); else - PlaySE12WithPanning(SE_M_STAT_DECREASE, BattleAnimAdjustPanning2(-64)); + PlaySE12WithPanning(SE_M_STAT_DECREASE, BattleAnimAdjustPanning2(SOUND_PAN_ATTACKER)); } static void StatsChangeAnimation_Step3(u8 taskId) @@ -568,7 +568,7 @@ static void StatsChangeAnimation_Step3(u8 taskId) SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12])); if (gTasks[taskId].data[12] == 0) { - ResetBattleAnimBg(0); + ResetBattleAnimBg(FALSE); gTasks[taskId].data[15]++; } } @@ -869,7 +869,7 @@ static void UpdateMonScrollingBgMask(u8 taskId) SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12])); if (gTasks[taskId].data[12] == 0) { - ResetBattleAnimBg(0); + ResetBattleAnimBg(FALSE); gBattle_WIN0H = 0; gBattle_WIN0V = 0; SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR diff --git a/src/battle_anim_water.c b/src/battle_anim_water.c index c0898ce811..b7c2df3d11 100644 --- a/src/battle_anim_water.c +++ b/src/battle_anim_water.c @@ -48,11 +48,11 @@ static void AnimTask_SurfWaveScanlineEffect(u8); static void AnimTask_WaterSpoutLaunch_Step(u8); static void AnimTask_WaterSpoutRain_Step(u8); static u8 GetWaterSpoutPowerForAnim(void); -static void CreateWaterSpoutLaunchDroplets(struct Task*, u8); -static void CreateWaterSpoutRainDroplet(struct Task*, u8); +static void CreateWaterSpoutLaunchDroplets(struct Task *, u8); +static void CreateWaterSpoutRainDroplet(struct Task *, u8); static void AnimTask_WaterSport_Step(u8); -static void CreateWaterSportDroplet(struct Task*); -static void CreateWaterPulseRingBubbles(struct Sprite*, int, int); +static void CreateWaterSportDroplet(struct Task *); +static void CreateWaterPulseRingBubbles(struct Sprite *, int, int); static const u8 sUnusedWater_Gfx[] = INCBIN_U8("graphics/battle_anims/unused/water_gfx.4bpp"); static const u8 sUnusedWater[] = INCBIN_U8("graphics/battle_anims/unused/water.bin"); diff --git a/src/battle_arena.c b/src/battle_arena.c index a7c74366b5..cdd1843d70 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -35,12 +35,28 @@ static void SaveArenaChallenge(void); static void SetArenaPrize(void); static void GiveArenaPrize(void); static void BufferArenaOpponentName(void); -static void SpriteCb_JudgmentIcon(struct Sprite *sprite); +static void SpriteCB_JudgmentIcon(struct Sprite *sprite); static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler); -static const s8 sMindRatings[] = +#define JUDGMENT_STATE_FINISHED 8 + +#define TAG_JUDGMENT_ICON 1000 + +enum { + ANIM_ICON_X, // Player lost + ANIM_ICON_TRIANGLE, // Tie + ANIM_ICON_CIRCLE, // Player won + ANIM_ICON_LINE, // Line segment for separating the score total at the bottom +}; + +// This table holds the number of points to add to the 'mind' score for each move. +// All moves with power != 0 give 1 point, with the following exceptions: +// - Counter, Mirror Coat, and Bide give 0 points +// - Fake Out subtracts 1 point +// All moves with power == 0 give 0 points, with the following exceptions: +// - Protect, Detect, and Endure subtract 1 point +static const s8 sMindRatings[MOVES_COUNT] = { - [MOVE_NONE] = 0, [MOVE_POUND] = 1, [MOVE_KARATE_CHOP] = 1, [MOVE_DOUBLE_SLAP] = 1, @@ -54,11 +70,9 @@ static const s8 sMindRatings[] = [MOVE_VICE_GRIP] = 1, [MOVE_GUILLOTINE] = 1, [MOVE_RAZOR_WIND] = 1, - [MOVE_SWORDS_DANCE] = 0, [MOVE_CUT] = 1, [MOVE_GUST] = 1, [MOVE_WING_ATTACK] = 1, - [MOVE_WHIRLWIND] = 0, [MOVE_FLY] = 1, [MOVE_BIND] = 1, [MOVE_SLAM] = 1, @@ -68,7 +82,6 @@ static const s8 sMindRatings[] = [MOVE_MEGA_KICK] = 1, [MOVE_JUMP_KICK] = 1, [MOVE_ROLLING_KICK] = 1, - [MOVE_SAND_ATTACK] = 0, [MOVE_HEADBUTT] = 1, [MOVE_HORN_ATTACK] = 1, [MOVE_FURY_ATTACK] = 1, @@ -79,22 +92,14 @@ static const s8 sMindRatings[] = [MOVE_TAKE_DOWN] = 1, [MOVE_THRASH] = 1, [MOVE_DOUBLE_EDGE] = 1, - [MOVE_TAIL_WHIP] = 0, [MOVE_POISON_STING] = 1, [MOVE_TWINEEDLE] = 1, [MOVE_PIN_MISSILE] = 1, - [MOVE_LEER] = 0, [MOVE_BITE] = 1, - [MOVE_GROWL] = 0, - [MOVE_ROAR] = 0, - [MOVE_SING] = 0, - [MOVE_SUPERSONIC] = 0, [MOVE_SONIC_BOOM] = 1, - [MOVE_DISABLE] = 0, [MOVE_ACID] = 1, [MOVE_EMBER] = 1, [MOVE_FLAMETHROWER] = 1, - [MOVE_MIST] = 0, [MOVE_WATER_GUN] = 1, [MOVE_HYDRO_PUMP] = 1, [MOVE_SURF] = 1, @@ -108,58 +113,27 @@ static const s8 sMindRatings[] = [MOVE_DRILL_PECK] = 1, [MOVE_SUBMISSION] = 1, [MOVE_LOW_KICK] = 1, - [MOVE_COUNTER] = 0, [MOVE_SEISMIC_TOSS] = 1, [MOVE_STRENGTH] = 1, [MOVE_ABSORB] = 1, [MOVE_MEGA_DRAIN] = 1, - [MOVE_LEECH_SEED] = 0, - [MOVE_GROWTH] = 0, [MOVE_RAZOR_LEAF] = 1, [MOVE_SOLAR_BEAM] = 1, - [MOVE_POISON_POWDER] = 0, - [MOVE_STUN_SPORE] = 0, - [MOVE_SLEEP_POWDER] = 0, [MOVE_PETAL_DANCE] = 1, - [MOVE_STRING_SHOT] = 0, [MOVE_DRAGON_RAGE] = 1, [MOVE_FIRE_SPIN] = 1, [MOVE_THUNDER_SHOCK] = 1, [MOVE_THUNDERBOLT] = 1, - [MOVE_THUNDER_WAVE] = 0, [MOVE_THUNDER] = 1, [MOVE_ROCK_THROW] = 1, [MOVE_EARTHQUAKE] = 1, [MOVE_FISSURE] = 1, [MOVE_DIG] = 1, - [MOVE_TOXIC] = 0, [MOVE_CONFUSION] = 1, [MOVE_PSYCHIC] = 1, - [MOVE_HYPNOSIS] = 0, - [MOVE_MEDITATE] = 0, - [MOVE_AGILITY] = 0, [MOVE_QUICK_ATTACK] = 1, [MOVE_RAGE] = 1, - [MOVE_TELEPORT] = 0, [MOVE_NIGHT_SHADE] = 1, - [MOVE_MIMIC] = 0, - [MOVE_SCREECH] = 0, - [MOVE_DOUBLE_TEAM] = 0, - [MOVE_RECOVER] = 0, - [MOVE_HARDEN] = 0, - [MOVE_MINIMIZE] = 0, - [MOVE_SMOKESCREEN] = 0, - [MOVE_CONFUSE_RAY] = 0, - [MOVE_WITHDRAW] = 0, - [MOVE_DEFENSE_CURL] = 0, - [MOVE_BARRIER] = 0, - [MOVE_LIGHT_SCREEN] = 0, - [MOVE_HAZE] = 0, - [MOVE_REFLECT] = 0, - [MOVE_FOCUS_ENERGY] = 0, - [MOVE_BIDE] = 0, - [MOVE_METRONOME] = 0, - [MOVE_MIRROR_MOVE] = 0, [MOVE_SELF_DESTRUCT] = 1, [MOVE_EGG_BOMB] = 1, [MOVE_LICK] = 1, @@ -173,118 +147,67 @@ static const s8 sMindRatings[] = [MOVE_SKULL_BASH] = 1, [MOVE_SPIKE_CANNON] = 1, [MOVE_CONSTRICT] = 1, - [MOVE_AMNESIA] = 0, - [MOVE_KINESIS] = 0, - [MOVE_SOFT_BOILED] = 0, [MOVE_HI_JUMP_KICK] = 1, - [MOVE_GLARE] = 0, [MOVE_DREAM_EATER] = 1, - [MOVE_POISON_GAS] = 0, [MOVE_BARRAGE] = 1, [MOVE_LEECH_LIFE] = 1, - [MOVE_LOVELY_KISS] = 0, [MOVE_SKY_ATTACK] = 1, - [MOVE_TRANSFORM] = 0, [MOVE_BUBBLE] = 1, [MOVE_DIZZY_PUNCH] = 1, - [MOVE_SPORE] = 0, - [MOVE_FLASH] = 0, [MOVE_PSYWAVE] = 1, - [MOVE_SPLASH] = 0, - [MOVE_ACID_ARMOR] = 0, [MOVE_CRABHAMMER] = 1, [MOVE_EXPLOSION] = 1, [MOVE_FURY_SWIPES] = 1, [MOVE_BONEMERANG] = 1, - [MOVE_REST] = 0, [MOVE_ROCK_SLIDE] = 1, [MOVE_HYPER_FANG] = 1, - [MOVE_SHARPEN] = 0, - [MOVE_CONVERSION] = 0, [MOVE_TRI_ATTACK] = 1, [MOVE_SUPER_FANG] = 1, [MOVE_SLASH] = 1, - [MOVE_SUBSTITUTE] = 0, [MOVE_STRUGGLE] = 1, - [MOVE_SKETCH] = 0, [MOVE_TRIPLE_KICK] = 1, [MOVE_THIEF] = 1, - [MOVE_SPIDER_WEB] = 0, - [MOVE_MIND_READER] = 0, - [MOVE_NIGHTMARE] = 0, [MOVE_FLAME_WHEEL] = 1, [MOVE_SNORE] = 1, - [MOVE_CURSE] = 0, [MOVE_FLAIL] = 1, - [MOVE_CONVERSION_2] = 0, [MOVE_AEROBLAST] = 1, - [MOVE_COTTON_SPORE] = 0, [MOVE_REVERSAL] = 1, - [MOVE_SPITE] = 0, [MOVE_POWDER_SNOW] = 1, [MOVE_PROTECT] = -1, [MOVE_MACH_PUNCH] = 1, - [MOVE_SCARY_FACE] = 0, [MOVE_FAINT_ATTACK] = 1, - [MOVE_SWEET_KISS] = 0, - [MOVE_BELLY_DRUM] = 0, [MOVE_SLUDGE_BOMB] = 1, [MOVE_MUD_SLAP] = 1, [MOVE_OCTAZOOKA] = 1, - [MOVE_SPIKES] = 0, [MOVE_ZAP_CANNON] = 1, - [MOVE_FORESIGHT] = 0, - [MOVE_DESTINY_BOND] = 0, - [MOVE_PERISH_SONG] = 0, [MOVE_ICY_WIND] = 1, [MOVE_DETECT] = -1, [MOVE_BONE_RUSH] = 1, - [MOVE_LOCK_ON] = 0, [MOVE_OUTRAGE] = 1, - [MOVE_SANDSTORM] = 0, [MOVE_GIGA_DRAIN] = 1, [MOVE_ENDURE] = -1, - [MOVE_CHARM] = 0, [MOVE_ROLLOUT] = 1, [MOVE_FALSE_SWIPE] = 1, - [MOVE_SWAGGER] = 0, - [MOVE_MILK_DRINK] = 0, [MOVE_SPARK] = 1, [MOVE_FURY_CUTTER] = 1, [MOVE_STEEL_WING] = 1, - [MOVE_MEAN_LOOK] = 0, - [MOVE_ATTRACT] = 0, - [MOVE_SLEEP_TALK] = 0, - [MOVE_HEAL_BELL] = 0, [MOVE_RETURN] = 1, [MOVE_PRESENT] = 1, [MOVE_FRUSTRATION] = 1, - [MOVE_SAFEGUARD] = 0, - [MOVE_PAIN_SPLIT] = 0, [MOVE_SACRED_FIRE] = 1, [MOVE_MAGNITUDE] = 1, [MOVE_DYNAMIC_PUNCH] = 1, [MOVE_MEGAHORN] = 1, [MOVE_DRAGON_BREATH] = 1, - [MOVE_BATON_PASS] = 0, - [MOVE_ENCORE] = 0, [MOVE_PURSUIT] = 1, [MOVE_RAPID_SPIN] = 1, - [MOVE_SWEET_SCENT] = 0, [MOVE_IRON_TAIL] = 1, [MOVE_METAL_CLAW] = 1, [MOVE_VITAL_THROW] = 1, - [MOVE_MORNING_SUN] = 0, - [MOVE_SYNTHESIS] = 0, - [MOVE_MOONLIGHT] = 0, [MOVE_HIDDEN_POWER] = 1, [MOVE_CROSS_CHOP] = 1, [MOVE_TWISTER] = 1, - [MOVE_RAIN_DANCE] = 0, - [MOVE_SUNNY_DAY] = 0, [MOVE_CRUNCH] = 1, - [MOVE_MIRROR_COAT] = 0, - [MOVE_PSYCH_UP] = 0, [MOVE_EXTREME_SPEED] = 1, [MOVE_ANCIENT_POWER] = 1, [MOVE_SHADOW_BALL] = 1, @@ -294,56 +217,25 @@ static const s8 sMindRatings[] = [MOVE_BEAT_UP] = 1, [MOVE_FAKE_OUT] = -1, [MOVE_UPROAR] = 1, - [MOVE_STOCKPILE] = 0, [MOVE_SPIT_UP] = 1, - [MOVE_SWALLOW] = 0, [MOVE_HEAT_WAVE] = 1, - [MOVE_HAIL] = 0, - [MOVE_TORMENT] = 0, - [MOVE_FLATTER] = 0, - [MOVE_WILL_O_WISP] = 0, - [MOVE_MEMENTO] = 0, [MOVE_FACADE] = 1, [MOVE_FOCUS_PUNCH] = 1, [MOVE_SMELLING_SALT] = 1, - [MOVE_FOLLOW_ME] = 0, - [MOVE_NATURE_POWER] = 0, - [MOVE_CHARGE] = 0, - [MOVE_TAUNT] = 0, - [MOVE_HELPING_HAND] = 0, - [MOVE_TRICK] = 0, - [MOVE_ROLE_PLAY] = 0, - [MOVE_WISH] = 0, - [MOVE_ASSIST] = 0, - [MOVE_INGRAIN] = 0, [MOVE_SUPERPOWER] = 1, - [MOVE_MAGIC_COAT] = 0, - [MOVE_RECYCLE] = 0, [MOVE_REVENGE] = 1, [MOVE_BRICK_BREAK] = 1, - [MOVE_YAWN] = 0, [MOVE_KNOCK_OFF] = 1, [MOVE_ENDEAVOR] = 1, [MOVE_ERUPTION] = 1, - [MOVE_SKILL_SWAP] = 0, - [MOVE_IMPRISON] = 0, - [MOVE_REFRESH] = 0, - [MOVE_GRUDGE] = 0, - [MOVE_SNATCH] = 0, [MOVE_SECRET_POWER] = 1, [MOVE_DIVE] = 1, [MOVE_ARM_THRUST] = 1, - [MOVE_CAMOUFLAGE] = 0, - [MOVE_TAIL_GLOW] = 0, [MOVE_LUSTER_PURGE] = 1, [MOVE_MIST_BALL] = 1, - [MOVE_FEATHER_DANCE] = 0, - [MOVE_TEETER_DANCE] = 0, [MOVE_BLAZE_KICK] = 1, - [MOVE_MUD_SPORT] = 0, [MOVE_ICE_BALL] = 1, [MOVE_NEEDLE_ARM] = 1, - [MOVE_SLACK_OFF] = 0, [MOVE_HYPER_VOICE] = 1, [MOVE_POISON_FANG] = 1, [MOVE_CRUSH_CLAW] = 1, @@ -352,17 +244,10 @@ static const s8 sMindRatings[] = [MOVE_METEOR_MASH] = 1, [MOVE_ASTONISH] = 1, [MOVE_WEATHER_BALL] = 1, - [MOVE_AROMATHERAPY] = 0, - [MOVE_FAKE_TEARS] = 0, [MOVE_AIR_CUTTER] = 1, [MOVE_OVERHEAT] = 1, - [MOVE_ODOR_SLEUTH] = 0, [MOVE_ROCK_TOMB] = 1, [MOVE_SILVER_WIND] = 1, - [MOVE_METAL_SOUND] = 0, - [MOVE_GRASS_WHISTLE] = 0, - [MOVE_TICKLE] = 0, - [MOVE_COSMIC_POWER] = 0, [MOVE_WATER_SPOUT] = 1, [MOVE_SIGNAL_BEAM] = 1, [MOVE_SHADOW_PUNCH] = 1, @@ -374,22 +259,15 @@ static const s8 sMindRatings[] = [MOVE_BULLET_SEED] = 1, [MOVE_AERIAL_ACE] = 1, [MOVE_ICICLE_SPEAR] = 1, - [MOVE_IRON_DEFENSE] = 0, - [MOVE_BLOCK] = 0, - [MOVE_HOWL] = 0, [MOVE_DRAGON_CLAW] = 1, [MOVE_FRENZY_PLANT] = 1, - [MOVE_BULK_UP] = 0, [MOVE_BOUNCE] = 1, [MOVE_MUD_SHOT] = 1, [MOVE_POISON_TAIL] = 1, [MOVE_COVET] = 1, [MOVE_VOLT_TACKLE] = 1, [MOVE_MAGICAL_LEAF] = 1, - [MOVE_WATER_SPORT] = 0, - [MOVE_CALM_MIND] = 0, [MOVE_LEAF_BLADE] = 1, - [MOVE_DRAGON_DANCE] = 0, [MOVE_ROCK_BLAST] = 1, [MOVE_SHOCK_WAVE] = 1, [MOVE_WATER_PULSE] = 1, @@ -397,14 +275,12 @@ static const s8 sMindRatings[] = [MOVE_PSYCHO_BOOST] = 1, }; -#define TAG_JUDGEMENT_ICON 1000 - -static const struct OamData sJudgementIconOamData = +static const struct OamData sOam_JudgmentIcon = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -416,52 +292,52 @@ static const struct OamData sJudgementIconOamData = .affineParam = 0 }; -static const union AnimCmd sJudgementIconAnimCmd0[] = +static const union AnimCmd sAnim_JudgmentIcon_X[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END }; -static const union AnimCmd sJudgementIconAnimCmd1[] = +static const union AnimCmd sAnim_JudgmentIcon_Triangle[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END }; -static const union AnimCmd sJudgementIconAnimCmd2[] = +static const union AnimCmd sAnim_JudgmentIcon_Circle[] = { ANIMCMD_FRAME(8, 1), ANIMCMD_END }; -static const union AnimCmd sJudgementIconAnimCmd3[] = +static const union AnimCmd sAnim_JudgmentIcon_Line[] = { ANIMCMD_FRAME(12, 1), ANIMCMD_END }; -static const union AnimCmd *const sJudgementIconAnimCmds[] = +static const union AnimCmd *const sAnims_JudgmentIcon[] = { - sJudgementIconAnimCmd0, - sJudgementIconAnimCmd1, - sJudgementIconAnimCmd2, - sJudgementIconAnimCmd3 + [ANIM_ICON_X] = sAnim_JudgmentIcon_X, + [ANIM_ICON_TRIANGLE] = sAnim_JudgmentIcon_Triangle, + [ANIM_ICON_CIRCLE] = sAnim_JudgmentIcon_Circle, + [ANIM_ICON_LINE] = sAnim_JudgmentIcon_Line, }; static const struct SpriteTemplate sSpriteTemplate_JudgmentIcon = { - .tileTag = TAG_JUDGEMENT_ICON, + .tileTag = TAG_JUDGMENT_ICON, .paletteTag = TAG_NONE, - .oam = &sJudgementIconOamData, - .anims = sJudgementIconAnimCmds, + .oam = &sOam_JudgmentIcon, + .anims = sAnims_JudgmentIcon, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCb_JudgmentIcon, + .callback = SpriteCB_JudgmentIcon, }; -static const struct CompressedSpriteSheet sBattleArenaJudgementSymbolsSpriteSheet[] = +static const struct CompressedSpriteSheet sBattleArenaJudgmentSymbolsSpriteSheet[] = { - {gBattleArenaJudgementSymbolsGfx, 0x200, TAG_JUDGEMENT_ICON}, + {gBattleArenaJudgmentSymbolsGfx, 0x200, TAG_JUDGMENT_ICON}, {0} }; @@ -507,14 +383,14 @@ void CallBattleArenaFunction(void) u8 BattleArena_ShowJudgmentWindow(u8 *state) { int i; - u8 ret = 0; + u8 result = ARENA_RESULT_RUNNING; switch (*state) { case 0: BeginNormalPaletteFade(0x7FFFFF1C, 4, 0, 8, RGB_BLACK); - SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); - LoadCompressedSpriteSheet(sBattleArenaJudgementSymbolsSpriteSheet); - LoadCompressedPalette(gBattleArenaJudgementSymbolsPalette, 0x1F0, 0x20); + SetGpuReg(REG_OFFSET_WININ, (WININ_WIN0_ALL & ~WININ_WIN0_BG0) | WININ_WIN1_ALL); + LoadCompressedSpriteSheet(sBattleArenaJudgmentSymbolsSpriteSheet); + LoadCompressedPalette(gBattleArenaJudgmentSymbolsPalette, 0x1F0, 0x20); gBattle_WIN0H = 0xFF; gBattle_WIN0V = 0x70; (*state)++; @@ -541,21 +417,23 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state) BattlePutTextOnWindow(gText_Mind, ARENA_WIN_MIND); BattlePutTextOnWindow(gText_Skill, ARENA_WIN_SKILL); BattlePutTextOnWindow(gText_Body, ARENA_WIN_BODY); - BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement); - BattlePutTextOnWindow(gDisplayedStringBattle, ARENA_WIN_JUDGEMENT_TITLE); + BattleStringExpandPlaceholdersToDisplayedString(gText_Judgment); + BattlePutTextOnWindow(gDisplayedStringBattle, ARENA_WIN_JUDGMENT_TITLE); (*state)++; } break; case 3: if (!IsDma3ManagerBusyWithBgCopy()) { - SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_ALL | WININ_WIN1_ALL); + + // Create dividing line for the the score totals at the bottom for (i = 0; i < 8; i++) { u8 spriteId = CreateSprite(&sSpriteTemplate_JudgmentIcon, 64 + i * 16, 84, 0); - StartSpriteAnim(&gSprites[spriteId], 3); + StartSpriteAnim(&gSprites[spriteId], ANIM_ICON_LINE); } - ret = 1; + result = ARENA_RESULT_STEP_DONE; (*state)++; } break; @@ -563,70 +441,71 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state) PlaySE(SE_ARENA_TIMEUP1); ShowJudgmentSprite(80, 40, ARENA_CATEGORY_MIND, B_POSITION_PLAYER_LEFT); ShowJudgmentSprite(160, 40, ARENA_CATEGORY_MIND, B_POSITION_OPPONENT_LEFT); - BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement); - BattlePutTextOnWindow(gDisplayedStringBattle, ARENA_WIN_JUDGEMENT_TITLE); + BattleStringExpandPlaceholdersToDisplayedString(gText_Judgment); + BattlePutTextOnWindow(gDisplayedStringBattle, ARENA_WIN_JUDGMENT_TITLE); (*state)++; - ret = 1; + result = ARENA_RESULT_STEP_DONE; break; case 5: PlaySE(SE_ARENA_TIMEUP1); ShowJudgmentSprite(80, 56, ARENA_CATEGORY_SKILL, B_POSITION_PLAYER_LEFT); ShowJudgmentSprite(160, 56, ARENA_CATEGORY_SKILL, B_POSITION_OPPONENT_LEFT); - BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement); - BattlePutTextOnWindow(gDisplayedStringBattle, ARENA_WIN_JUDGEMENT_TITLE); + BattleStringExpandPlaceholdersToDisplayedString(gText_Judgment); + BattlePutTextOnWindow(gDisplayedStringBattle, ARENA_WIN_JUDGMENT_TITLE); (*state)++; - ret = 1; + result = ARENA_RESULT_STEP_DONE; break; case 6: PlaySE(SE_ARENA_TIMEUP1); ShowJudgmentSprite(80, 72, ARENA_CATEGORY_BODY, B_POSITION_PLAYER_LEFT); ShowJudgmentSprite(160, 72, ARENA_CATEGORY_BODY, B_POSITION_OPPONENT_LEFT); - BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement); - BattlePutTextOnWindow(gDisplayedStringBattle, ARENA_WIN_JUDGEMENT_TITLE); + BattleStringExpandPlaceholdersToDisplayedString(gText_Judgment); + BattlePutTextOnWindow(gDisplayedStringBattle, ARENA_WIN_JUDGMENT_TITLE); (*state)++; - ret = 1; + result = ARENA_RESULT_STEP_DONE; break; case 7: PlaySE(SE_ARENA_TIMEUP2); if (gBattleTextBuff1[0] > gBattleTextBuff2[0]) { - ret = 2; + result = ARENA_RESULT_PLAYER_WON; gBattleScripting.battler = 0; } else if (gBattleTextBuff1[0] < gBattleTextBuff2[0]) { - ret = 3; + result = ARENA_RESULT_PLAYER_LOST; gBattleScripting.battler = 1; } else { - ret = 4; + result = ARENA_RESULT_TIE; } (*state)++; break; - case 8: + case JUDGMENT_STATE_FINISHED: + // Finishing this state is the indicator to SpriteCB_JudgmentIcon that its safe to destroy the judgment icon sprites (*state)++; break; - case 9: - SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); + case JUDGMENT_STATE_FINISHED + 1: + SetGpuReg(REG_OFFSET_WININ, (WININ_WIN0_ALL & ~WININ_WIN0_BG0) | WININ_WIN1_ALL); HandleBattleWindow(5, 0, 24, 13, WINDOW_CLEAR); CopyBgTilemapBufferToVram(0); m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 256); BeginNormalPaletteFade(0x7FFFFF1C, 4, 8, 0, RGB_BLACK); (*state)++; break; - case 10: + case JUDGMENT_STATE_FINISHED + 2: if (!gPaletteFade.active) { - SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); - FreeSpriteTilesByTag(TAG_JUDGEMENT_ICON); - ret = 1; + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_ALL | WININ_WIN1_ALL); + FreeSpriteTilesByTag(TAG_JUDGMENT_ICON); + result = ARENA_RESULT_STEP_DONE; (*state)++; } break; } - return ret; + return result; } static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler) @@ -656,7 +535,8 @@ static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler) if (pointsPlayer > pointsOpponent) { - animNum = 2; + animNum = ANIM_ICON_CIRCLE; + // +2 to score total for winning if (battler != 0) gBattleTextBuff2[0] += 2; else @@ -664,7 +544,8 @@ static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler) } else if (pointsPlayer == pointsOpponent) { - animNum = 1; + animNum = ANIM_ICON_TRIANGLE; + // +1 to score total for a tie if (battler != 0) gBattleTextBuff2[0] += 1; else @@ -672,16 +553,16 @@ static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler) } else { - animNum = 0; + animNum = ANIM_ICON_X; } pointsPlayer = CreateSprite(&sSpriteTemplate_JudgmentIcon, x, y, 0); StartSpriteAnim(&gSprites[pointsPlayer], animNum); } -static void SpriteCb_JudgmentIcon(struct Sprite *sprite) +static void SpriteCB_JudgmentIcon(struct Sprite *sprite) { - if (gBattleCommunication[0] > 8) + if (gBattleCommunication[0] > JUDGMENT_STATE_FINISHED) DestroySprite(sprite); } @@ -701,8 +582,7 @@ void BattleArena_InitPoints(void) void BattleArena_AddMindPoints(u8 battler) { - s8 *mindPoints = gBattleStruct->arenaMindPoints; - mindPoints[battler] += sMindRatings[gCurrentMove]; + gBattleStruct->arenaMindPoints[battler] += sMindRatings[gCurrentMove]; } void BattleArena_AddSkillPoints(u8 battler) @@ -719,7 +599,7 @@ void BattleArena_AddSkillPoints(u8 battler) } else if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { - if (!(gMoveResultFlags & MOVE_RESULT_MISSED) || gBattleCommunication[6] != 1) + if (!(gMoveResultFlags & MOVE_RESULT_MISSED) || gBattleCommunication[MISS_TYPE] != B_MSG_PROTECTED) skillPoints[battler] -= 2; } else if ((gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) && (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE)) diff --git a/src/battle_bg.c b/src/battle_bg.c index ed32c009cb..8bbe18ab28 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -41,7 +41,7 @@ static const struct OamData sVsLetter_V_OamData = .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -58,7 +58,7 @@ static const struct OamData sVsLetter_S_OamData = .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -571,7 +571,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .paletteNum = 5, .baseBlock = 0x013c, }, - [ARENA_WIN_JUDGEMENT_TITLE] = { + [ARENA_WIN_JUDGMENT_TITLE] = { .bg = 0, .tilemapLeft = 8, .tilemapTop = 11, @@ -580,7 +580,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .paletteNum = 5, .baseBlock = 0x0148, }, - [ARENA_WIN_JUDGEMENT_TEXT] = { + [ARENA_WIN_JUDGMENT_TEXT] = { .bg = 0, .tilemapLeft = 2, .tilemapTop = 15, @@ -760,26 +760,26 @@ void DrawMainBattleBackground(void) { if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_RECORDED_LINK)) { - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); } else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON) { - LZDecompressVram(gBattleTerrainTiles_Cave, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Cave, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Cave, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE) { - LZDecompressVram(gBattleTerrainTiles_Water, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Water, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Water, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Water, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); } else if (gBattleTypeFlags & BATTLE_TYPE_RAYQUAZA) { - LZDecompressVram(gBattleTerrainTiles_Rayquaza, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Rayquaza, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Rayquaza, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Rayquaza, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_Rayquaza, 0x20, 0x60); } else @@ -789,15 +789,15 @@ void DrawMainBattleBackground(void) u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; if (trainerClass == TRAINER_CLASS_LEADER) { - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); return; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, 0x20, 0x60); return; } @@ -807,48 +807,48 @@ void DrawMainBattleBackground(void) { default: case MAP_BATTLE_SCENE_NORMAL: - LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tileset, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tilemap, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tileset, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tilemap, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); break; case MAP_BATTLE_SCENE_GYM: - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); break; case MAP_BATTLE_SCENE_MAGMA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); break; case MAP_BATTLE_SCENE_AQUA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); break; case MAP_BATTLE_SCENE_SIDNEY: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); break; case MAP_BATTLE_SCENE_PHOEBE: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); break; case MAP_BATTLE_SCENE_GLACIA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); break; case MAP_BATTLE_SCENE_DRAKE: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); break; case MAP_BATTLE_SCENE_FRONTIER: - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); break; } @@ -857,7 +857,7 @@ void DrawMainBattleBackground(void) void LoadBattleTextboxAndBackground(void) { - LZDecompressVram(gBattleTextboxTiles, (void*)(BG_CHAR_ADDR(0))); + LZDecompressVram(gBattleTextboxTiles, (void *)(BG_CHAR_ADDR(0))); CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); CopyBgTilemapBufferToVram(0); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40); @@ -1124,8 +1124,8 @@ void DrawBattleEntryBackground(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - LZDecompressVram(gBattleVSFrame_Gfx, (void*)(BG_CHAR_ADDR(1))); - LZDecompressVram(gVsLettersGfx, (void*)OBJ_VRAM0); + LZDecompressVram(gBattleVSFrame_Gfx, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gVsLettersGfx, (void *)OBJ_VRAM0); LoadCompressedPalette(gBattleVSFrame_Pal, 0x60, 0x20); SetBgAttribute(1, BG_ATTR_SCREENSIZE, 1); SetGpuReg(REG_OFFSET_BG1CNT, 0x5C04); @@ -1143,8 +1143,8 @@ void DrawBattleEntryBackground(void) { if (!(gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) || gPartnerTrainerId == TRAINER_STEVEN_PARTNER) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28))); } else { @@ -1160,18 +1160,18 @@ void DrawBattleEntryBackground(void) } else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON) { - LZDecompressVram(gBattleTerrainAnimTiles_Cave, (void*)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Cave, (void*)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleTerrainAnimTiles_Cave, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleTerrainAnimTilemap_Cave, (void *)(BG_SCREEN_ADDR(28))); } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE) { - LZDecompressVram(gBattleTerrainAnimTiles_Underwater, (void*)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Underwater, (void*)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleTerrainAnimTiles_Underwater, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleTerrainAnimTilemap_Underwater, (void *)(BG_SCREEN_ADDR(28))); } else if (gBattleTypeFlags & BATTLE_TYPE_RAYQUAZA) { - LZDecompressVram(gBattleTerrainAnimTiles_Rayquaza, (void*)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Rayquaza, (void*)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleTerrainAnimTiles_Rayquaza, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleTerrainAnimTilemap_Rayquaza, (void *)(BG_SCREEN_ADDR(28))); } else { @@ -1180,27 +1180,27 @@ void DrawBattleEntryBackground(void) u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; if (trainerClass == TRAINER_CLASS_LEADER) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28))); return; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28))); return; } } if (GetCurrentMapBattleScene() == MAP_BATTLE_SCENE_NORMAL) { - LZDecompressVram(sBattleTerrainTable[gBattleTerrain].entryTileset, (void*)(BG_CHAR_ADDR(1))); - LZDecompressVram(sBattleTerrainTable[gBattleTerrain].entryTilemap, (void*)(BG_SCREEN_ADDR(28))); + LZDecompressVram(sBattleTerrainTable[gBattleTerrain].entryTileset, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(sBattleTerrainTable[gBattleTerrain].entryTilemap, (void *)(BG_SCREEN_ADDR(28))); } else { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28))); } } } @@ -1212,7 +1212,7 @@ bool8 LoadChosenBattleElement(u8 caseId) switch (caseId) { case 0: - LZDecompressVram(gBattleTextboxTiles, (void*)(BG_CHAR_ADDR(0))); + LZDecompressVram(gBattleTextboxTiles, (void *)(BG_CHAR_ADDR(0))); break; case 1: CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); @@ -1224,11 +1224,11 @@ bool8 LoadChosenBattleElement(u8 caseId) case 3: if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_EREADER_TRAINER)) { - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); } else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON) { - LZDecompressVram(gBattleTerrainTiles_Cave, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTiles_Cave, (void *)(BG_CHAR_ADDR(2))); } else { @@ -1237,12 +1237,12 @@ bool8 LoadChosenBattleElement(u8 caseId) u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; if (trainerClass == TRAINER_CLASS_LEADER) { - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); break; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; } } @@ -1251,31 +1251,31 @@ bool8 LoadChosenBattleElement(u8 caseId) { default: case MAP_BATTLE_SCENE_NORMAL: - LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tileset, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tileset, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_GYM: - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_MAGMA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_AQUA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_SIDNEY: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_PHOEBE: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_GLACIA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_DRAKE: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_FRONTIER: - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); break; } } @@ -1283,14 +1283,14 @@ bool8 LoadChosenBattleElement(u8 caseId) case 4: if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_EREADER_TRAINER)) { - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { if (gGameVersion == VERSION_RUBY) - LZDecompressVram(gBattleTerrainTilemap_Cave, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)(BG_SCREEN_ADDR(26))); else - LZDecompressVram(gBattleTerrainTilemap_Water, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Water, (void *)(BG_SCREEN_ADDR(26))); } else { @@ -1299,12 +1299,12 @@ bool8 LoadChosenBattleElement(u8 caseId) u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; if (trainerClass == TRAINER_CLASS_LEADER) { - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); break; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; } } @@ -1313,31 +1313,31 @@ bool8 LoadChosenBattleElement(u8 caseId) { default: case MAP_BATTLE_SCENE_NORMAL: - LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tilemap, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tilemap, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_GYM: - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_MAGMA: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_AQUA: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_SIDNEY: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_PHOEBE: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_GLACIA: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_DRAKE: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_FRONTIER: - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); break; } } diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 668dd01b42..0f1ce1b17f 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -368,16 +368,13 @@ static void TryShinyAnimAfterMonAnim(void) { TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); } - else + else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; - FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); - FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); - LinkOpponentBufferExecCompleted(); - } + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); + FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); + LinkOpponentBufferExecCompleted(); } } } @@ -389,13 +386,9 @@ static void CompleteOnHealthbarDone(void) SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) - { UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); - } else - { LinkOpponentBufferExecCompleted(); - } } static void HideHealthboxAfterMonFaint(void) @@ -627,7 +620,7 @@ static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst) moveData.pp[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES); - src = (u8*)(&moveData); + src = (u8 *)(&moveData); for (size = 0; size < sizeof(moveData); size++) dst[size] = src[size]; break; @@ -1466,7 +1459,7 @@ static void LinkOpponentHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); + stringId = (u16 *)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; @@ -1758,14 +1751,14 @@ static void LinkOpponentHandleDrawPartyStatusSummary(void) if (gBattleBufferA[gActiveBattler][2] != 0) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E < 2) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay < 2) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E++; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay++; return; } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay = 0; } } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 14d806576a..5024faaa9d 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -217,7 +217,7 @@ static void Intro_WaitForHealthbox(void) else { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) { finished = TRUE; } @@ -236,7 +236,7 @@ static void Intro_WaitForHealthbox(void) static void Intro_ShowHealthbox(void) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive && gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy && ++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay != 1) @@ -245,10 +245,10 @@ static void Intro_ShowHealthbox(void) if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler ^ BIT_FLANK]]); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); } DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); @@ -514,7 +514,7 @@ static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst) moveData.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - src = (u8*)(&moveData); + src = (u8 *)(&moveData); for (size = 0; size < sizeof(moveData); size++) dst[size] = src[size]; break; @@ -1298,7 +1298,7 @@ static void LinkPartnerHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); + stringId = (u16 *)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index ead5a8768a..b3554dc5af 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -234,25 +234,25 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) else { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) healthboxAnimDone = TRUE; twoMons = TRUE; } gBattleControllerOpponentHealthboxData = &gBattleSpritesDataPtr->healthBoxesData[gActiveBattler]; - gBattleControllerOpponentFlankHealthboxData = &gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK]; + gBattleControllerOpponentFlankHealthboxData = &gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)]; if (healthboxAnimDone) { if (twoMons == TRUE) { if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim - && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim) + && gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) { gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); } @@ -263,8 +263,8 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) { if (GetBattlerPosition(gActiveBattler) == 3) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim) + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) { FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); @@ -296,20 +296,20 @@ static void Intro_TryShinyAnimShowHealthbox(void) if (!(gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI) && IsDoubleBattle() - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim) - TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) + TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); } UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); StartHealthboxSlideIn(gActiveBattler); @@ -320,7 +320,7 @@ static void Intro_TryShinyAnimShowHealthbox(void) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].waitForCry && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].waitForCry + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].waitForCry && !IsCryPlayingOrClearCrySongs()) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored) @@ -349,8 +349,8 @@ static void Intro_TryShinyAnimShowHealthbox(void) { if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattleControllerData[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) + && gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) { battlerAnimsDone = TRUE; } @@ -360,8 +360,8 @@ static void Intro_TryShinyAnimShowHealthbox(void) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler ^ BIT_FLANK]]); - SetBattlerShadowSpriteCallback(gActiveBattler ^ BIT_FLANK, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); + SetBattlerShadowSpriteCallback(BATTLE_PARTNER(gActiveBattler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], MON_DATA_SPECIES)); } DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); @@ -397,9 +397,7 @@ static void CompleteOnHealthbarDone(void) s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) - { UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); - } else OpponentBufferExecCompleted(); } @@ -627,7 +625,7 @@ static u32 GetOpponentMonData(u8 monId, u8 *dst) moveData.pp[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES); - src = (u8*)(&moveData); + src = (u8 *)(&moveData); for (size = 0; size < sizeof(moveData); size++) dst[size] = src[size]; break; @@ -1519,7 +1517,7 @@ static void OpponentHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); + stringId = (u16 *)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; @@ -1552,7 +1550,7 @@ static void OpponentHandleChooseMove(void) else { u8 chosenMoveId; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleBufferA[gActiveBattler][4]); if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_SAFARI | BATTLE_TYPE_ROAMER)) { @@ -1929,14 +1927,14 @@ static void OpponentHandleDrawPartyStatusSummary(void) if (gBattleBufferA[gActiveBattler][2] != 0) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E < 2) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay < 2) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E++; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay++; return; } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay = 0; } } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 954192f0ab..265bb7f657 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -364,7 +364,7 @@ static void HandleInputChooseTarget(void) if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_HideAsMoveTarget; + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); PlayerBufferExecCompleted(); @@ -372,7 +372,7 @@ static void HandleInputChooseTarget(void) else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); - gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_HideAsMoveTarget; + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove; DoBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX, 7, 1); DoBounceEffect(gActiveBattler, BOUNCE_MON, 7, 1); @@ -381,7 +381,7 @@ static void HandleInputChooseTarget(void) else if (JOY_NEW(DPAD_LEFT | DPAD_UP)) { PlaySE(SE_SELECT); - gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_HideAsMoveTarget; + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; do { @@ -422,12 +422,12 @@ static void HandleInputChooseTarget(void) if (gAbsentBattlerFlags & gBitTable[gMultiUsePlayerCursor]) i = 0; } while (i == 0); - gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_ShowAsMoveTarget; + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_ShowAsMoveTarget; } else if (JOY_NEW(DPAD_RIGHT | DPAD_DOWN)) { PlaySE(SE_SELECT); - gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_HideAsMoveTarget; + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; do { @@ -464,14 +464,14 @@ static void HandleInputChooseTarget(void) if (gAbsentBattlerFlags & gBitTable[gMultiUsePlayerCursor]) i = 0; } while (i == 0); - gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_ShowAsMoveTarget; + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_ShowAsMoveTarget; } } static void HandleInputChooseMove(void) { bool32 canSelectTarget = FALSE; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleBufferA[gActiveBattler][4]); if (JOY_HELD(DPAD_ANY) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) gPlayerDpadHoldFrames++; @@ -498,7 +498,7 @@ static void HandleInputChooseMove(void) if (moveTarget & MOVE_TARGET_USER) gMultiUsePlayerCursor = gActiveBattler; else - gMultiUsePlayerCursor = GetBattlerAtPosition((GetBattlerPosition(gActiveBattler) & BIT_SIDE) ^ BIT_SIDE); + gMultiUsePlayerCursor = GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(gActiveBattler))); if (!gBattleBufferA[gActiveBattler][1]) // not a double battle { @@ -537,7 +537,7 @@ static void HandleInputChooseMove(void) else gMultiUsePlayerCursor = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCb_ShowAsMoveTarget; + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_ShowAsMoveTarget; } } else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) @@ -676,7 +676,7 @@ static void HandleMoveSwitching(void) if (gMoveSelectionCursor[gActiveBattler] != gMultiUsePlayerCursor) { - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleBufferA[gActiveBattler][4]); s32 i; // swap moves and pp @@ -950,26 +950,26 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) else { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) healthboxAnimDone = TRUE; } // If healthbox and shiny anim are done if (healthboxAnimDone && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim - && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim) + && gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) { // Reset shiny anim (even if it didn't occur) gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); if (IsDoubleBattle()) - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], gActiveBattler ^ BIT_FLANK); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], BATTLE_PARTNER(gActiveBattler)); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3; gBattlerControllerFuncs[gActiveBattler] = Intro_DelayAndEnd; @@ -987,21 +987,21 @@ static void Intro_TryShinyAnimShowHealthbox(void) TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); // Start shiny animation if applicable for 2nd pokemon - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) - TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) + TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); // Show healthbox after ball anim if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); } UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); StartHealthboxSlideIn(gActiveBattler); @@ -1013,7 +1013,7 @@ static void Intro_TryShinyAnimShowHealthbox(void) // Restore bgm after cry has played and healthbox anim is started if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].waitForCry && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].waitForCry + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].waitForCry && !IsCryPlayingOrClearCrySongs()) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored) @@ -1040,8 +1040,8 @@ static void Intro_TryShinyAnimShowHealthbox(void) { if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattleControllerData[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) + && gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) { battlerAnimsDone = TRUE; } @@ -1051,7 +1051,7 @@ static void Intro_TryShinyAnimShowHealthbox(void) if (bgmRestored && battlerAnimsDone) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler ^ BIT_FLANK]]); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; @@ -1178,7 +1178,7 @@ static void Task_GiveExpToMon(u8 taskId) gActiveBattler = savedActiveBattler; if (IsDoubleBattle() == TRUE - && ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[battlerId ^ BIT_FLANK])) + && ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])) gTasks[taskId].func = Task_LaunchLvlUpAnim; else gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; @@ -1273,7 +1273,7 @@ static void Task_LaunchLvlUpAnim(u8 taskId) u8 battlerId = gTasks[taskId].tExpTask_battler; u8 monIndex = gTasks[taskId].tExpTask_monId; - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[battlerId ^ BIT_FLANK]) + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) battlerId ^= BIT_FLANK; InitAndLaunchSpecialAnimation(battlerId, battlerId, battlerId, B_ANIM_LVL_UP); @@ -1290,8 +1290,8 @@ static void Task_UpdateLvlInHealthbox(u8 taskId) GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value. - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[battlerId ^ BIT_FLANK]) - UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId ^ BIT_FLANK], &gPlayerParty[monIndex], HEALTHBOX_ALL); + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battlerId)], &gPlayerParty[monIndex], HEALTHBOX_ALL); else UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], &gPlayerParty[monIndex], HEALTHBOX_ALL); @@ -1435,7 +1435,7 @@ static void PlayerHandleYesNoInput(void) } if (JOY_NEW(A_BUTTON)) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); PlaySE(SE_SELECT); if (gMultiUsePlayerCursor != 0) @@ -1447,7 +1447,7 @@ static void PlayerHandleYesNoInput(void) } if (JOY_NEW(B_BUTTON)) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); PlaySE(SE_SELECT); PlayerBufferExecCompleted(); } @@ -1456,7 +1456,7 @@ static void PlayerHandleYesNoInput(void) static void MoveSelectionDisplayMoveNames(void) { s32 i; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleBufferA[gActiveBattler][4]); gNumberOfMovesToChoose = 0; for (i = 0; i < MAX_MON_MOVES; i++) @@ -1485,7 +1485,7 @@ static void MoveSelectionDisplayPpNumber(void) return; SetPpNumbersPaletteInMoveSelection(); - moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); + moveInfo = (struct ChooseMoveStruct *)(&gBattleBufferA[gActiveBattler][4]); txtPtr = ConvertIntToDecimalStringN(gDisplayedStringBattle, moveInfo->currentPp[gMoveSelectionCursor[gActiveBattler]], STR_CONV_MODE_RIGHT_ALIGN, 2); *(txtPtr)++ = CHAR_SLASH; ConvertIntToDecimalStringN(txtPtr, moveInfo->maxPp[gMoveSelectionCursor[gActiveBattler]], STR_CONV_MODE_RIGHT_ALIGN, 2); @@ -1496,12 +1496,12 @@ static void MoveSelectionDisplayPpNumber(void) static void MoveSelectionDisplayMoveType(void) { u8 *txtPtr; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleBufferA[gActiveBattler][4]); txtPtr = StringCopy(gDisplayedStringBattle, gText_MoveInterfaceType); *(txtPtr)++ = EXT_CTRL_CODE_BEGIN; *(txtPtr)++ = EXT_CTRL_CODE_FONT; - *(txtPtr)++ = 1; + *(txtPtr)++ = FONT_NORMAL; StringCopy(txtPtr, gTypeNames[gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].type]); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_TYPE); @@ -1672,7 +1672,7 @@ static u32 CopyPlayerMonData(u8 monId, u8 *dst) moveData.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - src = (u8*)(&moveData); + src = (u8 *)(&moveData); for (size = 0; size < sizeof(moveData); size++) dst[size] = src[size]; break; @@ -2546,7 +2546,7 @@ static void PlayerHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); + stringId = (u16 *)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2; @@ -2592,7 +2592,7 @@ static void PlayerHandleYesNoBox(void) { if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); + HandleBattleWindow(YESNOBOX_X_Y, 0); BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gMultiUsePlayerCursor = 1; BattleCreateYesNoCursorAt(1); @@ -2797,7 +2797,7 @@ static void PlayerHandleDMA3Transfer(void) u16 sizeArg = gBattleBufferA[gActiveBattler][5] | (gBattleBufferA[gActiveBattler][6] << 8); const u8 *src = &gBattleBufferA[gActiveBattler][7]; - u8 *dst = (u8*)(dstArg); + u8 *dst = (u8 *)(dstArg); u32 size = sizeArg; while (1) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index c2ff08a239..a77144e297 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -229,7 +229,7 @@ static void Intro_WaitForHealthbox(void) else { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) { finished = TRUE; } @@ -248,7 +248,7 @@ static void Intro_WaitForHealthbox(void) static void Intro_ShowHealthbox(void) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive && gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy && ++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay != 1) @@ -257,10 +257,10 @@ static void Intro_ShowHealthbox(void) if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler ^ BIT_FLANK]]); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); } DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); @@ -336,7 +336,7 @@ static void Task_GiveExpToMon(u8 taskId) gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE - && ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[battlerId ^ BIT_FLANK])) + && ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])) gTasks[taskId].func = Task_LaunchLvlUpAnim; else gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; @@ -431,7 +431,7 @@ static void Task_LaunchLvlUpAnim(u8 taskId) u8 battlerId = gTasks[taskId].tExpTask_bank; u8 monIndex = gTasks[taskId].tExpTask_monId; - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[battlerId ^ BIT_FLANK]) + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) battlerId ^= BIT_FLANK; InitAndLaunchSpecialAnimation(battlerId, battlerId, battlerId, B_ANIM_LVL_UP); @@ -448,8 +448,8 @@ static void Task_UpdateLvlInHealthbox(u8 taskId) GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[battlerId ^ BIT_FLANK]) - UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId ^ BIT_FLANK], &gPlayerParty[monIndex], HEALTHBOX_ALL); + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battlerId)], &gPlayerParty[monIndex], HEALTHBOX_ALL); else UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], &gPlayerParty[monIndex], HEALTHBOX_ALL); @@ -698,7 +698,7 @@ static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst) moveData.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - src = (u8*)(&moveData); + src = (u8 *)(&moveData); for (size = 0; size < sizeof(moveData); size++) dst[size] = src[size]; break; @@ -1488,7 +1488,7 @@ static void PlayerPartnerHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); + stringId = (u16 *)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2; @@ -1513,7 +1513,7 @@ static void PlayerPartnerHandleYesNoBox(void) static void PlayerPartnerHandleChooseMove(void) { u8 chosenMoveId; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleBufferA[gActiveBattler][4]); BattleAI_SetupAIData(0xF); chosenMoveId = BattleAI_ChooseMoveOrAction(); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 4a35ef723d..872a61c0e7 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -226,9 +226,9 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) else { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy && gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded - && gSprites[gBattlerSpriteIds[gActiveBattler ^ BIT_FLANK]].animEnded) + && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gActiveBattler)]].animEnded) healthboxAnimDone = TRUE; } @@ -238,13 +238,13 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) return; - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim) + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) return; gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); } @@ -263,19 +263,19 @@ static void Intro_TryShinyAnimShowHealthbox(void) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) - TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) + TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); } UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); StartHealthboxSlideIn(gActiveBattler); @@ -286,7 +286,7 @@ static void Intro_TryShinyAnimShowHealthbox(void) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].waitForCry && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].waitForCry + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].waitForCry && !IsCryPlayingOrClearCrySongs()) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored) @@ -317,8 +317,8 @@ static void Intro_TryShinyAnimShowHealthbox(void) { if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattleControllerData[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) + && gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) { battlerAnimsDone = TRUE; } @@ -328,8 +328,8 @@ static void Intro_TryShinyAnimShowHealthbox(void) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler ^ BIT_FLANK]]); - SetBattlerShadowSpriteCallback(gActiveBattler ^ BIT_FLANK, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); + SetBattlerShadowSpriteCallback(BATTLE_PARTNER(gActiveBattler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], MON_DATA_SPECIES)); } DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); @@ -373,13 +373,9 @@ static void CompleteOnHealthbarDone(void) SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) - { UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); - } else - { RecordedOpponentBufferExecCompleted(); - } } static void HideHealthboxAfterMonFaint(void) @@ -610,7 +606,7 @@ static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst) moveData.pp[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES); - src = (u8*)(&moveData); + src = (u8 *)(&moveData); for (size = 0; size < sizeof(moveData); size++) dst[size] = src[size]; break; @@ -1393,7 +1389,7 @@ static void RecordedOpponentHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); + stringId = (u16 *)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; @@ -1698,14 +1694,14 @@ static void RecordedOpponentHandleDrawPartyStatusSummary(void) if (gBattleBufferA[gActiveBattler][2] != 0) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E < 2) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay < 2) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E++; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay++; return; } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay = 0; } } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index e25482fb57..b5f0a465d4 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -215,27 +215,27 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) else { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) { healthboxAnimDone = TRUE; } } if (healthboxAnimDone && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim - && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim) + && gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) { gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); if (IsDoubleBattle()) - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], gActiveBattler ^ BIT_FLANK); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], BATTLE_PARTNER(gActiveBattler)); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3; gBattlerControllerFuncs[gActiveBattler] = Intro_DelayAndEnd; @@ -251,7 +251,7 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) else { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) { healthboxAnimDone = TRUE; } @@ -278,21 +278,21 @@ static void Intro_TryShinyAnimShowHealthbox(void) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) - TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) + TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); } if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); } UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); StartHealthboxSlideIn(gActiveBattler); @@ -303,7 +303,7 @@ static void Intro_TryShinyAnimShowHealthbox(void) if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].waitForCry - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].waitForCry + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].waitForCry && !IsCryPlayingOrClearCrySongs()) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored) @@ -327,7 +327,7 @@ static void Intro_TryShinyAnimShowHealthbox(void) && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler ^ BIT_FLANK]]); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; @@ -589,7 +589,7 @@ static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst) moveData.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - src = (u8*)(&moveData); + src = (u8 *)(&moveData); for (size = 0; size < sizeof(moveData); size++) dst[size] = src[size]; break; @@ -1399,7 +1399,7 @@ static void RecordedPlayerHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); + stringId = (u16 *)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 78a57a0f79..5e8ef2d286 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -422,7 +422,7 @@ static void SafariHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); + stringId = (u16 *)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index c4c0c11a9e..f600a46f73 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -289,21 +289,21 @@ static void Intro_TryShinyAnimShowHealthbox(void) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) - TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) + TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive && gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler ^ BIT_FLANK]]); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); } DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); @@ -324,13 +324,13 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) healthboxAnimDone = TRUE; if (healthboxAnimDone && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim - && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim) + && gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) { gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); @@ -516,7 +516,7 @@ static u32 CopyWallyMonData(u8 monId, u8 *dst) moveData.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - src = (u8*)(&moveData); + src = (u8 *)(&moveData); for (size = 0; size < sizeof(moveData); size++) dst[size] = src[size]; break; @@ -1176,7 +1176,7 @@ static void WallyHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); + stringId = (u16 *)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 369f735f24..e5cfb3be68 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -8,7 +8,6 @@ #include "link.h" #include "link_rfu.h" #include "party_menu.h" -#include "pokemon.h" #include "recorded_battle.h" #include "task.h" #include "util.h" @@ -99,10 +98,10 @@ void InitBattleControllers(void) } for (i = 0; i < sizeof(gBattleStruct->tvMovePoints); i++) - *((u8*)(&gBattleStruct->tvMovePoints) + i) = 0; + *((u8 *)(&gBattleStruct->tvMovePoints) + i) = 0; for (i = 0; i < sizeof(gBattleStruct->tv); i++) - *((u8*)(&gBattleStruct->tv) + i) = 0; + *((u8 *)(&gBattleStruct->tv) + i) = 0; } static void InitSinglePlayerBtlControllers(void) @@ -595,7 +594,7 @@ static void SetBattlePartyIds(void) if (GetMonData(&gPlayerParty[j], MON_DATA_HP) != 0 && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG - && GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) == 0) + && !GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG)) { gBattlerPartyIndexes[i] = j; break; @@ -606,7 +605,7 @@ static void SetBattlePartyIds(void) if (GetMonData(&gEnemyParty[j], MON_DATA_HP) != 0 && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG - && GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) == 0) + && !GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG)) { gBattlerPartyIndexes[i] = j; break; @@ -620,7 +619,7 @@ static void SetBattlePartyIds(void) if (GetMonData(&gPlayerParty[j], MON_DATA_HP) != 0 && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES) != SPECIES_NONE // Probably a typo by Game Freak. The rest use SPECIES2. && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG - && GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) == 0 + && !GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) && gBattlerPartyIndexes[i - 2] != j) { gBattlerPartyIndexes[i] = j; @@ -632,7 +631,7 @@ static void SetBattlePartyIds(void) if (GetMonData(&gEnemyParty[j], MON_DATA_HP) != 0 && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG - && GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) == 0 + && !GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) && gBattlerPartyIndexes[i - 2] != j) { gBattlerPartyIndexes[i] = j; @@ -661,18 +660,12 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size) switch (bufferId) { case BUFFER_A: - for (i = 0; i < size; i++) - { + for (i = 0; i < size; data++, i++) gBattleBufferA[gActiveBattler][i] = *data; - data++; - } break; case BUFFER_B: - for (i = 0; i < size; i++) - { + for (i = 0; i < size; data++, i++) gBattleBufferB[gActiveBattler][i] = *data; - data++; - } break; } } @@ -809,8 +802,7 @@ static void Task_HandleSendLinkBuffersData(u8 taskId) } break; case 5: - gTasks[taskId].data[13]--; - if (gTasks[taskId].data[13] == 0) + if (--gTasks[taskId].data[13] == 0) { gTasks[taskId].data[13] = 1; gTasks[taskId].data[11] = 3; @@ -825,7 +817,7 @@ void TryReceiveLinkBattleData(void) s32 j; u8 *recvBuffer; - if (gReceivedRemoteLinkPlayers != 0 && (gBattleTypeFlags & BATTLE_TYPE_LINK_IN_BATTLE)) + if (gReceivedRemoteLinkPlayers && (gBattleTypeFlags & BATTLE_TYPE_LINK_IN_BATTLE)) { DestroyTask_RfuIdle(); for (i = 0; i < GetLinkPlayerCount(); i++) @@ -913,7 +905,8 @@ void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes) +// Unused +static void BtlController_EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes) { sBattleBuffersTransferData[0] = CONTROLLER_GETRAWMONDATA; sBattleBuffersTransferData[1] = monId; @@ -930,11 +923,12 @@ void BtlController_EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 b sBattleBuffersTransferData[1] = requestId; sBattleBuffersTransferData[2] = monToCheck; for (i = 0; i < bytes; i++) - sBattleBuffersTransferData[3 + i] = *(u8*)(data++); + sBattleBuffersTransferData[3 + i] = *(u8 *)(data++); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 3 + bytes); } -void BtlController_EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data) +// Unused +static void BtlController_EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data) { s32 i; @@ -942,7 +936,7 @@ void BtlController_EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data sBattleBuffersTransferData[1] = monId; sBattleBuffersTransferData[2] = bytes; for (i = 0; i < bytes; i++) - sBattleBuffersTransferData[3 + i] = *(u8*)(data++); + sBattleBuffersTransferData[3 + i] = *(u8 *)(data++); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, bytes + 3); } @@ -1007,7 +1001,8 @@ void BtlController_EmitFaintAnimation(u8 bufferId) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitPaletteFade(u8 bufferId) +// Unused +static void BtlController_EmitPaletteFade(u8 bufferId) { sBattleBuffersTransferData[0] = CONTROLLER_PALETTEFADE; sBattleBuffersTransferData[1] = CONTROLLER_PALETTEFADE; @@ -1016,7 +1011,8 @@ void BtlController_EmitPaletteFade(u8 bufferId) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitSuccessBallThrowAnim(u8 bufferId) +// Unused +static void BtlController_EmitSuccessBallThrowAnim(u8 bufferId) { sBattleBuffersTransferData[0] = CONTROLLER_SUCCESSBALLTHROWANIM; sBattleBuffersTransferData[1] = CONTROLLER_SUCCESSBALLTHROWANIM; @@ -1032,14 +1028,15 @@ void BtlController_EmitBallThrowAnim(u8 bufferId, u8 caseId) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2); } -void BtlController_EmitPause(u8 bufferId, u8 toWait, void *data) +// Unused +static void BtlController_EmitPause(u8 bufferId, u8 toWait, void *data) { s32 i; sBattleBuffersTransferData[0] = CONTROLLER_PAUSE; sBattleBuffersTransferData[1] = toWait; for (i = 0; i < toWait * 3; i++) - sBattleBuffersTransferData[2 + i] = *(u8*)(data++); + sBattleBuffersTransferData[2 + i] = *(u8 *)(data++); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, toWait * 3 + 2); } @@ -1076,20 +1073,20 @@ void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 m void BtlController_EmitPrintString(u8 bufferId, u16 stringID) { s32 i; - struct BattleMsgData* stringInfo; + struct BattleMsgData *stringInfo; sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRING; sBattleBuffersTransferData[1] = gBattleOutcome; sBattleBuffersTransferData[2] = stringID; sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8; - stringInfo = (struct BattleMsgData*)(&sBattleBuffersTransferData[4]); + stringInfo = (struct BattleMsgData *)(&sBattleBuffersTransferData[4]); stringInfo->currentMove = gCurrentMove; stringInfo->originallyUsedMove = gChosenMove; stringInfo->lastItem = gLastUsedItem; stringInfo->lastAbility = gLastUsedAbility; stringInfo->scrActive = gBattleScripting.battler; - stringInfo->unk1605E = gBattleStruct->field_52; + stringInfo->bakScriptPartyIdx = gBattleStruct->scriptPartyIdx; stringInfo->hpScale = gBattleStruct->hpScale; stringInfo->itemEffectBattler = gPotentialItemEffectBattler; stringInfo->moveType = gBattleMoves[gCurrentMove].type; @@ -1115,13 +1112,13 @@ void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringID) sBattleBuffersTransferData[2] = stringID; sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8; - stringInfo = (struct BattleMsgData*)(&sBattleBuffersTransferData[4]); + stringInfo = (struct BattleMsgData *)(&sBattleBuffersTransferData[4]); stringInfo->currentMove = gCurrentMove; stringInfo->originallyUsedMove = gChosenMove; stringInfo->lastItem = gLastUsedItem; stringInfo->lastAbility = gLastUsedAbility; stringInfo->scrActive = gBattleScripting.battler; - stringInfo->unk1605E = gBattleStruct->field_52; + stringInfo->bakScriptPartyIdx = gBattleStruct->scriptPartyIdx; for (i = 0; i < MAX_BATTLERS_COUNT; i++) stringInfo->abilities[i] = gBattleMons[i].ability; @@ -1164,7 +1161,7 @@ void BtlController_EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpN sBattleBuffersTransferData[2] = NoPpNumber; sBattleBuffersTransferData[3] = 0; for (i = 0; i < sizeof(*movePpData); i++) - sBattleBuffersTransferData[4 + i] = *((u8*)(movePpData) + i); + sBattleBuffersTransferData[4 + i] = *((u8 *)(movePpData) + i); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(*movePpData) + 4); } @@ -1191,7 +1188,8 @@ void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 slotId, u8 abili PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 8); // Only 7 bytes were written. } -void BtlController_EmitCmd23(u8 bufferId) +// Unused +static void BtlController_EmitCmd23(u8 bufferId) { sBattleBuffersTransferData[0] = CONTROLLER_23; sBattleBuffersTransferData[1] = CONTROLLER_23; @@ -1245,7 +1243,8 @@ void BtlController_EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 6); } -void BtlController_EmitStatusXor(u8 bufferId, u8 b) +// Unused +static void BtlController_EmitStatusXor(u8 bufferId, u8 b) { sBattleBuffersTransferData[0] = CONTROLLER_STATUSXOR; sBattleBuffersTransferData[1] = b; @@ -1261,11 +1260,12 @@ void BtlController_EmitDataTransfer(u8 bufferId, u16 size, void *data) sBattleBuffersTransferData[2] = size; sBattleBuffersTransferData[3] = (size & 0xFF00) >> 8; for (i = 0; i < size; i++) - sBattleBuffersTransferData[4 + i] = *(u8*)(data++); + sBattleBuffersTransferData[4 + i] = *(u8 *)(data++); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, size + 4); } -void BtlController_EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data) +// Unused +static void BtlController_EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data) { s32 i; @@ -1277,12 +1277,12 @@ void BtlController_EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data sBattleBuffersTransferData[5] = size; sBattleBuffersTransferData[6] = (size & 0xFF00) >> 8; for (i = 0; i < size; i++) - sBattleBuffersTransferData[7 + i] = *(u8*)(data++); + sBattleBuffersTransferData[7 + i] = *(u8 *)(data++); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, size + 7); } // Unused -void BtlController_EmitPlayBGM(u8 bufferId, u16 songId, void *data) +static void BtlController_EmitPlayBGM(u8 bufferId, u16 songId, void *data) { s32 i; @@ -1293,11 +1293,12 @@ void BtlController_EmitPlayBGM(u8 bufferId, u16 songId, void *data) // Nonsense loop using songId as a size // Would go out of bounds for any song id after SE_RG_BAG_POCKET (253) for (i = 0; i < songId; i++) - sBattleBuffersTransferData[3 + i] = *(u8*)(data++); + sBattleBuffersTransferData[3 + i] = *(u8 *)(data++); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, songId + 3); } -void BtlController_EmitCmd32(u8 bufferId, u16 size, void *data) +// Unused +static void BtlController_EmitCmd32(u8 bufferId, u16 size, void *data) { s32 i; @@ -1305,7 +1306,7 @@ void BtlController_EmitCmd32(u8 bufferId, u16 size, void *data) sBattleBuffersTransferData[1] = size; sBattleBuffersTransferData[2] = (size & 0xFF00) >> 8; for (i = 0; i < size; i++) - sBattleBuffersTransferData[3 + i] = *(u8*)(data++); + sBattleBuffersTransferData[3 + i] = *(u8 *)(data++); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, size + 3); } @@ -1347,7 +1348,8 @@ void BtlController_EmitOneReturnValue_Duplicate(u8 bufferId, u16 ret) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitClearUnkVar(u8 bufferId) +// Unused +static void BtlController_EmitClearUnkVar(u8 bufferId) { sBattleBuffersTransferData[0] = CONTROLLER_CLEARUNKVAR; sBattleBuffersTransferData[1] = CONTROLLER_CLEARUNKVAR; @@ -1356,14 +1358,16 @@ void BtlController_EmitClearUnkVar(u8 bufferId) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitSetUnkVar(u8 bufferId, u8 b) +// Unused +static void BtlController_EmitSetUnkVar(u8 bufferId, u8 b) { sBattleBuffersTransferData[0] = CONTROLLER_SETUNKVAR; sBattleBuffersTransferData[1] = b; PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2); } -void BtlController_EmitClearUnkFlag(u8 bufferId) +// Unused +static void BtlController_EmitClearUnkFlag(u8 bufferId) { sBattleBuffersTransferData[0] = CONTROLLER_CLEARUNKFLAG; sBattleBuffersTransferData[1] = CONTROLLER_CLEARUNKFLAG; @@ -1372,7 +1376,8 @@ void BtlController_EmitClearUnkFlag(u8 bufferId) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitToggleUnkFlag(u8 bufferId) +// Unused +static void BtlController_EmitToggleUnkFlag(u8 bufferId) { sBattleBuffersTransferData[0] = CONTROLLER_TOGGLEUNKFLAG; sBattleBuffersTransferData[1] = CONTROLLER_TOGGLEUNKFLAG; @@ -1451,7 +1456,7 @@ void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* h sBattleBuffersTransferData[2] = (flags & PARTY_SUMM_SKIP_DRAW_DELAY) >> 7; // If true, skip delay after drawing. True during intro sBattleBuffersTransferData[3] = CONTROLLER_DRAWPARTYSTATUSSUMMARY; for (i = 0; i < (s32)(sizeof(struct HpAndStatus) * PARTY_SIZE); i++) - sBattleBuffersTransferData[4 + i] = *(i + (u8*)(hpAndStatus)); + sBattleBuffersTransferData[4 + i] = *(i + (u8 *)(hpAndStatus)); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct HpAndStatus) * PARTY_SIZE + 4); } diff --git a/src/battle_dome.c b/src/battle_dome.c index cbd9d0b6b9..d30739ca58 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -97,7 +97,7 @@ static void CB2_TourneyTree(void); static void VblankCb_TourneyInfoCard(void); static void DisplayMatchInfoOnCard(u8, u8); static void DisplayTrainerInfoOnCard(u8, u8); -static int BufferDomeWinString(u8, u8*); +static int BufferDomeWinString(u8, u8 *); static u8 GetDomeBrainTrainerPicId(void); static u8 GetDomeBrainTrainerClass(void); static void CopyDomeBrainTrainerName(u8 *); @@ -108,8 +108,8 @@ static u8 UpdateTourneyTreeCursor(u8); static void DecideRoundWinners(u8); static u8 GetOpposingNPCTournamentIdByRound(u8, u8); static void DrawTourneyAdvancementLine(u8, u8); -static void SpriteCb_HorizontalScrollArrow(struct Sprite *); -static void SpriteCb_VerticalScrollArrow(struct Sprite *); +static void SpriteCB_HorizontalScrollArrow(struct Sprite *); +static void SpriteCB_VerticalScrollArrow(struct Sprite *); static void InitDomeChallenge(void); static void GetDomeData(void); static void SetDomeData(void); @@ -894,7 +894,7 @@ static const struct OamData sOamData_TourneyTreePokeball = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -912,7 +912,7 @@ static const struct OamData sOamData_TourneyTreeCloseButton = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, @@ -929,7 +929,7 @@ static const struct OamData sOamData_VerticalScrollArrow = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), .x = 0, @@ -946,7 +946,7 @@ static const struct OamData sOamData_HorizontalScrollArrow = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), .x = 0, @@ -1089,7 +1089,7 @@ static const struct SpriteTemplate sHorizontalScrollArrowSpriteTemplate = .anims = sSpriteAnimTable_HorizontalScrollArrow, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCb_HorizontalScrollArrow + .callback = SpriteCB_HorizontalScrollArrow }; static const struct SpriteTemplate sVerticalScrollArrowSpriteTemplate = @@ -1100,7 +1100,7 @@ static const struct SpriteTemplate sVerticalScrollArrowSpriteTemplate = .anims = sSpriteAnimTable_VerticalScrollArrow, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCb_VerticalScrollArrow + .callback = SpriteCB_VerticalScrollArrow }; // Organized by seed starting position, i.e. seed 0 battles seed 8 first @@ -2747,7 +2747,7 @@ static int GetTypeEffectivenessPoints(int move, int targetSpecies, int mode) int i = 0; int typePower = TYPE_x1; - if (move == MOVE_NONE || move == 0xFFFF || gBattleMoves[move].power == 0) + if (move == MOVE_NONE || move == MOVE_UNAVAILABLE || gBattleMoves[move].power == 0) return 0; defType1 = gBaseStats[targetSpecies].type1; @@ -2763,7 +2763,7 @@ static int GetTypeEffectivenessPoints(int move, int targetSpecies, int mode) { typePower = 8; #ifdef BUGFIX - return; + return typePower; #endif } } @@ -3115,7 +3115,7 @@ static void Task_ShowTourneyInfoCard(u8 taskId) // Note: Card scrolling up means the current card goes down and another one appears from top. // The same is true for scrolling left. // That means that the sprite needs to move with the moving card in the opposite scrolling direction. -static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite) +static void SpriteCB_TrainerIconCardScrollUp(struct Sprite *sprite) { sprite->y += 4; if (sprite->data[0] != 0) @@ -3135,7 +3135,7 @@ static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite) } } -static void SpriteCb_TrainerIconCardScrollDown(struct Sprite *sprite) +static void SpriteCB_TrainerIconCardScrollDown(struct Sprite *sprite) { sprite->y -= 4; if (sprite->data[0] != 0) @@ -3155,7 +3155,7 @@ static void SpriteCb_TrainerIconCardScrollDown(struct Sprite *sprite) } } -static void SpriteCb_TrainerIconCardScrollLeft(struct Sprite *sprite) +static void SpriteCB_TrainerIconCardScrollLeft(struct Sprite *sprite) { sprite->x += 4; if (sprite->data[0] != 0) @@ -3175,7 +3175,7 @@ static void SpriteCb_TrainerIconCardScrollLeft(struct Sprite *sprite) } } -static void SpriteCb_TrainerIconCardScrollRight(struct Sprite *sprite) +static void SpriteCB_TrainerIconCardScrollRight(struct Sprite *sprite) { sprite->x -= 4; if (sprite->data[0] != 0) @@ -3197,13 +3197,13 @@ static void SpriteCb_TrainerIconCardScrollRight(struct Sprite *sprite) #define sMonIconStill data[3] -static void SpriteCb_MonIcon(struct Sprite *sprite) +static void SpriteCB_MonIconDomeInfo(struct Sprite *sprite) { if (!sprite->sMonIconStill) UpdateMonIconFrame(sprite); } -static void SpriteCb_MonIconCardScrollUp(struct Sprite *sprite) +static void SpriteCB_MonIconCardScrollUp(struct Sprite *sprite) { if (!sprite->sMonIconStill) UpdateMonIconFrame(sprite); @@ -3213,7 +3213,7 @@ static void SpriteCb_MonIconCardScrollUp(struct Sprite *sprite) if (sprite->y >= -16) sprite->invisible = FALSE; if (++sprite->data[1] == 40) - sprite->callback = SpriteCb_MonIcon; + sprite->callback = SpriteCB_MonIconDomeInfo; } else { @@ -3225,7 +3225,7 @@ static void SpriteCb_MonIconCardScrollUp(struct Sprite *sprite) } } -static void SpriteCb_MonIconCardScrollDown(struct Sprite *sprite) +static void SpriteCB_MonIconCardScrollDown(struct Sprite *sprite) { if (!sprite->sMonIconStill) UpdateMonIconFrame(sprite); @@ -3235,7 +3235,7 @@ static void SpriteCb_MonIconCardScrollDown(struct Sprite *sprite) if (sprite->y <= 176) sprite->invisible = FALSE; if (++sprite->data[1] == 40) - sprite->callback = SpriteCb_MonIcon; + sprite->callback = SpriteCB_MonIconDomeInfo; } else { @@ -3247,7 +3247,7 @@ static void SpriteCb_MonIconCardScrollDown(struct Sprite *sprite) } } -static void SpriteCb_MonIconCardScrollLeft(struct Sprite *sprite) +static void SpriteCB_MonIconCardScrollLeft(struct Sprite *sprite) { if (!sprite->sMonIconStill) UpdateMonIconFrame(sprite); @@ -3257,7 +3257,7 @@ static void SpriteCb_MonIconCardScrollLeft(struct Sprite *sprite) if (sprite->x >= -16) sprite->invisible = FALSE; if (++sprite->data[1] == 64) - sprite->callback = SpriteCb_MonIcon; + sprite->callback = SpriteCB_MonIconDomeInfo; } else { @@ -3269,7 +3269,7 @@ static void SpriteCb_MonIconCardScrollLeft(struct Sprite *sprite) } } -static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite) +static void SpriteCB_MonIconCardScrollRight(struct Sprite *sprite) { if (!sprite->sMonIconStill) UpdateMonIconFrame(sprite); @@ -3279,7 +3279,7 @@ static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite) if (sprite->x <= DISPLAY_WIDTH + 16) sprite->invisible = FALSE; if (++sprite->data[1] == 64) - sprite->callback = SpriteCb_MonIcon; + sprite->callback = SpriteCB_MonIconDomeInfo; } else { @@ -3291,7 +3291,7 @@ static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite) } } -static void SpriteCb_HorizontalScrollArrow(struct Sprite *sprite) +static void SpriteCB_HorizontalScrollArrow(struct Sprite *sprite) { int taskId1 = sprite->data[0]; int arrId = gTasks[gTasks[taskId1].data[4]].data[1]; @@ -3360,7 +3360,7 @@ static void SpriteCb_HorizontalScrollArrow(struct Sprite *sprite) } } -static void SpriteCb_VerticalScrollArrow(struct Sprite *sprite) +static void SpriteCB_VerticalScrollArrow(struct Sprite *sprite) { int taskId1 = sprite->data[0]; @@ -3526,7 +3526,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollUp; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_TrainerIconCardScrollUp; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3537,7 +3537,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollUp; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_MonIconCardScrollUp; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3550,7 +3550,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollUp; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_TrainerIconCardScrollUp; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3561,7 +3561,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollUp; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_MonIconCardScrollUp; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3642,7 +3642,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollDown; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_TrainerIconCardScrollDown; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3653,7 +3653,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollDown; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_MonIconCardScrollDown; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3666,7 +3666,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollDown; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_TrainerIconCardScrollDown; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3677,7 +3677,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollDown; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_MonIconCardScrollDown; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3725,7 +3725,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_TrainerIconCardScrollLeft; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3736,7 +3736,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_MonIconCardScrollLeft; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3749,7 +3749,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_TrainerIconCardScrollLeft; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3760,7 +3760,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_MonIconCardScrollLeft; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3808,7 +3808,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_TrainerIconCardScrollLeft; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3819,7 +3819,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_MonIconCardScrollLeft; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3832,7 +3832,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_TrainerIconCardScrollLeft; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3843,7 +3843,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_MonIconCardScrollLeft; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3889,7 +3889,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_TrainerIconCardScrollRight; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3900,7 +3900,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_MonIconCardScrollRight; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3913,7 +3913,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_TrainerIconCardScrollRight; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3924,7 +3924,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_MonIconCardScrollRight; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3972,7 +3972,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_TrainerIconCardScrollRight; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3983,7 +3983,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_MonIconCardScrollRight; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -3996,7 +3996,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_TrainerIconCardScrollRight; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -4007,7 +4007,7 @@ static void Task_HandleInfoCardInput(u8 taskId) { if (sInfoCard->spriteIds[i] != SPRITE_NONE) { - gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCB_MonIconCardScrollRight; gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; gSprites[sInfoCard->spriteIds[i]].data[1] = 0; gSprites[sInfoCard->spriteIds[i]].data[2] = i; @@ -4297,7 +4297,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId) if (trainerId == TRAINER_PLAYER) { sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[trainerTourneyId][i], - SpriteCb_MonIcon, + SpriteCB_MonIconDomeInfo, x | sInfoTrainerMonX[i], y + sInfoTrainerMonY[i], 0, 0, TRUE); @@ -4306,7 +4306,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId) else if (trainerId == TRAINER_FRONTIER_BRAIN) { sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[trainerTourneyId][i], - SpriteCb_MonIcon, + SpriteCB_MonIconDomeInfo, x | sInfoTrainerMonX[i], y + sInfoTrainerMonY[i], 0, 0, TRUE); @@ -4315,7 +4315,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId) else { sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].species, - SpriteCb_MonIcon, + SpriteCB_MonIconDomeInfo, x | sInfoTrainerMonX[i], y + sInfoTrainerMonY[i], 0, 0, TRUE); @@ -4786,7 +4786,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) if (trainerIds[0] == TRAINER_PLAYER) { sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[0]][i], - SpriteCb_MonIcon, + SpriteCB_MonIconDomeInfo, x | sLeftTrainerMonX[i], y + sLeftTrainerMonY[i], 0, 0, TRUE); @@ -4795,7 +4795,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN) { sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[0]][i], - SpriteCb_MonIcon, + SpriteCB_MonIconDomeInfo, x | sLeftTrainerMonX[i], y + sLeftTrainerMonY[i], 0, 0, TRUE); @@ -4804,7 +4804,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) else { sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[tournamentIds[0]][i]].species, - SpriteCb_MonIcon, + SpriteCB_MonIconDomeInfo, x | sLeftTrainerMonX[i], y + sLeftTrainerMonY[i], 0, 0, TRUE); @@ -4826,7 +4826,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) if (trainerIds[1] == TRAINER_PLAYER) { sInfoCard->spriteIds[5 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[1]][i], - SpriteCb_MonIcon, + SpriteCB_MonIconDomeInfo, x | sRightTrainerMonX[i], y + sRightTrainerMonY[i], 0, 0, TRUE); @@ -4835,7 +4835,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN) { sInfoCard->spriteIds[5 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[1]][i], - SpriteCb_MonIcon, + SpriteCB_MonIconDomeInfo, x | sRightTrainerMonX[i], y + sRightTrainerMonY[i], 0, 0, TRUE); @@ -4844,7 +4844,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) else { sInfoCard->spriteIds[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[tournamentIds[1]][i]].species, - SpriteCb_MonIcon, + SpriteCB_MonIconDomeInfo, x | sRightTrainerMonX[i], y + sRightTrainerMonY[i], 0, 0, TRUE); diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index 14c63b7b88..0e3ebaeff8 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -410,7 +410,7 @@ static const struct OamData sOam_Select_Pokeball = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -427,7 +427,7 @@ static const struct OamData sOam_Select_Arrow = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -444,7 +444,7 @@ static const struct OamData sOam_Select_MenuHighlight = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, @@ -461,7 +461,7 @@ static const struct OamData sOam_Select_MonPicBgAnim = .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -661,7 +661,7 @@ static const struct OamData sOam_Swap_Pokeball = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -678,7 +678,7 @@ static const struct OamData sOam_Swap_Arrow = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -695,7 +695,7 @@ static const struct OamData sOam_Swap_MenuHighlight = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, @@ -712,7 +712,7 @@ static const struct OamData sOam_Swap_MonPicBgAnim = .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -1747,9 +1747,9 @@ static void CreateFrontierFactorySelectableMons(u8 firstMonId) u16 monId = gSaveBlock2Ptr->frontier.rentalMons[i].monId; sFactorySelectScreen->mons[i + firstMonId].monId = monId; if (i < rentalRank) - ivs = GetFactoryMonFixedIV(challengeNum + 1, 0); + ivs = GetFactoryMonFixedIV(challengeNum + 1, FALSE); else - ivs = GetFactoryMonFixedIV(challengeNum, 0); + ivs = GetFactoryMonFixedIV(challengeNum, FALSE); CreateMonWithEVSpreadNatureOTID(&sFactorySelectScreen->mons[i + firstMonId].monData, gFacilityTrainerMons[monId].species, level, @@ -2473,7 +2473,7 @@ static void Swap_Task_HandleYesNo(u8 taskId) gTasks[taskId].tSaidYes = TRUE; hiPtr = gTasks[taskId].tFollowUpTaskPtrHi; loPtr = gTasks[taskId].tFollowUpTaskPtrLo; - gTasks[taskId].func = (void*)((hiPtr << 16) | loPtr); + gTasks[taskId].func = (void *)((hiPtr << 16) | loPtr); } else { @@ -2482,7 +2482,7 @@ static void Swap_Task_HandleYesNo(u8 taskId) Swap_ErasePopupMenu(SWAP_WIN_YES_NO); hiPtr = gTasks[taskId].tFollowUpTaskPtrHi; loPtr = gTasks[taskId].tFollowUpTaskPtrLo; - gTasks[taskId].func = (void*)((hiPtr << 16) | loPtr); + gTasks[taskId].func = (void *)((hiPtr << 16) | loPtr); } } else if (JOY_NEW(B_BUTTON)) @@ -2492,7 +2492,7 @@ static void Swap_Task_HandleYesNo(u8 taskId) Swap_ErasePopupMenu(SWAP_WIN_YES_NO); hiPtr = gTasks[taskId].tFollowUpTaskPtrHi; loPtr = gTasks[taskId].tFollowUpTaskPtrLo; - gTasks[taskId].func = (void*)((hiPtr << 16) | loPtr); + gTasks[taskId].func = (void *)((hiPtr << 16) | loPtr); } else if (JOY_REPEAT(DPAD_UP)) { diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index d547dec0f9..9c5243548d 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -110,7 +110,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) { s32 i, var1, var2; s32 chosenMoveId = -1; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleBufferA[gActiveBattler][4]); u8 unusableMovesBits = CheckMoveLimitations(gActiveBattler, 0, MOVE_LIMITATIONS_ALL); s32 percent = Random() % 100; @@ -254,7 +254,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) else if (moveTarget == MOVE_TARGET_SELECTED) chosenMoveId |= GetBattlePalaceTarget(); else - chosenMoveId |= (GetBattlerAtPosition((GetBattlerPosition(gActiveBattler) & BIT_SIDE) ^ BIT_SIDE) << 8); + chosenMoveId |= (GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(gActiveBattler))) << 8); return chosenMoveId; } @@ -310,7 +310,7 @@ static u16 GetBattlePalaceTarget(void) } if (gBattleMons[opposing1].hp == gBattleMons[opposing2].hp) - return (((gActiveBattler & BIT_SIDE) ^ BIT_SIDE) + (Random() & 2)) << 8; + return (BATTLE_OPPOSITE(gActiveBattler & BIT_SIDE) + (Random() & 2)) << 8; switch (gBattlePalaceNatureToMoveTarget[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)]) { @@ -325,11 +325,11 @@ static u16 GetBattlePalaceTarget(void) else return opposing2 << 8; case PALACE_TARGET_RANDOM: - return (((gActiveBattler & BIT_SIDE) ^ BIT_SIDE) + (Random() & 2)) << 8; + return (BATTLE_OPPOSITE(gActiveBattler & BIT_SIDE) + (Random() & 2)) << 8; } } - return (gActiveBattler ^ BIT_SIDE) << 8; + return BATTLE_OPPOSITE(gActiveBattler) << 8; } // Wait for the pokemon to finish appearing out from the pokeball on send out @@ -1060,7 +1060,7 @@ void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId) { if (!gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong) { - if (!gBattleSpritesDataPtr->battlerData[battlerId ^ BIT_FLANK].lowHpSong) + if (!gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battlerId)].lowHpSong) PlaySE(SE_LOW_HEALTH); gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 1; } @@ -1073,7 +1073,7 @@ void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId) m4aSongNumStop(SE_LOW_HEALTH); return; } - if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[battlerId ^ BIT_FLANK].lowHpSong) + if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battlerId)].lowHpSong) { m4aSongNumStop(SE_LOW_HEALTH); return; @@ -1087,7 +1087,7 @@ void BattleStopLowHpSound(void) gBattleSpritesDataPtr->battlerData[playerBattler].lowHpSong = 0; if (IsDoubleBattle()) - gBattleSpritesDataPtr->battlerData[playerBattler ^ BIT_FLANK].lowHpSong = 0; + gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(playerBattler)].lowHpSong = 0; m4aSongNumStop(SE_LOW_HEALTH); } @@ -1219,7 +1219,7 @@ void HideBattlerShadowSprite(u8 battlerId) // Color the background tiles surrounding the action selection and move windows void FillAroundBattleWindows(void) { - u16 *vramPtr = (u16*)(VRAM + 0x240); + u16 *vramPtr = (u16 *)(VRAM + 0x240); s32 i; s32 j; diff --git a/src/battle_interface.c b/src/battle_interface.c index dbcab4a9cc..ed4aa9ed8a 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -159,7 +159,7 @@ enum }; static const u8 *GetHealthboxElementGfxPtr(u8); -static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *, u32, u32, u32, u32 *); +static u8 *AddTextPrinterAndCreateWindowOnHealthbox(const u8 *, u32, u32, u32, u32 *); static void RemoveWindowOnHealthbox(u32 windowId); static void UpdateHpTextInHealthboxInDoubles(u8, s16, u8); @@ -194,7 +194,7 @@ static const struct OamData sOamData_64x32 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -266,7 +266,7 @@ static const struct OamData sOamData_Healthbar = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, @@ -635,7 +635,7 @@ static const struct OamData sOamData_Unused64x32 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -652,7 +652,7 @@ static const struct OamData sOamData_StatusSummaryBalls = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -908,7 +908,7 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) healthBarSpritePtr->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; healthBarSpritePtr->oam.priority = 1; - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void*)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * TILE_SIZE_4BPP), 64); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * TILE_SIZE_4BPP), 64); gSprites[healthboxLeftSpriteId].hMain_HealthBarSpriteId = healthbarSpriteId; gSprites[healthboxLeftSpriteId].hMain_Battler = battlerId; @@ -1094,7 +1094,7 @@ static void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl) if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER) { - objVram = (void*)(OBJ_VRAM0); + objVram = (void *)(OBJ_VRAM0); if (!IsDoubleBattle()) objVram += spriteTileNum + 0x820; else @@ -1102,7 +1102,7 @@ static void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl) } else { - objVram = (void*)(OBJ_VRAM0); + objVram = (void *)(OBJ_VRAM0); objVram += spriteTileNum + 0x400; } TextIntoHealthboxObject(objVram, windowTileData, 3); @@ -1123,7 +1123,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent) { ConvertIntToDecimalStringN(text, value, STR_CONV_MODE_RIGHT_ALIGN, 3); windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, 0, 5, 2, &windowId); - objVram = (void*)(OBJ_VRAM0); + objVram = (void *)(OBJ_VRAM0); objVram += spriteTileNum + 0xB40; HpTextIntoHealthboxObject(objVram, windowTileData, 2); RemoveWindowOnHealthbox(windowId); @@ -1134,10 +1134,10 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent) text[3] = CHAR_SLASH; text[4] = EOS; windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, 4, 5, 2, &windowId); - objVram = (void*)(OBJ_VRAM0); + objVram = (void *)(OBJ_VRAM0); objVram += spriteTileNum + 0x3E0; HpTextIntoHealthboxObject(objVram, windowTileData, 1); - objVram = (void*)(OBJ_VRAM0); + objVram = (void *)(OBJ_VRAM0); objVram += spriteTileNum + 0xB00; HpTextIntoHealthboxObject(objVram, windowTileData + 0x20, 2); RemoveWindowOnHealthbox(windowId); @@ -1179,7 +1179,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent) for (i = 0; i < 3; i++) { CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[i * 64 + 32], - (void*)((OBJ_VRAM0) + TILE_SIZE_4BPP * (gSprites[healthboxSpriteId].oam.tileNum + var + i)), + (void *)((OBJ_VRAM0) + TILE_SIZE_4BPP * (gSprites[healthboxSpriteId].oam.tileNum + var + i)), 0x20); } } @@ -1198,16 +1198,16 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 if (gBattleSpritesDataPtr->battlerData[gSprites[healthboxSpriteId].data[6]].hpNumbersNoBars) // don't print text if only bars are visible { spriteTileNum = gSprites[gSprites[healthboxSpriteId].data[5]].oam.tileNum * TILE_SIZE_4BPP; - objVram = (void*)(OBJ_VRAM0) + spriteTileNum; + objVram = (void *)(OBJ_VRAM0) + spriteTileNum; if (maxOrCurrent != HP_CURRENT) // doubles, max hp { ConvertIntToDecimalStringN(text, value, STR_CONV_MODE_RIGHT_ALIGN, 3); windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, 0, 5, 0, &windowId); - HpTextIntoHealthboxObject((void*)(OBJ_VRAM0) + spriteTileNum + 0xC0, windowTileData, 2); + HpTextIntoHealthboxObject((void *)(OBJ_VRAM0) + spriteTileNum + 0xC0, windowTileData, 2); RemoveWindowOnHealthbox(windowId); CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END), - (void*)(OBJ_VRAM0 + 0x680) + (gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP), + (void *)(OBJ_VRAM0 + 0x680) + (gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP), 0x20); } else @@ -1217,7 +1217,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 text[4] = EOS; windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, 4, 5, 0, &windowId); FillHealthboxObject(objVram, 0, 3); // Erases HP bar leftover. - HpTextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x60) + spriteTileNum, windowTileData, 3); + HpTextIntoHealthboxObject((void *)(OBJ_VRAM0 + 0x60) + spriteTileNum, windowTileData, 3); RemoveWindowOnHealthbox(windowId); } } @@ -1250,13 +1250,13 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 if (i < 3) { CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[((i - var) * 64) + 32], - (void*)((OBJ_VRAM0) + 32 * (1 + gSprites[r7].oam.tileNum + i)), + (void *)((OBJ_VRAM0) + 32 * (1 + gSprites[r7].oam.tileNum + i)), 0x20); } else { CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[((i - var) * 64) + 32], - (void*)((OBJ_VRAM0 + 0x20) + 32 * (i + gSprites[r7].oam.tileNum)), + (void *)((OBJ_VRAM0 + 0x20) + 32 * (i + gSprites[r7].oam.tileNum)), 0x20); } } @@ -1264,16 +1264,16 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 if (maxOrCurrent == HP_CURRENT) { CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[224], - (void*)((OBJ_VRAM0) + ((gSprites[r7].oam.tileNum + 4) * TILE_SIZE_4BPP)), + (void *)((OBJ_VRAM0) + ((gSprites[r7].oam.tileNum + 4) * TILE_SIZE_4BPP)), 0x20); - CpuFill32(0, (void*)((OBJ_VRAM0) + (gSprites[r7].oam.tileNum * TILE_SIZE_4BPP)), 0x20); + CpuFill32(0, (void *)((OBJ_VRAM0) + (gSprites[r7].oam.tileNum * TILE_SIZE_4BPP)), 0x20); } else { if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) // Impossible to reach part, because the battlerId is from the opponent's side. { CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END), - (void*)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * TILE_SIZE_4BPP), + (void *)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * TILE_SIZE_4BPP), 0x20); } } @@ -1313,11 +1313,11 @@ static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon) for (j = 1; j < var + 1; j++) { spriteTileNum = (gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * TILE_SIZE_4BPP; - CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (spriteTileNum), 0x20); + CpuCopy32(barFontGfx, (void *)(OBJ_VRAM0) + (spriteTileNum), 0x20); barFontGfx += 0x20; spriteTileNum = (8 + gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * TILE_SIZE_4BPP; - CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (spriteTileNum), 0x20); + CpuCopy32(barFontGfx, (void *)(OBJ_VRAM0) + (spriteTileNum), 0x20); barFontGfx += 0x20; } @@ -1334,13 +1334,13 @@ static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon) if (j <= 1) { CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[0x40 * j + 0x20], - (void*)(OBJ_VRAM0) + (gSprites[healthBarSpriteId].oam.tileNum + 2 + j) * TILE_SIZE_4BPP, + (void *)(OBJ_VRAM0) + (gSprites[healthBarSpriteId].oam.tileNum + 2 + j) * TILE_SIZE_4BPP, 32); } else { CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[0x40 * j + 0x20], - (void*)(OBJ_VRAM0 + 0xC0) + (j + gSprites[healthBarSpriteId].oam.tileNum) * TILE_SIZE_4BPP, + (void *)(OBJ_VRAM0 + 0xC0) + (j + gSprites[healthBarSpriteId].oam.tileNum) * TILE_SIZE_4BPP, 32); } } @@ -1372,7 +1372,7 @@ void SwapHpBarsWithHpText(void) { healthBarSpriteId = gSprites[gHealthboxSpriteIds[i]].hMain_HealthBarSpriteId; - CpuFill32(0, (void*)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 0x100); + CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 0x100); UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_HP), HP_CURRENT); UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), HP_MAX); } @@ -1380,7 +1380,7 @@ void SwapHpBarsWithHpText(void) { UpdateStatusIconInHealthbox(gHealthboxSpriteIds[i]); UpdateHealthboxAttribute(gHealthboxSpriteIds[i], &gPlayerParty[gBattlerPartyIndexes[i]], HEALTHBOX_HEALTH_BAR); - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END_BAR), (void*)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxSpriteIds[i]].oam.tileNum * TILE_SIZE_4BPP), 32); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END_BAR), (void *)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxSpriteIds[i]].oam.tileNum * TILE_SIZE_4BPP), 32); } } else @@ -1924,8 +1924,8 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon) if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER) { - TextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x40 + spriteTileNum), windowTileData, 6); - ptr = (void*)(OBJ_VRAM0); + TextIntoHealthboxObject((void *)(OBJ_VRAM0 + 0x40 + spriteTileNum), windowTileData, 6); + ptr = (void *)(OBJ_VRAM0); if (!IsDoubleBattle()) ptr += spriteTileNum + 0x800; else @@ -1934,7 +1934,7 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon) } else { - TextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x20 + spriteTileNum), windowTileData, 7); + TextIntoHealthboxObject((void *)(OBJ_VRAM0 + 0x20 + spriteTileNum), windowTileData, 7); } RemoveWindowOnHealthbox(windowId); @@ -1958,9 +1958,9 @@ static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus) healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId; if (noStatus) - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_STATUS_BALL_CAUGHT), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_STATUS_BALL_CAUGHT), (void *)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32); else - CpuFill32(0, (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32); + CpuFill32(0, (void *)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32); } static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) @@ -2018,7 +2018,7 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) statusGfxPtr = GetHealthboxElementGfxPtr(HEALTHBOX_GFX_39); for (i = 0; i < 3; i++) - CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder + i) * TILE_SIZE_4BPP), 32); + CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder + i) * TILE_SIZE_4BPP), 32); if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 64); @@ -2031,14 +2031,14 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) pltAdder += battlerId + 12; FillPalette(sStatusIconColors[statusPalId], pltAdder + 0x100, 2); - CpuCopy16(gPlttBufferUnfaded + 0x100 + pltAdder, (void*)(OBJ_PLTT + pltAdder * 2), 2); - CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * TILE_SIZE_4BPP), 96); + CpuCopy16(gPlttBufferUnfaded + 0x100 + pltAdder, (void *)(OBJ_PLTT + pltAdder * 2), 2); + CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * TILE_SIZE_4BPP), 96); if (IsDoubleBattle() == TRUE || GetBattlerSide(battlerId) == B_SIDE_OPPONENT) { if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) { - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_0), (void*)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 32); - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_65), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 1) * TILE_SIZE_4BPP), 32); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_0), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 32); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_65), (void *)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 1) * TILE_SIZE_4BPP), 32); } } TryAddPokeballIconToHealthbox(healthboxSpriteId, FALSE); @@ -2111,8 +2111,8 @@ static void UpdateSafariBallsTextOnHealthbox(u8 healthboxSpriteId) windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(gText_SafariBalls, 0, 3, 2, &windowId); spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP; - TextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x40) + spriteTileNum, windowTileData, 6); - TextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x800) + spriteTileNum, windowTileData + 0xC0, 2); + TextIntoHealthboxObject((void *)(OBJ_VRAM0 + 0x40) + spriteTileNum, windowTileData, 6); + TextIntoHealthboxObject((void *)(OBJ_VRAM0 + 0x800) + spriteTileNum, windowTileData + 0xC0, 2); RemoveWindowOnHealthbox(windowId); } @@ -2128,8 +2128,8 @@ static void UpdateLeftNoOfBallsTextOnHealthbox(u8 healthboxSpriteId) windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, GetStringRightAlignXOffset(FONT_SMALL, text, 0x2F), 3, 2, &windowId); spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP; - SafariTextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x2C0) + spriteTileNum, windowTileData, 2); - SafariTextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0xA00) + spriteTileNum, windowTileData + 0x40, 4); + SafariTextIntoHealthboxObject((void *)(OBJ_VRAM0 + 0x2C0) + spriteTileNum, windowTileData, 2); + SafariTextIntoHealthboxObject((void *)(OBJ_VRAM0 + 0xA00) + spriteTileNum, windowTileData + 0x40, 4); RemoveWindowOnHealthbox(windowId); } @@ -2273,10 +2273,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) u8 healthbarSpriteId = gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].hMain_HealthBarSpriteId; if (i < 2) CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32, - (void*)(OBJ_VRAM0 + (gSprites[healthbarSpriteId].oam.tileNum + 2 + i) * TILE_SIZE_4BPP), 32); + (void *)(OBJ_VRAM0 + (gSprites[healthbarSpriteId].oam.tileNum + 2 + i) * TILE_SIZE_4BPP), 32); else CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32, - (void*)(OBJ_VRAM0 + 64 + (i + gSprites[healthbarSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32); + (void *)(OBJ_VRAM0 + 64 + (i + gSprites[healthbarSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32); } break; case EXP_BAR: @@ -2295,10 +2295,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) { if (i < 4) CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_12) + array[i] * 32, - (void*)(OBJ_VRAM0 + (gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum + 0x24 + i) * TILE_SIZE_4BPP), 32); + (void *)(OBJ_VRAM0 + (gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum + 0x24 + i) * TILE_SIZE_4BPP), 32); else CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_12) + array[i] * 32, - (void*)(OBJ_VRAM0 + 0xB80 + (i + gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32); + (void *)(OBJ_VRAM0 + 0xB80 + (i + gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32); } break; } @@ -2522,7 +2522,7 @@ u8 GetHPBarLevel(s16 hp, s16 maxhp) return result; } -static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 bgColor, u32 *windowId) +static u8 *AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 bgColor, u32 *windowId) { u16 winId; u8 color[3]; @@ -2538,7 +2538,7 @@ static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, AddTextPrinterParameterized4(winId, FONT_SMALL, x, y, 0, 0, color, TEXT_SKIP_DRAW, str); *windowId = winId; - return (u8*)(GetWindowAttribute(winId, WINDOW_TILE_DATA)); + return (u8 *)(GetWindowAttribute(winId, WINDOW_TILE_DATA)); } static void RemoveWindowOnHealthbox(u32 windowId) diff --git a/src/battle_main.c b/src/battle_main.c index f61d5eaae0..903588fe73 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -78,12 +78,12 @@ static void EndLinkBattleInSteps(void); static void CB2_InitAskRecordBattle(void); static void CB2_AskRecordBattle(void); static void AskRecordBattle(void); -static void SpriteCb_MoveWildMonToRight(struct Sprite *sprite); -static void SpriteCb_WildMonShowHealthbox(struct Sprite *sprite); -static void SpriteCb_WildMonAnimate(struct Sprite *sprite); +static void SpriteCB_MoveWildMonToRight(struct Sprite *sprite); +static void SpriteCB_WildMonShowHealthbox(struct Sprite *sprite); +static void SpriteCB_WildMonAnimate(struct Sprite *sprite); static void SpriteCB_Flicker(struct Sprite *sprite); static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite); -static void SpriteCb_BlinkVisible(struct Sprite *sprite); +static void SpriteCB_BlinkVisible(struct Sprite *sprite); static void SpriteCB_Idle(struct Sprite *sprite); static void SpriteCB_BattleSpriteSlideLeft(struct Sprite *sprite); static void TurnValuesCleanUp(bool8 var0); @@ -118,7 +118,7 @@ static void HandleEndTurn_BattleLost(void); static void HandleEndTurn_RanFromBattle(void); static void HandleEndTurn_MonFled(void); static void HandleEndTurn_FinishBattle(void); -static void SpriteCB_UnusedBattleInit(struct Sprite* sprite); +static void SpriteCB_UnusedBattleInit(struct Sprite *sprite); static void SpriteCB_UnusedBattleInit_Main(struct Sprite *sprite); EWRAM_DATA u16 gBattle_BG0_X = 0; @@ -606,7 +606,7 @@ static void CB2_InitBattleInternal(void) SetHBlankCallback(NULL); SetVBlankCallback(NULL); - CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + CpuFill32(0, (void *)(VRAM), VRAM_SIZE); SetGpuReg(REG_OFFSET_MOSAIC, 0); SetGpuReg(REG_OFFSET_WIN0H, DISPLAY_WIDTH); @@ -665,7 +665,7 @@ static void CB2_InitBattleInternal(void) ResetTasks(); DrawBattleEntryBackground(); FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; SetVBlankCallback(VBlankCB_Battle); SetUpBattleVarsAndBirchZigzagoon(); @@ -772,8 +772,7 @@ static void SetPlayerBerryDataInBattleStruct(void) static void SetAllPlayersBerryData(void) { - s32 i; - s32 j; + s32 i, j; if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)) { @@ -816,8 +815,8 @@ static void SetAllPlayersBerryData(void) gEnigmaBerries[2].itemEffect[i] = 0; } - gEnigmaBerries[0].holdEffect = 0; - gEnigmaBerries[2].holdEffect = 0; + gEnigmaBerries[0].holdEffect = HOLD_EFFECT_NONE; + gEnigmaBerries[2].holdEffect = HOLD_EFFECT_NONE; gEnigmaBerries[0].holdEffectParam = 0; gEnigmaBerries[2].holdEffectParam = 0; } @@ -968,7 +967,7 @@ static void CB2_HandleStartBattle(void) case 1: if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { if (IsLinkTaskFinished()) { @@ -1068,7 +1067,7 @@ static void CB2_HandleStartBattle(void) // Recv Pokémon 5-6 ResetBlockReceivedFlags(); memcpy(&gEnemyParty[4], gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); - + TryCorrectShedinjaLanguage(&gEnemyParty[0]); TryCorrectShedinjaLanguage(&gEnemyParty[1]); TryCorrectShedinjaLanguage(&gEnemyParty[2]); @@ -1176,7 +1175,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) case 1: if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { u8 language; @@ -1443,7 +1442,7 @@ static void CB2_PreInitMultiBattle(void) switch (gBattleCommunication[MULTIUSE_STATE]) { case 0: - if (gReceivedRemoteLinkPlayers != 0 && IsLinkTaskFinished()) + if (gReceivedRemoteLinkPlayers && IsLinkTaskFinished()) { sMultiPartnerPartyBuffer = Alloc(sizeof(gMultiPartnerParty)); SetMultiPartnerMenuParty(0); @@ -1579,7 +1578,7 @@ static void CB2_HandleStartMultiBattle(void) case 1: if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { if (IsLinkTaskFinished()) { @@ -1805,7 +1804,7 @@ static void CB2_HandleStartMultiBattle(void) case 8: if (IsLinkTaskFinished()) { - u32* ptr = gBattleStruct->multiBuffer.battleVideo; + u32 *ptr = gBattleStruct->multiBuffer.battleVideo; ptr[0] = gBattleTypeFlags; ptr[1] = gRecordedBattleRngSeed; // UB: overwrites berry data SendBlock(BitmaskAllOtherLinkPlayers(), ptr, sizeof(gBattleStruct->multiBuffer.battleVideo)); @@ -1891,7 +1890,7 @@ void CB2_QuitRecordedBattle(void) #define sState data[0] #define sDelay data[4] -static void SpriteCB_UnusedBattleInit(struct Sprite* sprite) +static void SpriteCB_UnusedBattleInit(struct Sprite *sprite) { sprite->sState = 0; sprite->callback = SpriteCB_UnusedBattleInit_Main; @@ -1899,7 +1898,7 @@ static void SpriteCB_UnusedBattleInit(struct Sprite* sprite) static void SpriteCB_UnusedBattleInit_Main(struct Sprite *sprite) { - u16 *arr = (u16*)gDecompressionBuffer; + u16 *arr = (u16 *)gDecompressionBuffer; switch (sprite->sState) { @@ -2178,7 +2177,7 @@ void CB2_InitEndLinkBattle(void) } else { - CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + CpuFill32(0, (void *)(VRAM), VRAM_SIZE); SetGpuReg(REG_OFFSET_MOSAIC, 0); SetGpuReg(REG_OFFSET_WIN0H, DISPLAY_WIDTH); SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(DISPLAY_HEIGHT / 2, DISPLAY_HEIGHT / 2 + 1)); @@ -2222,7 +2221,7 @@ void CB2_InitEndLinkBattle(void) DrawBattleEntryBackground(); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; SetVBlankCallback(VBlankCB_Battle); // Show end Vs screen with battle results @@ -2319,7 +2318,7 @@ static void EndLinkBattleInSteps(void) } break; case 3: - CpuFill32(0, (void*)VRAM, VRAM_SIZE); + CpuFill32(0, (void *)VRAM, VRAM_SIZE); for (i = 0; i < 2; i++) LoadChosenBattleElement(i); @@ -2406,7 +2405,7 @@ static void CB2_InitAskRecordBattle(void) SetHBlankCallback(NULL); SetVBlankCallback(NULL); - CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + CpuFill32(0, (void *)(VRAM), VRAM_SIZE); ResetPaletteFade(); gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -2426,7 +2425,7 @@ static void CB2_InitAskRecordBattle(void) ResetSpriteData(); ResetTasks(); FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; SetVBlankCallback(VBlankCB_Battle); SetMainCallback2(CB2_AskRecordBattle); BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK); @@ -2489,7 +2488,7 @@ static void AskRecordBattle(void) case STATE_PRINT_YES_NO: if (!IsTextPrinterActive(B_WIN_MSG)) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); + HandleBattleWindow(YESNOBOX_X_Y, 0); BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gBattleCommunication[CURSOR_POSITION] = 1; BattleCreateYesNoCursorAt(1); @@ -2525,7 +2524,7 @@ static void AskRecordBattle(void) if (gBattleCommunication[CURSOR_POSITION] == 0) { // Selected Yes - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); gBattleCommunication[1] = MoveRecordedBattleToSaveData(); gBattleCommunication[MULTIUSE_STATE] = STATE_RECORD_YES; } @@ -2544,7 +2543,7 @@ static void AskRecordBattle(void) case STATE_RECORD_NO: if (IsLinkTaskFinished() == TRUE) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); if (gMain.anyLinkBattlerHasFrontierPass) { // Other battlers may be recording, wait for them @@ -2650,38 +2649,38 @@ u32 GetBattleWindowTemplatePixelWidth(u32 windowsType, u32 tableId) #define sBattler data[0] #define sSpeciesId data[2] -void SpriteCb_WildMon(struct Sprite *sprite) +void SpriteCB_WildMon(struct Sprite *sprite) { - sprite->callback = SpriteCb_MoveWildMonToRight; + sprite->callback = SpriteCB_MoveWildMonToRight; StartSpriteAnimIfDifferent(sprite, 0); BeginNormalPaletteFade(0x20000, 0, 10, 10, RGB(8, 8, 8)); } -static void SpriteCb_MoveWildMonToRight(struct Sprite *sprite) +static void SpriteCB_MoveWildMonToRight(struct Sprite *sprite) { if ((gIntroSlideFlags & 1) == 0) { sprite->x2 += 2; if (sprite->x2 == 0) { - sprite->callback = SpriteCb_WildMonShowHealthbox; + sprite->callback = SpriteCB_WildMonShowHealthbox; } } } -static void SpriteCb_WildMonShowHealthbox(struct Sprite *sprite) +static void SpriteCB_WildMonShowHealthbox(struct Sprite *sprite) { if (sprite->animEnded) { StartHealthboxSlideIn(sprite->sBattler); SetHealthboxSpriteVisible(gHealthboxSpriteIds[sprite->sBattler]); - sprite->callback = SpriteCb_WildMonAnimate; + sprite->callback = SpriteCB_WildMonAnimate; StartSpriteAnimIfDifferent(sprite, 0); BeginNormalPaletteFade(0x20000, 0, 10, 0, RGB(8, 8, 8)); } } -static void SpriteCb_WildMonAnimate(struct Sprite *sprite) +static void SpriteCB_WildMonAnimate(struct Sprite *sprite) { if (!gPaletteFade.active) { @@ -2787,7 +2786,7 @@ static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite) } else // Erase bottom part of the sprite to create a smooth illusion of mon falling down. { - u8* dst = gMonSpritesGfxPtr->sprites.byte[GetBattlerPosition(sprite->sBattler)] + (gBattleMonForms[sprite->sBattler] << 11) + (sprite->data[3] << 8); + u8 *dst = gMonSpritesGfxPtr->sprites.byte[GetBattlerPosition(sprite->sBattler)] + (gBattleMonForms[sprite->sBattler] << 11) + (sprite->data[3] << 8); for (i = 0; i < 0x100; i++) *(dst++) = 0; @@ -2798,14 +2797,14 @@ static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite) } // Used when selecting a move, which can hit multiple targets, in double battles. -void SpriteCb_ShowAsMoveTarget(struct Sprite *sprite) +void SpriteCB_ShowAsMoveTarget(struct Sprite *sprite) { sprite->data[3] = 8; sprite->data[4] = sprite->invisible; - sprite->callback = SpriteCb_BlinkVisible; + sprite->callback = SpriteCB_BlinkVisible; } -static void SpriteCb_BlinkVisible(struct Sprite *sprite) +static void SpriteCB_BlinkVisible(struct Sprite *sprite) { if (--sprite->data[3] == 0) { @@ -2814,7 +2813,7 @@ static void SpriteCb_BlinkVisible(struct Sprite *sprite) } } -void SpriteCb_HideAsMoveTarget(struct Sprite *sprite) +void SpriteCB_HideAsMoveTarget(struct Sprite *sprite) { sprite->invisible = sprite->data[4]; sprite->data[4] = FALSE; @@ -2985,7 +2984,7 @@ static void SpriteCB_TrainerThrowObject_Main(struct Sprite *sprite) sprite->callback = SpriteCB_Idle; } -// Sprite callback for a trainer back pic to throw an object +// Sprite callback for a trainer back pic to throw an object // (Wally throwing a ball, throwing Pokéblocks/balls in the Safari Zone) void SpriteCB_TrainerThrowObject(struct Sprite *sprite) { @@ -3038,13 +3037,13 @@ static void BattleStartClearSetData(void) gDisableStructs[i].isFirstTurn = 2; sUnusedBattlersArray[i] = 0; - gLastMoves[i] = 0; - gLastLandedMoves[i] = 0; + gLastMoves[i] = MOVE_NONE; + gLastLandedMoves[i] = MOVE_NONE; gLastHitByType[i] = 0; - gLastResultingMoves[i] = 0; + gLastResultingMoves[i] = MOVE_NONE; gLastHitBy[i] = 0xFF; - gLockedMoves[i] = 0; - gLastPrintedMoves[i] = 0; + gLockedMoves[i] = MOVE_NONE; + gLastPrintedMoves[i] = MOVE_NONE; gBattleResources->flags->flags[i] = 0; gPalaceSelectionBattleScripts[i] = 0; } @@ -3105,14 +3104,14 @@ static void BattleStartClearSetData(void) for (i = 0; i < 8; i++) { - *((u8 *)gBattleStruct->lastTakenMove + i) = 0; - *((u8 *)gBattleStruct->usedHeldItems + i) = 0; - *((u8 *)gBattleStruct->choicedMove + i) = 0; - *((u8 *)gBattleStruct->changedItems + i) = 0; - *(i + 0 * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(i + 1 * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(i + 2 * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(i + 3 * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *((u8 *)gBattleStruct->lastTakenMove + i) = MOVE_NONE; + *((u8 *)gBattleStruct->usedHeldItems + i) = ITEM_NONE; + *((u8 *)gBattleStruct->choicedMove + i) = MOVE_NONE; + *((u8 *)gBattleStruct->changedItems + i) = ITEM_NONE; + *(i + 0 * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(i + 1 * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(i + 2 * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(i + 3 * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; } for (i = 0; i < MAX_BATTLERS_COUNT; i++) @@ -3205,23 +3204,23 @@ void SwitchInClearSetData(void) gMoveResultFlags = 0; gDisableStructs[gActiveBattler].isFirstTurn = 2; gDisableStructs[gActiveBattler].truantSwitchInHack = disableStructCopy.truantSwitchInHack; - gLastMoves[gActiveBattler] = 0; - gLastLandedMoves[gActiveBattler] = 0; + gLastMoves[gActiveBattler] = MOVE_NONE; + gLastLandedMoves[gActiveBattler] = MOVE_NONE; gLastHitByType[gActiveBattler] = 0; - gLastResultingMoves[gActiveBattler] = 0; - gLastPrintedMoves[gActiveBattler] = 0; + gLastResultingMoves[gActiveBattler] = MOVE_NONE; + gLastPrintedMoves[gActiveBattler] = MOVE_NONE; gLastHitBy[gActiveBattler] = 0xFF; - *(gBattleStruct->lastTakenMove + gActiveBattler * 2 + 0) = 0; - *(gBattleStruct->lastTakenMove + gActiveBattler * 2 + 1) = 0; - *(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; - *(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; - *(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; - *(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; + *(gBattleStruct->lastTakenMove + gActiveBattler * 2 + 0) = MOVE_NONE; + *(gBattleStruct->lastTakenMove + gActiveBattler * 2 + 1) = MOVE_NONE; + *(0 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(0 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; + *(1 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(1 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; + *(2 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(2 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; + *(3 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(3 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; gBattleStruct->palaceFlags &= ~(gBitTable[gActiveBattler]); @@ -3229,18 +3228,18 @@ void SwitchInClearSetData(void) { if (i != gActiveBattler && GetBattlerSide(i) != GetBattlerSide(gActiveBattler)) { - *(gBattleStruct->lastTakenMove + i * 2 + 0) = 0; - *(gBattleStruct->lastTakenMove + i * 2 + 1) = 0; + *(gBattleStruct->lastTakenMove + i * 2 + 0) = MOVE_NONE; + *(gBattleStruct->lastTakenMove + i * 2 + 1) = MOVE_NONE; } - *(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; + *(i * 8 + gActiveBattler * 2 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(i * 8 + gActiveBattler * 2 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; } - *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBattler]) + 0) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBattler]) + 1) = 0; + *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gActiveBattler]) + 0) = MOVE_NONE; + *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gActiveBattler]) + 1) = MOVE_NONE; gBattleResources->flags->flags[gActiveBattler] = 0; - gCurrentMove = 0; + gCurrentMove = MOVE_NONE; gBattleStruct->arenaTurnCounter = 0xFF; ClearBattlerMoveHistory(gActiveBattler); @@ -3275,48 +3274,48 @@ void FaintClearSetData(void) for (i = 0; i < sizeof(struct DisableStruct); i++) ptr[i] = 0; - gProtectStructs[gActiveBattler].protected = 0; - gProtectStructs[gActiveBattler].endured = 0; - gProtectStructs[gActiveBattler].noValidMoves = 0; - gProtectStructs[gActiveBattler].helpingHand = 0; - gProtectStructs[gActiveBattler].bounceMove = 0; - gProtectStructs[gActiveBattler].stealMove = 0; - gProtectStructs[gActiveBattler].flag0Unknown = 0; - gProtectStructs[gActiveBattler].prlzImmobility = 0; - gProtectStructs[gActiveBattler].confusionSelfDmg = 0; - gProtectStructs[gActiveBattler].targetNotAffected = 0; - gProtectStructs[gActiveBattler].chargingTurn = 0; + gProtectStructs[gActiveBattler].protected = FALSE; + gProtectStructs[gActiveBattler].endured = FALSE; + gProtectStructs[gActiveBattler].noValidMoves = FALSE; + gProtectStructs[gActiveBattler].helpingHand = FALSE; + gProtectStructs[gActiveBattler].bounceMove = FALSE; + gProtectStructs[gActiveBattler].stealMove = FALSE; + gProtectStructs[gActiveBattler].flag0Unknown = FALSE; + gProtectStructs[gActiveBattler].prlzImmobility = FALSE; + gProtectStructs[gActiveBattler].confusionSelfDmg = FALSE; + gProtectStructs[gActiveBattler].targetNotAffected = FALSE; + gProtectStructs[gActiveBattler].chargingTurn = FALSE; gProtectStructs[gActiveBattler].fleeType = 0; - gProtectStructs[gActiveBattler].usedImprisonedMove = 0; - gProtectStructs[gActiveBattler].loveImmobility = 0; - gProtectStructs[gActiveBattler].usedDisabledMove = 0; - gProtectStructs[gActiveBattler].usedTauntedMove = 0; - gProtectStructs[gActiveBattler].flag2Unknown = 0; - gProtectStructs[gActiveBattler].flinchImmobility = 0; - gProtectStructs[gActiveBattler].notFirstStrike = 0; + gProtectStructs[gActiveBattler].usedImprisonedMove = FALSE; + gProtectStructs[gActiveBattler].loveImmobility = FALSE; + gProtectStructs[gActiveBattler].usedDisabledMove = FALSE; + gProtectStructs[gActiveBattler].usedTauntedMove = FALSE; + gProtectStructs[gActiveBattler].flag2Unknown = FALSE; + gProtectStructs[gActiveBattler].flinchImmobility = FALSE; + gProtectStructs[gActiveBattler].notFirstStrike = FALSE; gDisableStructs[gActiveBattler].isFirstTurn = 2; - gLastMoves[gActiveBattler] = 0; - gLastLandedMoves[gActiveBattler] = 0; + gLastMoves[gActiveBattler] = MOVE_NONE; + gLastLandedMoves[gActiveBattler] = MOVE_NONE; gLastHitByType[gActiveBattler] = 0; - gLastResultingMoves[gActiveBattler] = 0; - gLastPrintedMoves[gActiveBattler] = 0; + gLastResultingMoves[gActiveBattler] = MOVE_NONE; + gLastPrintedMoves[gActiveBattler] = MOVE_NONE; gLastHitBy[gActiveBattler] = 0xFF; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBattler]) + 0) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBattler]) + 1) = 0; + *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gActiveBattler]) + 0) = MOVE_NONE; + *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gActiveBattler]) + 1) = MOVE_NONE; - *(gBattleStruct->lastTakenMove + gActiveBattler * 2 + 0) = 0; - *(gBattleStruct->lastTakenMove + gActiveBattler * 2 + 1) = 0; - *(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; - *(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; - *(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; - *(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; + *(gBattleStruct->lastTakenMove + gActiveBattler * 2 + 0) = MOVE_NONE; + *(gBattleStruct->lastTakenMove + gActiveBattler * 2 + 1) = MOVE_NONE; + *(0 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(0 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; + *(1 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(1 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; + *(2 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(2 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; + *(3 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(3 * 2 + gActiveBattler * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; gBattleStruct->palaceFlags &= ~(gBitTable[gActiveBattler]); @@ -3324,11 +3323,11 @@ void FaintClearSetData(void) { if (i != gActiveBattler && GetBattlerSide(i) != GetBattlerSide(gActiveBattler)) { - *(gBattleStruct->lastTakenMove + i * 2 + 0) = 0; - *(gBattleStruct->lastTakenMove + i * 2 + 1) = 0; + *(gBattleStruct->lastTakenMove + i * 2 + 0) = MOVE_NONE; + *(gBattleStruct->lastTakenMove + i * 2 + 1) = MOVE_NONE; } - *(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; - *(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; + *(i * 8 + gActiveBattler * 2 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = 0; + *(i * 8 + gActiveBattler * 2 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 1) = 0; } gBattleResources->flags->flags[gActiveBattler] = 0; @@ -3371,8 +3370,8 @@ static void BattleIntroPrepareBackgroundSlide(void) BtlController_EmitIntroSlide(BUFFER_A, gBattleTerrain); MarkBattlerForControllerExec(gActiveBattler); gBattleMainFunc = BattleIntroDrawTrainersOrMonsSprites; - gBattleCommunication[0] = 0; - gBattleCommunication[1] = 0; + gBattleCommunication[MULTIUSE_STATE] = 0; + gBattleCommunication[SPRITES_INIT_STATE1] = 0; } } @@ -3387,7 +3386,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) - && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { ptr = (u8 *)&gBattleMons[gActiveBattler]; for (i = 0; i < sizeof(struct BattlePokemon); i++) @@ -3395,7 +3394,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) } else { - u16* hpOnSwitchout; + u16 *hpOnSwitchout; ptr = (u8 *)&gBattleMons[gActiveBattler]; for (i = 0; i < sizeof(struct BattlePokemon); i++) @@ -3545,7 +3544,6 @@ static void BattleIntroDrawPartySummaryScreens(void) gBattleMainFunc = BattleIntroPrintWildMonAttacked; } - } static void BattleIntroPrintTrainerWantsToBattle(void) @@ -3839,7 +3837,7 @@ static void TryDoEventsBeforeFirstTurn(void) gBattleStruct->switchInAbilitiesCounter++; - if (effect) + if (effect != 0) return; } if (AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE1, 0, 0, 0, 0) != 0) @@ -3854,7 +3852,7 @@ static void TryDoEventsBeforeFirstTurn(void) gBattleStruct->switchInItemsCounter++; - if (effect) + if (effect != 0) return; } for (i = 0; i < MAX_BATTLERS_COUNT; i++) @@ -3997,11 +3995,11 @@ u8 IsRunningFromBattleImpossible(void) gPotentialItemEffectBattler = gActiveBattler; if (holdEffect == HOLD_EFFECT_CAN_ALWAYS_RUN) - return 0; + return BATTLE_RUN_SUCCESS; if (gBattleTypeFlags & BATTLE_TYPE_LINK) - return 0; + return BATTLE_RUN_SUCCESS; if (gBattleMons[gActiveBattler].ability == ABILITY_RUN_AWAY) - return 0; + return BATTLE_RUN_SUCCESS; side = GetBattlerSide(gActiveBattler); @@ -4013,7 +4011,7 @@ u8 IsRunningFromBattleImpossible(void) gBattleScripting.battler = i; gLastUsedAbility = gBattleMons[i].ability; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_PREVENTS_ESCAPE; - return 2; + return BATTLE_RUN_FAILURE; } if (side != GetBattlerSide(i) && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE @@ -4023,7 +4021,7 @@ u8 IsRunningFromBattleImpossible(void) gBattleScripting.battler = i; gLastUsedAbility = gBattleMons[i].ability; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_PREVENTS_ESCAPE; - return 2; + return BATTLE_RUN_FAILURE; } } i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0); @@ -4032,20 +4030,20 @@ u8 IsRunningFromBattleImpossible(void) gBattleScripting.battler = i - 1; gLastUsedAbility = gBattleMons[i - 1].ability; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_PREVENTS_ESCAPE; - return 2; + return BATTLE_RUN_FAILURE; } if ((gBattleMons[gActiveBattler].status2 & (STATUS2_ESCAPE_PREVENTION | STATUS2_WRAPPED)) || (gStatuses3[gActiveBattler] & STATUS3_ROOTED)) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CANT_ESCAPE; - return 1; + return BATTLE_RUN_FORBIDDEN; } if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DONT_LEAVE_BIRCH; - return 1; + return BATTLE_RUN_FORBIDDEN; } - return 0; + return BATTLE_RUN_SUCCESS; } void SwitchPartyOrder(u8 battler) @@ -4055,7 +4053,7 @@ void SwitchPartyOrder(u8 battler) u8 partyId2; for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) - gBattlePartyCurrentOrder[i] = *(battler * 3 + i + (u8*)(gBattleStruct->battlerPartyOrders)); + gBattlePartyCurrentOrder[i] = *(battler * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)); partyId1 = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battler]); partyId2 = GetPartyIdFromBattlePartyId(*(gBattleStruct->monToSwitchIntoId + battler)); @@ -4065,15 +4063,15 @@ void SwitchPartyOrder(u8 battler) { for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) { - *(battler * 3 + i + (u8*)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i]; - *(BATTLE_PARTNER(battler) * 3 + i + (u8*)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i]; + *(battler * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i]; + *(BATTLE_PARTNER(battler) * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i]; } } else { for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) { - *(battler * 3 + i + (u8*)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i]; + *(battler * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i]; } } } @@ -4301,7 +4299,7 @@ static void HandleTurnActionSelectionState(void) BattleScriptExecute(BattleScript_PrintCantRunFromTrainer); gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; } - else if (IsRunningFromBattleImpossible() + else if (IsRunningFromBattleImpossible() != BATTLE_RUN_SUCCESS && gBattleBufferB[gActiveBattler][1] == B_ACTION_RUN) { gSelectionBattleScripts[gActiveBattler] = BattleScript_PrintCantEscapeFromBattle; @@ -4434,7 +4432,7 @@ static void HandleTurnActionSelectionState(void) if (((gBattleTypeFlags & BATTLE_TYPE_MULTI) || !(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) || (position & BIT_FLANK) != B_FLANK_LEFT - || (*(&gBattleStruct->absentBattlerFlags) & gBitTable[GetBattlerAtPosition(position ^ BIT_FLANK)])) + || (*(&gBattleStruct->absentBattlerFlags) & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))])) { BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_STOP_BOUNCE, i); } @@ -4543,13 +4541,13 @@ static void UpdateBattlerPartyOrdersOnSwitch(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI) { - *(gActiveBattler * 3 + (u8*)(gBattleStruct->battlerPartyOrders) + 0) &= 0xF; - *(gActiveBattler * 3 + (u8*)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleBufferB[gActiveBattler][2] & 0xF0); - *(gActiveBattler * 3 + (u8*)(gBattleStruct->battlerPartyOrders) + 1) = gBattleBufferB[gActiveBattler][3]; + *(gActiveBattler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) &= 0xF; + *(gActiveBattler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleBufferB[gActiveBattler][2] & 0xF0); + *(gActiveBattler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 1) = gBattleBufferB[gActiveBattler][3]; - *((gActiveBattler ^ BIT_FLANK) * 3 + (u8*)(gBattleStruct->battlerPartyOrders) + 0) &= (0xF0); - *((gActiveBattler ^ BIT_FLANK) * 3 + (u8*)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleBufferB[gActiveBattler][2] & 0xF0) >> 4; - *((gActiveBattler ^ BIT_FLANK) * 3 + (u8*)(gBattleStruct->battlerPartyOrders) + 2) = gBattleBufferB[gActiveBattler][3]; + *((BATTLE_PARTNER(gActiveBattler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) &= (0xF0); + *((BATTLE_PARTNER(gActiveBattler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleBufferB[gActiveBattler][2] & 0xF0) >> 4; + *((BATTLE_PARTNER(gActiveBattler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 2) = gBattleBufferB[gActiveBattler][3]; } } @@ -4831,7 +4829,7 @@ static void TurnValuesCleanUp(bool8 var0) } else { - dataPtr = (u8*)(&gProtectStructs[gActiveBattler]); + dataPtr = (u8 *)(&gProtectStructs[gActiveBattler]); for (i = 0; i < sizeof(struct ProtectStruct); i++) dataPtr[i] = 0; @@ -4859,7 +4857,7 @@ void SpecialStatusesClear(void) for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { s32 i; - u8 *dataPtr = (u8*)(&gSpecialStatuses[gActiveBattler]); + u8 *dataPtr = (u8 *)(&gSpecialStatuses[gActiveBattler]); for (i = 0; i < sizeof(struct SpecialStatus); i++) dataPtr[i] = 0; @@ -5185,7 +5183,7 @@ static void ReturnFromBattleToOverworld(void) PartySpreadPokerus(gPlayerParty); } - if (gBattleTypeFlags & BATTLE_TYPE_LINK && gReceivedRemoteLinkPlayers != 0) + if (gBattleTypeFlags & BATTLE_TYPE_LINK && gReceivedRemoteLinkPlayers) return; gSpecialVar_Result = gBattleOutcome; diff --git a/src/battle_message.c b/src/battle_message.c index 2776c952b0..9a0ba84b4c 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -1010,7 +1010,7 @@ const u16 gStatUpStringIds[] = [B_MSG_STAT_WONT_INCREASE] = STRINGID_STATSWONTINCREASE, [B_MSG_STAT_ROSE_EMPTY] = STRINGID_EMPTYSTRING3, [B_MSG_STAT_ROSE_ITEM] = STRINGID_USINGITEMSTATOFPKMNROSE, - [B_MSG_USED_DIRE_HIT] = STRINGID_PKMNUSEDXTOGETPUMPED, + [B_MSG_USED_DIRE_HIT] = STRINGID_PKMNUSEDXTOGETPUMPED, }; const u16 gStatDownStringIds[] = @@ -1371,7 +1371,7 @@ const u8 gText_OpponentMon1Name[] = _("{B_OPPONENT_MON1_NAME}"); const u8 gText_Mind[] = _("Mind"); const u8 gText_Skill[] = _("Skill"); const u8 gText_Body[] = _("Body"); -const u8 gText_Judgement[] = _("{B_BUFF1}{CLEAR 13}Judgment{CLEAR 13}{B_BUFF2}"); +const u8 gText_Judgment[] = _("{B_BUFF1}{CLEAR 13}Judgment{CLEAR 13}{B_BUFF2}"); static const u8 sText_TwoTrainersSentPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_OPPONENT_MON1_NAME}!\p{B_TRAINER2_CLASS} {B_TRAINER2_NAME} sent\nout {B_OPPONENT_MON2_NAME}!"); static const u8 sText_Trainer2SentOutPkmn[] = _("{B_TRAINER2_CLASS} {B_TRAINER2_NAME} sent\nout {B_BUFF1}!"); static const u8 sText_TwoTrainersWantToBattle[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} and\n{B_TRAINER2_CLASS} {B_TRAINER2_NAME}\lwant to battle!\p"); @@ -2020,7 +2020,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] = .bgColor = TEXT_DYNAMIC_COLOR_5, .shadowColor = TEXT_DYNAMIC_COLOR_6, }, - [ARENA_WIN_JUDGEMENT_TITLE] = { + [ARENA_WIN_JUDGMENT_TITLE] = { .fillValue = PIXEL_FILL(0xE), .fontId = FONT_NORMAL, .x = -1, @@ -2032,7 +2032,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] = .bgColor = TEXT_DYNAMIC_COLOR_5, .shadowColor = TEXT_DYNAMIC_COLOR_6, }, - [ARENA_WIN_JUDGEMENT_TEXT] = { + [ARENA_WIN_JUDGMENT_TEXT] = { .fillValue = PIXEL_FILL(0x1), .fontId = FONT_NORMAL, .x = 0, @@ -2059,11 +2059,11 @@ void BufferStringBattle(u16 stringID) s32 i; const u8 *stringPtr = NULL; - gBattleMsgDataPtr = (struct BattleMsgData*)(&gBattleBufferA[gActiveBattler][4]); + gBattleMsgDataPtr = (struct BattleMsgData *)(&gBattleBufferA[gActiveBattler][4]); gLastUsedItem = gBattleMsgDataPtr->lastItem; gLastUsedAbility = gBattleMsgDataPtr->lastAbility; gBattleScripting.battler = gBattleMsgDataPtr->scrActive; - *(&gBattleStruct->field_52) = gBattleMsgDataPtr->unk1605E; + *(&gBattleStruct->scriptPartyIdx) = gBattleMsgDataPtr->bakScriptPartyIdx; *(&gBattleStruct->hpScale) = gBattleMsgDataPtr->hpScale; gPotentialItemEffectBattler = gBattleMsgDataPtr->itemEffectBattler; *(&gBattleStruct->stringMoveType) = gBattleMsgDataPtr->moveType; @@ -2346,17 +2346,17 @@ void BufferStringBattle(u16 stringID) BattleStringExpandPlaceholdersToDisplayedString(stringPtr); } -u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src) +u32 BattleStringExpandPlaceholdersToDisplayedString(const u8 *src) { BattleStringExpandPlaceholders(src, gDisplayedStringBattle); } -static const u8* TryGetStatusString(u8 *src) +static const u8 *TryGetStatusString(u8 *src) { u32 i; u8 status[8]; u32 chars1, chars2; - u8* statusPtr; + u8 *statusPtr; memcpy(status, sDummyWeirdStatusString, 8); @@ -2369,13 +2369,13 @@ static const u8* TryGetStatusString(u8 *src) statusPtr++; } - chars1 = *(u32*)(&status[0]); - chars2 = *(u32*)(&status[4]); + chars1 = *(u32 *)(&status[0]); + chars2 = *(u32 *)(&status[4]); for (i = 0; i < ARRAY_COUNT(gStatusConditionStringsTable); i++) { - if (chars1 == *(u32*)(&gStatusConditionStringsTable[i][0][0]) - && chars2 == *(u32*)(&gStatusConditionStringsTable[i][0][4])) + if (chars1 == *(u32 *)(&gStatusConditionStringsTable[i][0][0]) + && chars2 == *(u32 *)(&gStatusConditionStringsTable[i][0][4])) return gStatusConditionStringsTable[i][1]; } return NULL; @@ -2713,7 +2713,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) } break; case B_TXT_26: // ? - HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler, *(&gBattleStruct->field_52)) + HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler, *(&gBattleStruct->scriptPartyIdx)) break; case B_TXT_PC_CREATOR_NAME: // lanette pc if (FlagGet(FLAG_SYS_PC_LANETTE)) @@ -2966,7 +2966,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) // unused, since the value loaded into the buffer is not read; it loaded one of // two particles (either "は" or "の") which works in tandem with ChooseTypeOfMoveUsedString // below to effect changes in the meaning of the line. -static void ChooseMoveUsedParticle(u8* textBuff) +static void ChooseMoveUsedParticle(u8 *textBuff) { s32 counter = 0; u32 i = 0; @@ -3006,7 +3006,7 @@ static void ChooseMoveUsedParticle(u8* textBuff) // // sText_ExclamationMark5 was " こうげき!" This resulted in a translation of // "'s attack!". -static void ChooseTypeOfMoveUsedString(u8* dst) +static void ChooseTypeOfMoveUsedString(u8 *dst) { s32 counter = 0; s32 i = 0; @@ -3081,7 +3081,7 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId) printerTemplate.x = printerTemplate.currentX = alignX; } - if (windowId == ARENA_WIN_JUDGEMENT_TEXT) + if (windowId == ARENA_WIN_JUDGMENT_TEXT) gTextFlags.useAlternateDownArrow = FALSE; else gTextFlags.useAlternateDownArrow = TRUE; @@ -3091,7 +3091,7 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId) else gTextFlags.autoScroll = FALSE; - if (windowId == B_WIN_MSG || windowId == ARENA_WIN_JUDGEMENT_TEXT) + if (windowId == B_WIN_MSG || windowId == ARENA_WIN_JUDGMENT_TEXT) { if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)) speed = 1; @@ -3119,7 +3119,7 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId) void SetPpNumbersPaletteInMoveSelection(void) { - struct ChooseMoveStruct *chooseMoveStruct = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); + struct ChooseMoveStruct *chooseMoveStruct = (struct ChooseMoveStruct *)(&gBattleBufferA[gActiveBattler][4]); const u16 *palPtr = gPPTextPalette; u8 var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[gActiveBattler]], chooseMoveStruct->maxPp[gMoveSelectionCursor[gActiveBattler]]); diff --git a/src/battle_pike.c b/src/battle_pike.c index 433dd0a083..4f9af98ea6 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -1084,7 +1084,7 @@ static u8 GetNextRoomType(void) } nextRoomType = roomCandidates[Random() % numRoomCandidates]; - free(roomCandidates); + Free(roomCandidates); if (nextRoomType == PIKE_ROOM_STATUS) TryInflictRandomStatus(); @@ -1251,7 +1251,7 @@ static void Task_DoStatusInflictionScreenFlash(u8 taskId) { if (IsStatusInflictionScreenFlashTaskFinished()) { - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } } @@ -1363,7 +1363,7 @@ static void SetHintedRoom(void) } gSaveBlock2Ptr->frontier.pikeHintedRoomType = roomCandidates[Random() % count]; - free(roomCandidates); + Free(roomCandidates); if (gSaveBlock2Ptr->frontier.pikeHintedRoomType == PIKE_ROOM_STATUS && !AtLeastOneHealthyMon()) gSaveBlock2Ptr->frontier.pikeHintedRoomType = PIKE_ROOM_NPC; if (gSaveBlock2Ptr->frontier.pikeHintedRoomType == PIKE_ROOM_DOUBLE_BATTLE && !AtLeastTwoAliveMons()) diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index a885f1c8ea..cbc1589bd9 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -1480,7 +1480,7 @@ u8 GetTrainerEncounterMusicIdInBattlePyramid(u16 trainerId) // Unused static void BattlePyramidRetireChallenge(void) { - ScriptContext1_SetupScript(BattlePyramid_Retire); + ScriptContext_SetupScript(BattlePyramid_Retire); } static u16 GetUniqueTrainerId(u8 objectEventId) @@ -1568,7 +1568,7 @@ void GenerateBattlePyramidFloorLayout(u16 *backupMapData, bool8 setPlayerPositio } } RunOnLoadMapScript(); - free(floorLayoutOffsets); + Free(floorLayoutOffsets); } void LoadBattlePyramidObjectEventTemplates(void) @@ -1697,7 +1697,7 @@ static void SetPyramidObjectPositionsUniformly(u8 objType) } while (!(bits & 4) && TrySetPyramidObjectEventPositionInSquare(objType, floorLayoutOffsets, squareId, objectStartIndex + i)); bits &= 1; } - free(floorLayoutOffsets); + Free(floorLayoutOffsets); } static bool8 SetPyramidObjectPositionsInAndNearSquare(u8 objType, u8 squareId) @@ -1760,7 +1760,7 @@ static bool8 SetPyramidObjectPositionsInAndNearSquare(u8 objType, u8 squareId) r7 &= 1; } #ifdef BUGFIX - free(floorLayoutOffsets); + Free(floorLayoutOffsets); #endif return (numObjects / 2) > numPlacedObjects; @@ -1814,7 +1814,7 @@ static bool8 SetPyramidObjectPositionsNearSquare(u8 objType, u8 squareId) break; } #ifdef BUGFIX - free(floorLayoutOffsets); + Free(floorLayoutOffsets); #endif return (numObjects / 2) > numPlacedObjects; diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 66b4cd97d1..7a4d981f01 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -309,7 +309,7 @@ static const struct OamData sOamData_PyramidBag = .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -393,7 +393,7 @@ static void OpenBattlePyramidBagInBattle(void) // make room. void ChooseItemsToTossFromPyramidBag(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FadeScreen(FADE_TO_BLACK, 0); CreateTask(Task_ChooseItemsToTossFromPyramidBag, 10); } @@ -1195,7 +1195,7 @@ static void Task_ChooseHowManyToToss(u8 taskId) { // Toss PlaySE(SE_SELECT); - ClearStdWindowAndFrameToTransparent(WIN_TOSS_NUM, 0); + ClearStdWindowAndFrameToTransparent(WIN_TOSS_NUM, FALSE); ClearWindowTilemap(WIN_TOSS_NUM); ScheduleBgCopyTilemapToVram(1); AskConfirmToss(taskId); @@ -1204,7 +1204,7 @@ static void Task_ChooseHowManyToToss(u8 taskId) { // Cancel tossing PlaySE(SE_SELECT); - ClearStdWindowAndFrameToTransparent(WIN_TOSS_NUM, 0); + ClearStdWindowAndFrameToTransparent(WIN_TOSS_NUM, FALSE); ClearWindowTilemap(WIN_TOSS_NUM); ScheduleBgCopyTilemapToVram(1); DontTossItem(taskId); @@ -1404,20 +1404,20 @@ void TryStoreHeldItemsInPyramidBag(void) { u8 i; struct Pokemon *party = gPlayerParty; - u16 *newItems = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); - u8 *newQuantities = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); + u16 *newItems = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(*newItems)); + u8 *newQuantities = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(*newQuantities)); u16 heldItem; - memcpy(newItems, gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode], PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); - memcpy(newQuantities, gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode], PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); + memcpy(newItems, gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode], PYRAMID_BAG_ITEMS_COUNT * sizeof(*newItems)); + memcpy(newQuantities, gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode], PYRAMID_BAG_ITEMS_COUNT * sizeof(*newQuantities)); for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { heldItem = GetMonData(&party[i], MON_DATA_HELD_ITEM); if (heldItem != ITEM_NONE && !AddBagItem(heldItem, 1)) { // Cant store party held items in pyramid bag because bag is full - memcpy(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode], newItems, PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); - memcpy(gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode], newQuantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); + memcpy(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode], newItems, PYRAMID_BAG_ITEMS_COUNT * sizeof(*newItems)); + memcpy(gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode], newQuantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(*newQuantities)); Free(newItems); Free(newQuantities); gSpecialVar_Result = 1; @@ -1464,7 +1464,7 @@ static void PyramidBagPrint_Quantity(u8 windowId, const u8 *src, u8 x, u8 y, u8 static void DrawTossNumberWindow(u8 windowId) { - DrawStdFrameWithCustomTileAndPalette(windowId, 0, 1, 0xE); + DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, 1, 0xE); ScheduleBgCopyTilemapToVram(1); } diff --git a/src/battle_records.c b/src/battle_records.c index f576d5912d..6cab28d21b 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -388,7 +388,7 @@ static void RemoveTrainerHillRecordsWindow(u8 windowId) static void ClearVramOamPlttRegs(void) { - DmaClearLarge16(3, (void*)(VRAM), VRAM_SIZE, 0x1000); + DmaClearLarge16(3, (void *)(VRAM), VRAM_SIZE, 0x1000); DmaClear32(3, OAM, OAM_SIZE); DmaClear16(3, PLTT, PLTT_SIZE); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 4f31f0f01c..fb5a7649a5 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -52,7 +52,7 @@ #include "constants/songs.h" #include "constants/trainers.h" -extern const u8* const gBattleScriptsForMoveEffects[]; +extern const u8 *const gBattleScriptsForMoveEffects[]; #define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattlerTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) @@ -65,7 +65,7 @@ static bool8 IsTwoTurnsMove(u16 move); static void TrySetDestinyBondToHappen(void); static u8 AttacksThisTurn(u8 battlerId, u16 move); // Note: returns 1 if it's a charging turn, otherwise 2. static void CheckWonderGuardAndLevitate(void); -static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8, const u8* BS_ptr); +static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8, const u8 *BS_ptr); static bool32 IsMonGettingExpSentOut(void); static void InitLevelUpBanner(void); static bool8 SlideInLevelUpBanner(void); @@ -74,7 +74,7 @@ static void DrawLevelUpWindow1(void); static void DrawLevelUpWindow2(void); static void PutMonIconOnLvlUpBanner(void); static void DrawLevelUpBannerText(void); -static void SpriteCB_MonIconOnLvlUpBanner(struct Sprite* sprite); +static void SpriteCB_MonIconOnLvlUpBanner(struct Sprite *sprite); static void Cmd_attackcanceler(void); static void Cmd_accuracycheck(void); @@ -196,7 +196,7 @@ static void Cmd_hpthresholds2(void); static void Cmd_useitemonopponent(void); static void Cmd_various(void); static void Cmd_setprotectlike(void); -static void Cmd_faintifabilitynotdamp(void); +static void Cmd_tryexplosion(void); static void Cmd_setatkhptozero(void); static void Cmd_jumpifnexttargetvalid(void); static void Cmd_tryhealhalfhealth(void); @@ -277,7 +277,7 @@ static void Cmd_setsemiinvulnerablebit(void); static void Cmd_clearsemiinvulnerablebit(void); static void Cmd_setminimize(void); static void Cmd_sethail(void); -static void Cmd_jumpifattackandspecialattackcannotfall(void); +static void Cmd_trymemento(void); static void Cmd_setforcedtarget(void); static void Cmd_setcharge(void); static void Cmd_callterrainattack(void); @@ -448,7 +448,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = Cmd_useitemonopponent, //0x75 Cmd_various, //0x76 Cmd_setprotectlike, //0x77 - Cmd_faintifabilitynotdamp, //0x78 + Cmd_tryexplosion, //0x78 Cmd_setatkhptozero, //0x79 Cmd_jumpifnexttargetvalid, //0x7A Cmd_tryhealhalfhealth, //0x7B @@ -529,7 +529,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = Cmd_clearsemiinvulnerablebit, //0xC6 Cmd_setminimize, //0xC7 Cmd_sethail, //0xC8 - Cmd_jumpifattackandspecialattackcannotfall, //0xC9 + Cmd_trymemento, //0xC9 Cmd_setforcedtarget, //0xCA Cmd_setcharge, //0xCB Cmd_callterrainattack, //0xCC @@ -624,7 +624,7 @@ static const u32 sStatusFlagsForMoveEffects[NUM_MOVE_EFFECTS] = [MOVE_EFFECT_THRASH] = STATUS2_LOCK_CONFUSE, }; -static const u8* const sMoveEffectBS_Ptrs[] = +static const u8 *const sMoveEffectBS_Ptrs[] = { [0] = BattleScript_MoveEffectSleep, [MOVE_EFFECT_SLEEP] = BattleScript_MoveEffectSleep, @@ -667,7 +667,8 @@ static const u8* const sMoveEffectBS_Ptrs[] = [MOVE_EFFECT_RECOIL_33] = BattleScript_MoveEffectRecoil, }; -static const struct WindowTemplate sUnusedWinTemplate = { +static const struct WindowTemplate sUnusedWinTemplate = +{ .bg = 0, .tilemapLeft = 1, .tilemapTop = 3, @@ -692,7 +693,7 @@ static const struct OamData sOamData_MonIconOnLvlUpBanner = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -961,7 +962,7 @@ static void Cmd_attackcanceler(void) if (gProtectStructs[gBattlerTarget].bounceMove && gBattleMoves[gCurrentMove].flags & FLAG_MAGIC_COAT_AFFECTED) { PressurePPLose(gBattlerAttacker, gBattlerTarget, MOVE_MAGIC_COAT); - gProtectStructs[gBattlerTarget].bounceMove = 0; + gProtectStructs[gBattlerTarget].bounceMove = FALSE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MagicCoatBounce; return; @@ -972,7 +973,7 @@ static void Cmd_attackcanceler(void) if ((gProtectStructs[gBattlerByTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].flags & FLAG_SNATCH_AFFECTED) { PressurePPLose(gBattlerAttacker, gBattlerByTurnOrder[i], MOVE_SNATCH); - gProtectStructs[gBattlerByTurnOrder[i]].stealMove = 0; + gProtectStructs[gBattlerByTurnOrder[i]].stealMove = FALSE; gBattleScripting.battler = gBattlerByTurnOrder[i]; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SnatchedMove; @@ -982,7 +983,7 @@ static void Cmd_attackcanceler(void) if (gSpecialStatuses[gBattlerTarget].lightningRodRedirected) { - gSpecialStatuses[gBattlerTarget].lightningRodRedirected = 0; + gSpecialStatuses[gBattlerTarget].lightningRodRedirected = FALSE; gLastUsedAbility = ABILITY_LIGHTNING_ROD; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_TookAttack; @@ -1037,7 +1038,7 @@ static void Cmd_jumpifaffectedbyprotect(void) } } -bool8 JumpIfMoveAffectedByProtect(u16 move) +static bool8 JumpIfMoveAffectedByProtect(u16 move) { bool8 affected = FALSE; if (DEFENDER_IS_PROTECTED) @@ -1175,8 +1176,8 @@ static void Cmd_accuracycheck(void) if ((Random() % 100 + 1) > calc) { gMoveResultFlags |= MOVE_RESULT_MISSED; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && - (gBattleMoves[move].target == MOVE_TARGET_BOTH || gBattleMoves[move].target == MOVE_TARGET_FOES_AND_ALLY)) + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE + && (gBattleMoves[move].target == MOVE_TARGET_BOTH || gBattleMoves[move].target == MOVE_TARGET_FOES_AND_ALLY)) gBattleCommunication[MISS_TYPE] = B_MSG_AVOIDED_ATK; else gBattleCommunication[MISS_TYPE] = B_MSG_MISSED; @@ -1190,7 +1191,8 @@ static void Cmd_accuracycheck(void) static void Cmd_attackstring(void) { if (gBattleControllerExecFlags) - return; + return; + if (!(gHitMarker & (HITMARKER_NO_ATTACKSTRING | HITMARKER_ATTACKSTRING_PRINTED))) { PrepareStringBattle(STRINGID_USEDMOVE, gBattlerAttacker); @@ -1496,7 +1498,8 @@ static void CheckWonderGuardAndLevitate(void) } } -static void ModulateDmgByType2(u8 multiplier, u16 move, u8* flags) // same as ModulateDmgByType except different arguments +// Same as ModulateDmgByType except different arguments +static void ModulateDmgByType2(u8 multiplier, u16 move, u8 *flags) { gBattleMoveDamage = gBattleMoveDamage * multiplier / 10; if (gBattleMoveDamage == 0 && multiplier != 0) @@ -1694,7 +1697,8 @@ static void Cmd_adjustnormaldamage(void) gBattlescriptCurrInstr++; } -static void Cmd_adjustnormaldamage2(void) // The same as adjustnormaldamage except it doesn't check for false swipe move effect. +// The same as adjustnormaldamage except it doesn't check for false swipe move effect. +static void Cmd_adjustnormaldamage2(void) { u8 holdEffect, param; @@ -1751,8 +1755,8 @@ static void Cmd_attackanimation(void) else { if ((gBattleMoves[gCurrentMove].target & MOVE_TARGET_BOTH - || gBattleMoves[gCurrentMove].target & MOVE_TARGET_FOES_AND_ALLY - || gBattleMoves[gCurrentMove].target & MOVE_TARGET_DEPENDS) + || gBattleMoves[gCurrentMove].target & MOVE_TARGET_FOES_AND_ALLY + || gBattleMoves[gCurrentMove].target & MOVE_TARGET_DEPENDS) && gBattleScripting.animTargetsHit) { gBattlescriptCurrInstr++; @@ -1777,8 +1781,8 @@ static void Cmd_attackanimation(void) multihit = gMultiHitCounter; BtlController_EmitMoveAnimation(BUFFER_A, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker], multihit); - gBattleScripting.animTurn += 1; - gBattleScripting.animTargetsHit += 1; + gBattleScripting.animTurn++; + gBattleScripting.animTargetsHit++; MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr++; } @@ -2154,7 +2158,7 @@ static void Cmd_printfromtable(void) { if (gBattleControllerExecFlags == 0) { - const u16 *ptr = (const u16*) T1_READ_PTR(gBattlescriptCurrInstr + 1); + const u16 *ptr = (const u16 *) T1_READ_PTR(gBattlescriptCurrInstr + 1); ptr += gBattleCommunication[MULTISTRING_CHOOSER]; PrepareStringBattle(*ptr, gBattlerAttacker); @@ -2168,7 +2172,7 @@ static void Cmd_printselectionstringfromtable(void) { if (gBattleControllerExecFlags == 0) { - const u16 *ptr = (const u16*) T1_READ_PTR(gBattlescriptCurrInstr + 1); + const u16 *ptr = (const u16 *) T1_READ_PTR(gBattlescriptCurrInstr + 1); ptr += gBattleCommunication[MULTISTRING_CHOOSER]; gActiveBattler = gBattlerAttacker; @@ -2355,7 +2359,7 @@ void SetMoveEffect(bool8 primary, u8 certain) break; if (gBattleMons[gEffectBattler].status1) break; - if (noSunCanFreeze == 0) + if (noSunCanFreeze == FALSE) break; if (gBattleMons[gEffectBattler].ability == ABILITY_MAGMA_ARMOR) break; @@ -2474,7 +2478,7 @@ void SetMoveEffect(bool8 primary, u8 certain) || gBattleCommunication[MOVE_EFFECT_BYTE] == MOVE_EFFECT_PARALYSIS || gBattleCommunication[MOVE_EFFECT_BYTE] == MOVE_EFFECT_BURN) { - u8* synchronizeEffect = &gBattleStruct->synchronizeMoveEffect; + u8 *synchronizeEffect = &gBattleStruct->synchronizeMoveEffect; *synchronizeEffect = gBattleCommunication[MOVE_EFFECT_BYTE]; gHitMarker |= HITMARKER_SYNCHRONISE_EFFECT; } @@ -2537,7 +2541,6 @@ void SetMoveEffect(bool8 primary, u8 certain) case MOVE_EFFECT_UPROAR: if (!(gBattleMons[gEffectBattler].status2 & STATUS2_UPROAR)) { - gBattleMons[gEffectBattler].status2 |= STATUS2_MULTIPLETURNS; gLockedMoves[gEffectBattler] = gCurrentMove; gBattleMons[gEffectBattler].status2 |= STATUS2_UPROAR_TURN((Random() & 3) + 2); // 2-5 turns @@ -2553,9 +2556,9 @@ void SetMoveEffect(bool8 primary, u8 certain) case MOVE_EFFECT_PAYDAY: if (GET_BATTLER_SIDE(gBattlerAttacker) == B_SIDE_PLAYER) { - u16 PayDay = gPaydayMoney; + u16 payday = gPaydayMoney; gPaydayMoney += (gBattleMons[gBattlerAttacker].level * 5); - if (PayDay > gPaydayMoney) + if (payday > gPaydayMoney) gPaydayMoney = 0xFFFF; } BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -2641,7 +2644,7 @@ void SetMoveEffect(bool8 primary, u8 certain) case MOVE_EFFECT_EVS_MINUS_1: if (ChangeStatBuffs(SET_STAT_BUFF_VALUE(1) | STAT_BUFF_NEGATIVE, gBattleCommunication[MOVE_EFFECT_BYTE] - MOVE_EFFECT_ATK_MINUS_1 + 1, - affectsUser, 0)) + affectsUser, 0)) { gBattlescriptCurrInstr++; } @@ -2716,20 +2719,20 @@ void SetMoveEffect(bool8 primary, u8 certain) side = GetBattlerSide(gBattlerAttacker); if (GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT && !(gBattleTypeFlags & - (BATTLE_TYPE_EREADER_TRAINER - | BATTLE_TYPE_FRONTIER - | BATTLE_TYPE_LINK - | BATTLE_TYPE_RECORDED_LINK - | BATTLE_TYPE_SECRET_BASE))) + (BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_FRONTIER + | BATTLE_TYPE_LINK + | BATTLE_TYPE_RECORDED_LINK + | BATTLE_TYPE_SECRET_BASE))) { gBattlescriptCurrInstr++; } else if (!(gBattleTypeFlags & - (BATTLE_TYPE_EREADER_TRAINER - | BATTLE_TYPE_FRONTIER - | BATTLE_TYPE_LINK - | BATTLE_TYPE_RECORDED_LINK - | BATTLE_TYPE_SECRET_BASE)) + (BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_FRONTIER + | BATTLE_TYPE_LINK + | BATTLE_TYPE_RECORDED_LINK + | BATTLE_TYPE_SECRET_BASE)) && (gWishFutureKnock.knockedOffMons[side] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]])) { gBattlescriptCurrInstr++; @@ -2743,18 +2746,18 @@ void SetMoveEffect(bool8 primary, u8 certain) gLastUsedAbility = gBattleMons[gBattlerTarget].ability; RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } - else if (gBattleMons[gBattlerAttacker].item != 0 + else if (gBattleMons[gBattlerAttacker].item != ITEM_NONE || gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY || IS_ITEM_MAIL(gBattleMons[gBattlerTarget].item) - || gBattleMons[gBattlerTarget].item == 0) + || gBattleMons[gBattlerTarget].item == ITEM_NONE) { gBattlescriptCurrInstr++; } else { - u16* changedItem = &gBattleStruct->changedItems[gBattlerAttacker]; + u16 *changedItem = &gBattleStruct->changedItems[gBattlerAttacker]; gLastUsedItem = *changedItem = gBattleMons[gBattlerTarget].item; - gBattleMons[gBattlerTarget].item = 0; + gBattleMons[gBattlerTarget].item = ITEM_NONE; gActiveBattler = gBattlerAttacker; BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); @@ -2767,10 +2770,9 @@ void SetMoveEffect(bool8 primary, u8 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_ItemSteal; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattlerTarget]) + 0) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattlerTarget]) + 1) = 0; + *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gBattlerTarget]) + 0) = 0; + *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gBattlerTarget]) + 1) = 0; } - } break; case MOVE_EFFECT_PREVENT_ESCAPE: @@ -2834,7 +2836,7 @@ void SetMoveEffect(bool8 primary, u8 certain) case MOVE_EFFECT_KNOCK_OFF: if (gBattleMons[gEffectBattler].ability == ABILITY_STICKY_HOLD) { - if (gBattleMons[gEffectBattler].item == 0) + if (gBattleMons[gEffectBattler].item == ITEM_NONE) { gBattlescriptCurrInstr++; } @@ -2851,14 +2853,14 @@ void SetMoveEffect(bool8 primary, u8 certain) side = GetBattlerSide(gEffectBattler); gLastUsedItem = gBattleMons[gEffectBattler].item; - gBattleMons[gEffectBattler].item = 0; + gBattleMons[gEffectBattler].item = ITEM_NONE; gWishFutureKnock.knockedOffMons[side] |= gBitTable[gBattlerPartyIndexes[gEffectBattler]]; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_KnockedOff; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gEffectBattler]) + 0) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gEffectBattler]) + 1) = 0; + *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gEffectBattler]) + 0) = 0; + *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gEffectBattler]) + 1) = 0; } else { @@ -3053,9 +3055,9 @@ static void Cmd_jumpifstatus(void) { u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2); - const u8* jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 6); + const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 6); - if (gBattleMons[battlerId].status1 & flags && gBattleMons[battlerId].hp) + if (gBattleMons[battlerId].status1 & flags && gBattleMons[battlerId].hp != 0) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 10; @@ -3065,9 +3067,9 @@ static void Cmd_jumpifstatus2(void) { u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2); - const u8* jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 6); + const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 6); - if (gBattleMons[battlerId].status2 & flags && gBattleMons[battlerId].hp) + if (gBattleMons[battlerId].status2 & flags && gBattleMons[battlerId].hp != 0) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 10; @@ -3077,7 +3079,7 @@ static void Cmd_jumpifability(void) { u8 battlerId; u8 ability = gBattlescriptCurrInstr[2]; - const u8* jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 3); + const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 3); if (gBattlescriptCurrInstr[1] == BS_ATTACKER_SIDE) { @@ -3124,7 +3126,7 @@ static void Cmd_jumpifsideaffecting(void) { u8 side; u16 flags; - const u8* jumpPtr; + const u8 *jumpPtr; if (gBattlescriptCurrInstr[1] == BS_ATTACKER) side = GET_BATTLER_SIDE(gBattlerAttacker); @@ -3209,7 +3211,7 @@ static void Cmd_jumpiftype(void) { u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u8 type = gBattlescriptCurrInstr[2]; - const u8* jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 3); + const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 3); if (IS_BATTLER_OF_TYPE(battlerId, type)) gBattlescriptCurrInstr = jumpPtr; @@ -3322,7 +3324,7 @@ static void Cmd_getexp(void) else { // music change in wild battle after fainting a poke - if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gBattleMons[0].hp && !gBattleStruct->wildVictorySong) + if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gBattleMons[0].hp != 0 && !gBattleStruct->wildVictorySong) { BattleStopLowHpSound(); PlayBGM(MUS_VICTORY_WILD); @@ -3488,8 +3490,8 @@ static void Cmd_getexp(void) if (gBattleControllerExecFlags == 0) { // not sure why gf clears the item and ability here - gBattleMons[gBattlerFainted].item = 0; - gBattleMons[gBattlerFainted].ability = 0; + gBattleMons[gBattlerFainted].item = ITEM_NONE; + gBattleMons[gBattlerFainted].ability = ABILITY_NONE; gBattlescriptCurrInstr += 2; } break; @@ -3625,9 +3627,9 @@ static void Cmd_goto(void) static void Cmd_jumpifbyte(void) { u8 caseID = gBattlescriptCurrInstr[1]; - const u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 2); + const u8 *memByte = T2_READ_PTR(gBattlescriptCurrInstr + 2); u8 value = gBattlescriptCurrInstr[6]; - const u8* jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 7); + const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 7); gBattlescriptCurrInstr += 11; @@ -3663,9 +3665,9 @@ static void Cmd_jumpifbyte(void) static void Cmd_jumpifhalfword(void) { u8 caseID = gBattlescriptCurrInstr[1]; - const u16* memHword = T2_READ_PTR(gBattlescriptCurrInstr + 2); + const u16 *memHword = T2_READ_PTR(gBattlescriptCurrInstr + 2); u16 value = T2_READ_16(gBattlescriptCurrInstr + 6); - const u8* jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 8); + const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 8); gBattlescriptCurrInstr += 12; @@ -3701,9 +3703,9 @@ static void Cmd_jumpifhalfword(void) static void Cmd_jumpifword(void) { u8 caseID = gBattlescriptCurrInstr[1]; - const u32* memWord = T2_READ_PTR(gBattlescriptCurrInstr + 2); + const u32 *memWord = T2_READ_PTR(gBattlescriptCurrInstr + 2); u32 value = T1_READ_32(gBattlescriptCurrInstr + 6); - const u8* jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 10); + const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 10); gBattlescriptCurrInstr += 14; @@ -3738,10 +3740,10 @@ static void Cmd_jumpifword(void) static void Cmd_jumpifarrayequal(void) { - const u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); - const u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); + const u8 *mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); + const u8 *mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); u32 size = gBattlescriptCurrInstr[9]; - const u8* jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 10); + const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 10); u8 i; for (i = 0; i < size; i++) @@ -3761,10 +3763,10 @@ static void Cmd_jumpifarrayequal(void) static void Cmd_jumpifarraynotequal(void) { u8 equalBytes = 0; - const u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); - const u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); + const u8 *mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); + const u8 *mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); u32 size = gBattlescriptCurrInstr[9]; - const u8* jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 10); + const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 10); u8 i; for (i = 0; i < size; i++) @@ -3782,7 +3784,7 @@ static void Cmd_jumpifarraynotequal(void) static void Cmd_setbyte(void) { - u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8 *memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); *memByte = gBattlescriptCurrInstr[5]; gBattlescriptCurrInstr += 6; @@ -3790,22 +3792,22 @@ static void Cmd_setbyte(void) static void Cmd_addbyte(void) { - u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8 *memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); *memByte += gBattlescriptCurrInstr[5]; gBattlescriptCurrInstr += 6; } static void Cmd_subbyte(void) { - u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8 *memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); *memByte -= gBattlescriptCurrInstr[5]; gBattlescriptCurrInstr += 6; } static void Cmd_copyarray(void) { - u8* dest = T2_READ_PTR(gBattlescriptCurrInstr + 1); - const u8* src = T2_READ_PTR(gBattlescriptCurrInstr + 5); + u8 *dest = T2_READ_PTR(gBattlescriptCurrInstr + 1); + const u8 *src = T2_READ_PTR(gBattlescriptCurrInstr + 5); s32 size = gBattlescriptCurrInstr[9]; s32 i; @@ -3817,9 +3819,9 @@ static void Cmd_copyarray(void) static void Cmd_copyarraywithindex(void) { - u8* dest = T2_READ_PTR(gBattlescriptCurrInstr + 1); - const u8* src = T2_READ_PTR(gBattlescriptCurrInstr + 5); - const u8* index = T2_READ_PTR(gBattlescriptCurrInstr + 9); + u8 *dest = T2_READ_PTR(gBattlescriptCurrInstr + 1); + const u8 *src = T2_READ_PTR(gBattlescriptCurrInstr + 5); + const u8 *index = T2_READ_PTR(gBattlescriptCurrInstr + 9); s32 size = gBattlescriptCurrInstr[13]; s32 i; @@ -3831,14 +3833,14 @@ static void Cmd_copyarraywithindex(void) static void Cmd_orbyte(void) { - u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8 *memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); *memByte |= gBattlescriptCurrInstr[5]; gBattlescriptCurrInstr += 6; } static void Cmd_orhalfword(void) { - u16* memHword = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u16 *memHword = T2_READ_PTR(gBattlescriptCurrInstr + 1); u16 val = T2_READ_16(gBattlescriptCurrInstr + 5); *memHword |= val; @@ -3847,7 +3849,7 @@ static void Cmd_orhalfword(void) static void Cmd_orword(void) { - u32* memWord = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u32 *memWord = T2_READ_PTR(gBattlescriptCurrInstr + 1); u32 val = T2_READ_32(gBattlescriptCurrInstr + 5); *memWord |= val; @@ -3856,14 +3858,14 @@ static void Cmd_orword(void) static void Cmd_bicbyte(void) { - u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8 *memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); *memByte &= ~(gBattlescriptCurrInstr[5]); gBattlescriptCurrInstr += 6; } static void Cmd_bichalfword(void) { - u16* memHword = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u16 *memHword = T2_READ_PTR(gBattlescriptCurrInstr + 1); u16 val = T2_READ_16(gBattlescriptCurrInstr + 5); *memHword &= ~val; @@ -3872,7 +3874,7 @@ static void Cmd_bichalfword(void) static void Cmd_bicword(void) { - u32* memWord = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u32 *memWord = T2_READ_PTR(gBattlescriptCurrInstr + 1); u32 val = T2_READ_32(gBattlescriptCurrInstr + 5); *memWord &= ~val; @@ -3931,7 +3933,8 @@ static void Cmd_end2(void) gCurrentActionFuncId = B_ACTION_TRY_FINISH; } -static void Cmd_end3(void) // pops the main function stack +// Pops the main function stack +static void Cmd_end3(void) { BattleScriptPop(); if (gBattleResources->battleCallbackStack->size != 0) @@ -3970,7 +3973,7 @@ static void Cmd_endselectionscript(void) static void Cmd_playanimation(void) { - const u16* argumentPtr; + const u16 *argumentPtr; gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); argumentPtr = T2_READ_PTR(gBattlescriptCurrInstr + 3); @@ -4012,8 +4015,8 @@ static void Cmd_playanimation(void) // Same as playanimation, except it takes a pointer to some animation id, instead of taking the value directly static void Cmd_playanimation_var(void) { - const u16* argumentPtr; - const u8* animationIdPtr; + const u16 *argumentPtr; + const u8 *animationIdPtr; gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); animationIdPtr = T2_READ_PTR(gBattlescriptCurrInstr + 2); @@ -4184,8 +4187,8 @@ static void Cmd_moveend(void) u8 endMode, endState; u16 originallyUsedMove; - if (gChosenMove == 0xFFFF) - originallyUsedMove = 0; + if (gChosenMove == MOVE_UNAVAILABLE) + originallyUsedMove = MOVE_NONE; else originallyUsedMove = gChosenMove; @@ -4206,10 +4209,13 @@ static void Cmd_moveend(void) { case MOVEEND_RAGE: // rage check if (gBattleMons[gBattlerTarget].status2 & STATUS2_RAGE - && gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget + && gBattleMons[gBattlerTarget].hp != 0 + && gBattlerAttacker != gBattlerTarget && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget) - && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && TARGET_TURN_DAMAGED - && gBattleMoves[gCurrentMove].power && gBattleMons[gBattlerTarget].statStages[STAT_ATK] < MAX_STAT_STAGE) + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && TARGET_TURN_DAMAGED + && gBattleMoves[gCurrentMove].power != 0 + && gBattleMons[gBattlerTarget].statStages[STAT_ATK] < MAX_STAT_STAGE) { gBattleMons[gBattlerTarget].statStages[STAT_ATK]++; BattleScriptPushCursor(); @@ -4220,9 +4226,11 @@ static void Cmd_moveend(void) break; case MOVEEND_DEFROST: // defrosting check if (gBattleMons[gBattlerTarget].status1 & STATUS1_FREEZE - && gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget + && gBattleMons[gBattlerTarget].hp != 0 + && gBattlerAttacker != gBattlerTarget && gSpecialStatuses[gBattlerTarget].specialDmg - && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && moveType == TYPE_FIRE) + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && moveType == TYPE_FIRE) { gBattleMons[gBattlerTarget].status1 &= ~STATUS1_FREEZE; gActiveBattler = gBattlerTarget; @@ -4239,7 +4247,7 @@ static void Cmd_moveend(void) effect = TRUE; gBattleScripting.moveendState++; break; - case MOVEEND_ON_DAMAGE_ABILITIES: // Contact abilities and Color Change + case MOVEEND_ON_DAMAGE_ABILITIES: // Such as abilities activating on contact (Effect Spore, Rough Skin, etc.). if (AbilityBattleEffects(ABILITYEFFECT_ON_DAMAGE, gBattlerTarget, 0, 0, 0)) effect = TRUE; gBattleScripting.moveendState++; @@ -4259,32 +4267,32 @@ static void Cmd_moveend(void) if (gHitMarker & HITMARKER_OBEYS && holdEffectAtk == HOLD_EFFECT_CHOICE_BAND && gChosenMove != MOVE_STRUGGLE - && (*choicedMoveAtk == 0 || *choicedMoveAtk == 0xFFFF)) + && (*choicedMoveAtk == MOVE_NONE || *choicedMoveAtk == MOVE_UNAVAILABLE)) { if (gChosenMove == MOVE_BATON_PASS && !(gMoveResultFlags & MOVE_RESULT_FAILED)) { - ++gBattleScripting.moveendState; + gBattleScripting.moveendState++; break; } *choicedMoveAtk = gChosenMove; } - for (i = 0; i < MAX_MON_MOVES; ++i) + for (i = 0; i < MAX_MON_MOVES; i++) { if (gBattleMons[gBattlerAttacker].moves[i] == *choicedMoveAtk) break; } if (i == MAX_MON_MOVES) - *choicedMoveAtk = 0; - ++gBattleScripting.moveendState; + *choicedMoveAtk = MOVE_NONE; + gBattleScripting.moveendState++; break; case MOVEEND_CHANGED_ITEMS: // changed held items for (i = 0; i < gBattlersCount; i++) { - u16* changedItem = &gBattleStruct->changedItems[i]; - if (*changedItem != 0) + u16 *changedItem = &gBattleStruct->changedItems[i]; + if (*changedItem != ITEM_NONE) { gBattleMons[i].item = *changedItem; - *changedItem = 0; + *changedItem = ITEM_NONE; } } gBattleScripting.moveendState++; @@ -4371,8 +4379,8 @@ static void Cmd_moveend(void) } else { - gLastMoves[gBattlerAttacker] = 0xFFFF; - gLastResultingMoves[gBattlerAttacker] = 0xFFFF; + gLastMoves[gBattlerAttacker] = MOVE_UNAVAILABLE; + gLastResultingMoves[gBattlerAttacker] = MOVE_UNAVAILABLE; } if (!(gHitMarker & HITMARKER_FAINTED(gBattlerTarget))) @@ -4380,7 +4388,7 @@ static void Cmd_moveend(void) if (gHitMarker & HITMARKER_OBEYS && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - if (gChosenMove == 0xFFFF) + if (gChosenMove == MOVE_UNAVAILABLE) { gLastLandedMoves[gBattlerTarget] = gChosenMove; } @@ -4392,15 +4400,18 @@ static void Cmd_moveend(void) } else { - gLastLandedMoves[gBattlerTarget] = 0xFFFF; + gLastLandedMoves[gBattlerTarget] = MOVE_UNAVAILABLE; } } gBattleScripting.moveendState++; break; case MOVEEND_MIRROR_MOVE: // mirror move - if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) && !(gBattleStruct->absentBattlerFlags & gBitTable[gBattlerAttacker]) - && gBattleMoves[originallyUsedMove].flags & FLAG_MIRROR_MOVE_AFFECTED && gHitMarker & HITMARKER_OBEYS - && gBattlerAttacker != gBattlerTarget && !(gHitMarker & HITMARKER_FAINTED(gBattlerTarget)) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) + && !(gBattleStruct->absentBattlerFlags & gBitTable[gBattlerAttacker]) + && gBattleMoves[originallyUsedMove].flags & FLAG_MIRROR_MOVE_AFFECTED + && gHitMarker & HITMARKER_OBEYS + && gBattlerAttacker != gBattlerTarget + && !(gHitMarker & HITMARKER_FAINTED(gBattlerTarget)) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { u8 target, attacker; @@ -4410,11 +4421,11 @@ static void Cmd_moveend(void) target = gBattlerTarget; attacker = gBattlerAttacker; - *(attacker * 2 + target * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) = gChosenMove; + *(attacker * 2 + target * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 0) = gChosenMove; target = gBattlerTarget; attacker = gBattlerAttacker; - *(attacker * 2 + target * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = gChosenMove >> 8; + *(attacker * 2 + target * 8 + (u8 *)(gBattleStruct->lastTakenMoveFrom) + 1) = gChosenMove >> 8; } gBattleScripting.moveendState++; break; @@ -4588,7 +4599,7 @@ static void Cmd_switchindataupdate(void) gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); oldData = gBattleMons[gActiveBattler]; - monData = (u8*)(&gBattleMons[gActiveBattler]); + monData = (u8 *)(&gBattleMons[gActiveBattler]); for (i = 0; i < sizeof(struct BattlePokemon); i++) monData[i] = gBattleBufferB[gActiveBattler][4 + i]; @@ -4601,7 +4612,7 @@ static void Cmd_switchindataupdate(void) i = GetBattlerSide(gActiveBattler); if (gWishFutureKnock.knockedOffMons[i] & gBitTable[gBattlerPartyIndexes[gActiveBattler]]) { - gBattleMons[gActiveBattler].item = 0; + gBattleMons[gActiveBattler].item = ITEM_NONE; } if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) @@ -4643,7 +4654,7 @@ static void Cmd_switchinanim(void) | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_FRONTIER))) - HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); + HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]); @@ -5076,7 +5087,7 @@ static void Cmd_openpartyscreen(void) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - BtlController_EmitChoosePokemon(BUFFER_A, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + (gActiveBattler ^ 2)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BUFFER_A, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 6; @@ -5097,7 +5108,7 @@ static void Cmd_openpartyscreen(void) } else { - gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(battlerId) ^ BIT_SIDE); + gActiveBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battlerId))); if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) gActiveBattler ^= BIT_FLANK; @@ -5149,13 +5160,13 @@ static void Cmd_switchhandleorder(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI) { - *(gActiveBattler * 3 + (u8*)(gBattleStruct->battlerPartyOrders) + 0) &= 0xF; - *(gActiveBattler * 3 + (u8*)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleBufferB[gActiveBattler][2] & 0xF0); - *(gActiveBattler * 3 + (u8*)(gBattleStruct->battlerPartyOrders) + 1) = gBattleBufferB[gActiveBattler][3]; + *(gActiveBattler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) &= 0xF; + *(gActiveBattler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleBufferB[gActiveBattler][2] & 0xF0); + *(gActiveBattler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 1) = gBattleBufferB[gActiveBattler][3]; - *((gActiveBattler ^ BIT_FLANK) * 3 + (u8*)(gBattleStruct->battlerPartyOrders) + 0) &= (0xF0); - *((gActiveBattler ^ BIT_FLANK) * 3 + (u8*)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleBufferB[gActiveBattler][2] & 0xF0) >> 4; - *((gActiveBattler ^ BIT_FLANK) * 3 + (u8*)(gBattleStruct->battlerPartyOrders) + 2) = gBattleBufferB[gActiveBattler][3]; + *((BATTLE_PARTNER(gActiveBattler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) &= (0xF0); + *((BATTLE_PARTNER(gActiveBattler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleBufferB[gActiveBattler][2] & 0xF0) >> 4; + *((BATTLE_PARTNER(gActiveBattler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 2) = gBattleBufferB[gActiveBattler][3]; } else if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { @@ -5215,7 +5226,7 @@ static void Cmd_switchineffects(void) else { // There is a hack here to ensure the truant counter will be 0 when the battler's next turn starts. - // The truant counter is not updated in the case where a mon switches in after a lost judgement in the battle arena. + // The truant counter is not updated in the case where a mon switches in after a lost judgment in the battle arena. if (gBattleMons[gActiveBattler].ability == ABILITY_TRUANT && !gDisableStructs[gActiveBattler].truantSwitchInHack) gDisableStructs[gActiveBattler].truantCounter = 1; @@ -5234,7 +5245,7 @@ static void Cmd_switchineffects(void) for (i = 0; i < gBattlersCount; i++) { - u16* hpOnSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(i)]; + u16 *hpOnSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(i)]; *hpOnSwitchout = gBattleMons[i].hp; } @@ -5243,7 +5254,7 @@ static void Cmd_switchineffects(void) u32 hitmarkerFaintBits = gHitMarker >> 28; gBattlerFainted++; - while (1) + while (TRUE) { if (hitmarkerFaintBits & gBitTable[gBattlerFainted] && !(gAbsentBattlerFlags & gBitTable[gBattlerFainted])) break; @@ -5358,7 +5369,7 @@ static void Cmd_yesnoboxlearnmove(void) switch (gBattleScripting.learnMoveState) { case 0: - HandleBattleWindow(24, 8, 29, 13, 0); + HandleBattleWindow(YESNOBOX_X_Y, 0); BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gBattleScripting.learnMoveState++; gBattleCommunication[CURSOR_POSITION] = 0; @@ -5384,7 +5395,7 @@ static void Cmd_yesnoboxlearnmove(void) PlaySE(SE_SELECT); if (gBattleCommunication[1] == 0) { - HandleBattleWindow(24, 8, 29, 13, WINDOW_CLEAR); + HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); gBattleScripting.learnMoveState++; } @@ -5455,7 +5466,7 @@ static void Cmd_yesnoboxlearnmove(void) } break; case 5: - HandleBattleWindow(24, 8, 29, 13, WINDOW_CLEAR); + HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); gBattlescriptCurrInstr += 5; break; case 6: @@ -5472,7 +5483,7 @@ static void Cmd_yesnoboxstoplearningmove(void) switch (gBattleScripting.learnMoveState) { case 0: - HandleBattleWindow(24, 8, 29, 13, 0); + HandleBattleWindow(YESNOBOX_X_Y, 0); BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gBattleScripting.learnMoveState++; gBattleCommunication[CURSOR_POSITION] = 0; @@ -5502,13 +5513,13 @@ static void Cmd_yesnoboxstoplearningmove(void) else gBattlescriptCurrInstr += 5; - HandleBattleWindow(24, 8, 29, 13, WINDOW_CLEAR); + HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); } else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); - HandleBattleWindow(24, 8, 29, 13, WINDOW_CLEAR); + HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); } break; } @@ -5619,7 +5630,7 @@ static void Cmd_updatebattlermoves(void) if (gBattleControllerExecFlags == 0) { s32 i; - struct BattlePokemon *bufferPoke = (struct BattlePokemon*) &gBattleBufferB[gActiveBattler][4]; + struct BattlePokemon *bufferPoke = (struct BattlePokemon *) &gBattleBufferB[gActiveBattler][4]; for (i = 0; i < MAX_MON_MOVES; i++) { gBattleMons[gActiveBattler].moves[i] = bufferPoke->moves[i]; @@ -5768,7 +5779,7 @@ static void Cmd_yesnobox(void) switch (gBattleCommunication[0]) { case 0: - HandleBattleWindow(24, 8, 29, 13, 0); + HandleBattleWindow(YESNOBOX_X_Y, 0); BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gBattleCommunication[0]++; gBattleCommunication[CURSOR_POSITION] = 0; @@ -5793,13 +5804,13 @@ static void Cmd_yesnobox(void) { gBattleCommunication[CURSOR_POSITION] = 1; PlaySE(SE_SELECT); - HandleBattleWindow(24, 8, 29, 13, WINDOW_CLEAR); + HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); gBattlescriptCurrInstr++; } else if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - HandleBattleWindow(24, 8, 29, 13, WINDOW_CLEAR); + HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); gBattlescriptCurrInstr++; } break; @@ -5816,7 +5827,8 @@ static void Cmd_cancelallactions(void) gBattlescriptCurrInstr++; } -static void Cmd_adjustsetdamage(void) // The same as adjustnormaldamage, except there's no random damage multiplier. +// The same as adjustnormaldamage, except there's no random damage multiplier. +static void Cmd_adjustsetdamage(void) { u8 holdEffect, param; @@ -5858,13 +5870,13 @@ static void Cmd_adjustsetdamage(void) // The same as adjustnormaldamage, except static void Cmd_removeitem(void) { - u16* usedHeldItem; + u16 *usedHeldItem; gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); usedHeldItem = &gBattleStruct->usedHeldItems[gActiveBattler]; *usedHeldItem = gBattleMons[gActiveBattler].item; - gBattleMons[gActiveBattler].item = 0; + gBattleMons[gActiveBattler].item = ITEM_NONE; BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); MarkBattlerForControllerExec(gActiveBattler); @@ -6107,14 +6119,14 @@ static bool8 SlideOutLevelUpBanner(void) static void PutMonIconOnLvlUpBanner(void) { u8 spriteId; - const u16* iconPal; + const u16 *iconPal; struct SpriteSheet iconSheet; struct SpritePalette iconPalSheet; u16 species = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPECIES); u32 personality = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_PERSONALITY); - const u8* iconPtr = GetMonIconPtr(species, personality, 1); + const u8 *iconPtr = GetMonIconPtr(species, personality, 1); iconSheet.data = iconPtr; iconSheet.size = 0x200; iconSheet.tag = TAG_LVLUP_BANNER_MON_ICON; @@ -6131,7 +6143,7 @@ static void PutMonIconOnLvlUpBanner(void) gSprites[spriteId].sXOffset = gBattle_BG2_X; } -static void SpriteCB_MonIconOnLvlUpBanner(struct Sprite* sprite) +static void SpriteCB_MonIconOnLvlUpBanner(struct Sprite *sprite) { sprite->x2 = sprite->sXOffset - gBattle_BG2_X; @@ -6215,19 +6227,19 @@ static void Cmd_jumpifplayerran(void) static void Cmd_hpthresholds(void) { - u8 opposingBank; + u8 opposingBattler; s32 result; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - opposingBank = gActiveBattler ^ BIT_SIDE; + opposingBattler = BATTLE_OPPOSITE(gActiveBattler); - result = gBattleMons[opposingBank].hp * 100 / gBattleMons[opposingBank].maxHP; + result = gBattleMons[opposingBattler].hp * 100 / gBattleMons[opposingBattler].maxHP; if (result == 0) result = 1; - if (result > 69 || !gBattleMons[opposingBank].hp) + if (result > 69 || gBattleMons[opposingBattler].hp == 0) gBattleStruct->hpScale = 0; else if (result > 39) gBattleStruct->hpScale = 1; @@ -6242,18 +6254,18 @@ static void Cmd_hpthresholds(void) static void Cmd_hpthresholds2(void) { - u8 opposingBank; + u8 opposingBattler; s32 result; u8 hpSwitchout; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - opposingBank = gActiveBattler ^ BIT_SIDE; - hpSwitchout = *(gBattleStruct->hpOnSwitchout + GetBattlerSide(opposingBank)); - result = (hpSwitchout - gBattleMons[opposingBank].hp) * 100 / hpSwitchout; + opposingBattler = BATTLE_OPPOSITE(gActiveBattler); + hpSwitchout = *(gBattleStruct->hpOnSwitchout + GetBattlerSide(opposingBattler)); + result = (hpSwitchout - gBattleMons[opposingBattler].hp) * 100 / hpSwitchout; - if (gBattleMons[opposingBank].hp >= hpSwitchout) + if (gBattleMons[opposingBattler].hp >= hpSwitchout) gBattleStruct->hpScale = 0; else if (result <= 29) gBattleStruct->hpScale = 1; @@ -6270,7 +6282,7 @@ static void Cmd_useitemonopponent(void) { gBattlerInMenuId = gBattlerAttacker; PokemonUseItemEffects(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]], gLastUsedItem, gBattlerPartyIndexes[gBattlerAttacker], 0, TRUE); - gBattlescriptCurrInstr += 1; + gBattlescriptCurrInstr++; } static void Cmd_various(void) @@ -6287,7 +6299,7 @@ static void Cmd_various(void) break; case VARIOUS_SET_MAGIC_COAT_TARGET: gBattlerAttacker = gBattlerTarget; - side = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; + side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); if (gSideTimers[side].followmeTimer != 0 && gBattleMons[gSideTimers[side].followmeTarget].hp != 0) gBattlerTarget = gSideTimers[side].followmeTarget; else @@ -6327,7 +6339,7 @@ static void Cmd_various(void) break; } if (i == MAX_MON_MOVES) - *choicedMove = 0; + *choicedMove = MOVE_NONE; } break; case VARIOUS_RESET_PLAYER_FAINTED: @@ -6356,7 +6368,10 @@ static void Cmd_various(void) break; case VARIOUS_ARENA_JUDGMENT_WINDOW: i = BattleArena_ShowJudgmentWindow(&gBattleCommunication[0]); - if (i == 0) + + // BattleArena_ShowJudgmentWindow's last state was an intermediate step. + // Return without advancing the current instruction so that it will be called again. + if (i == ARENA_RESULT_RUNNING) return; gBattleCommunication[1] = i; @@ -6397,10 +6412,10 @@ static void Cmd_various(void) break; case VARIOUS_ARENA_JUDGMENT_STRING: BattleStringExpandPlaceholdersToDisplayedString(gRefereeStringsTable[gBattlescriptCurrInstr[1]]); - BattlePutTextOnWindow(gDisplayedStringBattle, ARENA_WIN_JUDGEMENT_TEXT); + BattlePutTextOnWindow(gDisplayedStringBattle, ARENA_WIN_JUDGMENT_TEXT); break; case VARIOUS_ARENA_WAIT_STRING: - if (IsTextPrinterActive(ARENA_WIN_JUDGEMENT_TEXT)) + if (IsTextPrinterActive(ARENA_WIN_JUDGMENT_TEXT)) return; break; case VARIOUS_WAIT_CRY: @@ -6454,7 +6469,8 @@ static void Cmd_various(void) gBattlescriptCurrInstr += 3; } -static void Cmd_setprotectlike(void) // protect and endure + // Protect and Endure +static void Cmd_setprotectlike(void) { bool8 notLastTurn = TRUE; u16 lastMove = gLastResultingMoves[gBattlerAttacker]; @@ -6489,11 +6505,12 @@ static void Cmd_setprotectlike(void) // protect and endure gBattlescriptCurrInstr++; } -static void Cmd_faintifabilitynotdamp(void) +static void Cmd_tryexplosion(void) { if (gBattleControllerExecFlags) return; + // Explosion can only fail if any battler has Damp for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) { if (gBattleMons[gBattlerTarget].ability == ABILITY_DAMP) @@ -6502,12 +6519,14 @@ static void Cmd_faintifabilitynotdamp(void) if (gBattlerTarget == gBattlersCount) { + // Success, no battlers with Damp. Drop user's HP bar to 0 gActiveBattler = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; BtlController_EmitHealthBarUpdate(BUFFER_A, INSTANT_HP_BAR_DROP); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; + // Find first target for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) { if (gBattlerTarget == gBattlerAttacker) @@ -6518,6 +6537,7 @@ static void Cmd_faintifabilitynotdamp(void) } else { + // Failed, a battler has Damp gLastUsedAbility = ABILITY_DAMP; RecordAbilityBattle(gBattlerTarget, gBattleMons[gBattlerTarget].ability); gBattlescriptCurrInstr = BattleScript_DampStopsExplosion; @@ -6564,7 +6584,7 @@ static void Cmd_jumpifnexttargetvalid(void) static void Cmd_tryhealhalfhealth(void) { - const u8* failPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1); + const u8 *failPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gBattlescriptCurrInstr[5] == BS_ATTACKER) gBattlerTarget = gBattlerAttacker; @@ -6585,47 +6605,45 @@ static void Cmd_trymirrormove(void) s32 validMovesCount; s32 i; u16 move; - u16 movesArray[4]; + u16 validMoves[MAX_BATTLERS_COUNT]; - for (i = 0; i < 3; i++) - movesArray[i] = 0; + for (i = 0; i < (MAX_BATTLERS_COUNT - 1); i++) // -1 to exclude the user + validMoves[i] = MOVE_NONE; for (validMovesCount = 0, i = 0; i < gBattlersCount; i++) { if (i != gBattlerAttacker) { - move = *(i * 2 + gBattlerAttacker * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 0) - | (*(i * 2 + gBattlerAttacker * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) << 8); + move = T1_READ_16(i * 2 + gBattlerAttacker * 8 + gBattleStruct->lastTakenMoveFrom); - if (move != 0 && move != 0xFFFF) + if (move != MOVE_NONE && move != MOVE_UNAVAILABLE) { - movesArray[validMovesCount] = move; + validMoves[validMovesCount] = move; validMovesCount++; } } } - move = *(gBattleStruct->lastTakenMove + gBattlerAttacker * 2 + 0) - | (*(gBattleStruct->lastTakenMove + gBattlerAttacker * 2 + 1) << 8); + move = T1_READ_16(gBattleStruct->lastTakenMove + gBattlerAttacker * 2); - if (move != 0 && move != 0xFFFF) + if (move != MOVE_NONE && move != MOVE_UNAVAILABLE) { gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; gCurrentMove = move; gBattlerTarget = GetMoveTarget(gCurrentMove, NO_TARGET_OVERRIDE); gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; } - else if (validMovesCount) + else if (validMovesCount != 0) { gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; i = Random() % validMovesCount; - gCurrentMove = movesArray[i]; + gCurrentMove = validMoves[i]; gBattlerTarget = GetMoveTarget(gCurrentMove, NO_TARGET_OVERRIDE); gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; } - else + else // no valid moves found { - gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1; + gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = TRUE; gBattlescriptCurrInstr++; } } @@ -6737,7 +6755,7 @@ static void Cmd_trysetrest(void) static void Cmd_jumpifnotfirstturn(void) { - const u8* failJump = T1_READ_PTR(gBattlescriptCurrInstr + 1); + const u8 *failJump = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gDisableStructs[gBattlerAttacker].isFirstTurn) gBattlescriptCurrInstr += 5; @@ -6819,7 +6837,7 @@ static void Cmd_stockpile(void) static void Cmd_stockpiletobasedamage(void) { - const u8* jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1); + const u8 *jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gDisableStructs[gBattlerAttacker].stockpileCounter == 0) { gBattlescriptCurrInstr = jumpPtr; @@ -6845,7 +6863,7 @@ static void Cmd_stockpiletobasedamage(void) static void Cmd_stockpiletohpheal(void) { - const u8* jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1); + const u8 *jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gDisableStructs[gBattlerAttacker].stockpileCounter == 0) { @@ -6883,8 +6901,8 @@ static void Cmd_negativedamage(void) gBattlescriptCurrInstr++; } -#define STAT_BUFF_WORKED 0 -#define STAT_BUFF_DIDNT_WORK 1 +#define STAT_CHANGE_WORKED 0 +#define STAT_CHANGE_DIDNT_WORK 1 static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) { @@ -6903,9 +6921,9 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) certain++; flags &= ~MOVE_EFFECT_CERTAIN; - if (flags & STAT_BUFF_NOT_PROTECT_AFFECTED) + if (flags & STAT_CHANGE_NOT_PROTECT_AFFECTED) notProtectAffected++; - flags &= ~STAT_BUFF_NOT_PROTECT_AFFECTED; + flags &= ~STAT_CHANGE_NOT_PROTECT_AFFECTED; PREPARE_STAT_BUFFER(gBattleTextBuff1, statId) @@ -6914,7 +6932,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) if (gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer && !certain && gCurrentMove != MOVE_CURSE) { - if (flags == STAT_BUFF_ALLOW_PTR) + if (flags == STAT_CHANGE_ALLOW_PTR) { if (gSpecialStatuses[gActiveBattler].statLowered) { @@ -6928,19 +6946,19 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gSpecialStatuses[gActiveBattler].statLowered = 1; } } - return STAT_BUFF_DIDNT_WORK; + return STAT_CHANGE_DIDNT_WORK; } else if (gCurrentMove != MOVE_CURSE && notProtectAffected != TRUE && JumpIfMoveAffectedByProtect(0)) { gBattlescriptCurrInstr = BattleScript_ButItFailed; - return STAT_BUFF_DIDNT_WORK; + return STAT_CHANGE_DIDNT_WORK; } else if ((gBattleMons[gActiveBattler].ability == ABILITY_CLEAR_BODY || gBattleMons[gActiveBattler].ability == ABILITY_WHITE_SMOKE) && !certain && gCurrentMove != MOVE_CURSE) { - if (flags == STAT_BUFF_ALLOW_PTR) + if (flags == STAT_CHANGE_ALLOW_PTR) { if (gSpecialStatuses[gActiveBattler].statLowered) { @@ -6956,12 +6974,12 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gSpecialStatuses[gActiveBattler].statLowered = 1; } } - return STAT_BUFF_DIDNT_WORK; + return STAT_CHANGE_DIDNT_WORK; } else if (gBattleMons[gActiveBattler].ability == ABILITY_KEEN_EYE && !certain && statId == STAT_ACC) { - if (flags == STAT_BUFF_ALLOW_PTR) + if (flags == STAT_CHANGE_ALLOW_PTR) { BattleScriptPush(BS_ptr); gBattleScripting.battler = gActiveBattler; @@ -6969,12 +6987,12 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gLastUsedAbility = gBattleMons[gActiveBattler].ability; RecordAbilityBattle(gActiveBattler, gLastUsedAbility); } - return STAT_BUFF_DIDNT_WORK; + return STAT_CHANGE_DIDNT_WORK; } else if (gBattleMons[gActiveBattler].ability == ABILITY_HYPER_CUTTER && !certain && statId == STAT_ATK) { - if (flags == STAT_BUFF_ALLOW_PTR) + if (flags == STAT_CHANGE_ALLOW_PTR) { BattleScriptPush(BS_ptr); gBattleScripting.battler = gActiveBattler; @@ -6982,11 +7000,11 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gLastUsedAbility = gBattleMons[gActiveBattler].ability; RecordAbilityBattle(gActiveBattler, gLastUsedAbility); } - return STAT_BUFF_DIDNT_WORK; + return STAT_CHANGE_DIDNT_WORK; } else if (gBattleMons[gActiveBattler].ability == ABILITY_SHIELD_DUST && flags == 0) { - return STAT_BUFF_DIDNT_WORK; + return STAT_CHANGE_DIDNT_WORK; } else // try to decrease { @@ -7000,19 +7018,15 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gBattleTextBuff2[3] = STRINGID_STATHARSHLY >> 8; index = 4; } - gBattleTextBuff2[index] = B_BUFF_STRING; - index++; - gBattleTextBuff2[index] = STRINGID_STATFELL; - index++; - gBattleTextBuff2[index] = STRINGID_STATFELL >> 8; - index++; + gBattleTextBuff2[index++] = B_BUFF_STRING; + gBattleTextBuff2[index++] = STRINGID_STATFELL; + gBattleTextBuff2[index++] = STRINGID_STATFELL >> 8; gBattleTextBuff2[index] = B_BUFF_EOS; if (gBattleMons[gActiveBattler].statStages[statId] == MIN_STAT_STAGE) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STAT_WONT_DECREASE; else gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == gActiveBattler); // B_MSG_ATTACKER_STAT_FELL or B_MSG_DEFENDER_STAT_FELL - } } else // stat increase @@ -7027,12 +7041,9 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gBattleTextBuff2[3] = STRINGID_STATSHARPLY >> 8; index = 4; } - gBattleTextBuff2[index] = B_BUFF_STRING; - index++; - gBattleTextBuff2[index] = STRINGID_STATROSE; - index++; - gBattleTextBuff2[index] = STRINGID_STATROSE >> 8; - index++; + gBattleTextBuff2[index++] = B_BUFF_STRING; + gBattleTextBuff2[index++] = STRINGID_STATROSE; + gBattleTextBuff2[index++] = STRINGID_STATROSE >> 8; gBattleTextBuff2[index] = B_BUFF_EOS; if (gBattleMons[gActiveBattler].statStages[statId] == MAX_STAT_STAGE) @@ -7047,23 +7058,24 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) if (gBattleMons[gActiveBattler].statStages[statId] > MAX_STAT_STAGE) gBattleMons[gActiveBattler].statStages[statId] = MAX_STAT_STAGE; - if (gBattleCommunication[MULTISTRING_CHOOSER] == B_MSG_STAT_WONT_INCREASE && flags & STAT_BUFF_ALLOW_PTR) + if (gBattleCommunication[MULTISTRING_CHOOSER] == B_MSG_STAT_WONT_INCREASE && flags & STAT_CHANGE_ALLOW_PTR) gMoveResultFlags |= MOVE_RESULT_MISSED; - if (gBattleCommunication[MULTISTRING_CHOOSER] == B_MSG_STAT_WONT_INCREASE && !(flags & STAT_BUFF_ALLOW_PTR)) - return STAT_BUFF_DIDNT_WORK; + if (gBattleCommunication[MULTISTRING_CHOOSER] == B_MSG_STAT_WONT_INCREASE && !(flags & STAT_CHANGE_ALLOW_PTR)) + return STAT_CHANGE_DIDNT_WORK; - return STAT_BUFF_WORKED; + return STAT_CHANGE_WORKED; } static void Cmd_statbuffchange(void) { - const u8* jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 2); - if (ChangeStatBuffs(gBattleScripting.statChanger & 0xF0, GET_STAT_BUFF_ID(gBattleScripting.statChanger), gBattlescriptCurrInstr[1], jumpPtr) == STAT_BUFF_WORKED) + const u8 *jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 2); + if (ChangeStatBuffs(gBattleScripting.statChanger & 0xF0, GET_STAT_BUFF_ID(gBattleScripting.statChanger), gBattlescriptCurrInstr[1], jumpPtr) == STAT_CHANGE_WORKED) gBattlescriptCurrInstr += 6; } -static void Cmd_normalisebuffs(void) // haze +// Haze +static void Cmd_normalisebuffs(void) { s32 i, j; @@ -7149,7 +7161,7 @@ static void Cmd_forcerandomswitch(void) s32 firstMonId; s32 lastMonId = 0; // + 1 s32 monsCount; - struct Pokemon* party = NULL; + struct Pokemon *party = NULL; s32 validMons = 0; s32 minNeeded; @@ -7164,80 +7176,80 @@ static void Cmd_forcerandomswitch(void) || (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER && gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) || (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)) { - if ((gBattlerTarget & BIT_FLANK) != 0) + if ((gBattlerTarget & BIT_FLANK) != B_FLANK_LEFT) { - firstMonId = 3; - lastMonId = 6; + firstMonId = PARTY_SIZE / 2; + lastMonId = PARTY_SIZE; } else { firstMonId = 0; - lastMonId = 3; + lastMonId = PARTY_SIZE / 2; } - monsCount = 3; + monsCount = PARTY_SIZE / 2; minNeeded = 1; battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; - battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK]; + battler1PartyId = gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerTarget)]; } else if ((gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) || (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK)) { - if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(gBattlerTarget)) == 1) + if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(gBattlerTarget)) == B_FLANK_RIGHT) { - firstMonId = 3; - lastMonId = 6; + firstMonId = PARTY_SIZE / 2; + lastMonId = PARTY_SIZE; } else { firstMonId = 0; - lastMonId = 3; + lastMonId = PARTY_SIZE / 2; } - monsCount = 3; + monsCount = PARTY_SIZE / 2; minNeeded = 1; battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; - battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK]; + battler1PartyId = gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerTarget)]; } else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER) { firstMonId = 0; - lastMonId = 6; - monsCount = 6; + lastMonId = PARTY_SIZE; + monsCount = PARTY_SIZE; minNeeded = 2; // since there are two opponents, it has to be a double battle } else { - if ((gBattlerTarget & BIT_FLANK) != 0) + if ((gBattlerTarget & BIT_FLANK) != B_FLANK_LEFT) { - firstMonId = 3; - lastMonId = 6; + firstMonId = PARTY_SIZE / 2; + lastMonId = PARTY_SIZE; } else { firstMonId = 0; - lastMonId = 3; + lastMonId = PARTY_SIZE / 2; } - monsCount = 3; + monsCount = PARTY_SIZE / 2; minNeeded = 1; } battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; - battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK]; + battler1PartyId = gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerTarget)]; } else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { firstMonId = 0; - lastMonId = 6; - monsCount = 6; + lastMonId = PARTY_SIZE; + monsCount = PARTY_SIZE; minNeeded = 2; battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; - battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK]; + battler1PartyId = gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerTarget)]; } else { firstMonId = 0; - lastMonId = 6; - monsCount = 6; + lastMonId = PARTY_SIZE; + monsCount = PARTY_SIZE; minNeeded = 1; battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; // there is only one pokemon out in single battles battler1PartyId = gBattlerPartyIndexes[gBattlerTarget]; @@ -7284,7 +7296,7 @@ static void Cmd_forcerandomswitch(void) || (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI)) { SwitchPartyOrderLinkMulti(gBattlerTarget, i, 0); - SwitchPartyOrderLinkMulti(gBattlerTarget ^ BIT_FLANK, i, 1); + SwitchPartyOrderLinkMulti(BATTLE_PARTNER(gBattlerTarget), i, 1); } if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) @@ -7297,7 +7309,8 @@ static void Cmd_forcerandomswitch(void) } } -static void Cmd_tryconversiontypechange(void) // randomly changes user's type to one of its moves' type +// Randomly changes user's type to one of its moves' type +static void Cmd_tryconversiontypechange(void) { u8 validMoves = 0; u8 moveChecked; @@ -7305,7 +7318,7 @@ static void Cmd_tryconversiontypechange(void) // randomly changes user's type to while (validMoves < MAX_MON_MOVES) { - if (gBattleMons[gBattlerAttacker].moves[validMoves] == 0) + if (gBattleMons[gBattlerAttacker].moves[validMoves] == MOVE_NONE) break; validMoves++; @@ -7337,7 +7350,6 @@ static void Cmd_tryconversiontypechange(void) // randomly changes user's type to { do { - while ((moveChecked = Random() & (MAX_MON_MOVES - 1)) >= validMoves); moveType = gBattleMoves[gBattleMons[gBattlerAttacker].moves[moveChecked]].type; @@ -7485,7 +7497,8 @@ static void Cmd_tryKO(void) } } -static void Cmd_damagetohalftargethp(void) // super fang +// Super Fang +static void Cmd_damagetohalftargethp(void) { gBattleMoveDamage = gBattleMons[gBattlerTarget].hp / 2; if (gBattleMoveDamage == 0) @@ -7629,7 +7642,7 @@ static void Cmd_updatestatusicon(void) } if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK); + gActiveBattler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { BtlController_EmitStatusIconUpdate(BUFFER_A, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); @@ -7674,7 +7687,7 @@ static void Cmd_setfocusenergy(void) static void Cmd_transformdataexecution(void) { - gChosenMove = 0xFFFF; + gChosenMove = MOVE_UNAVAILABLE; gBattlescriptCurrInstr++; if (gBattleMons[gBattlerTarget].status2 & STATUS2_TRANSFORMED || gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE) @@ -7688,15 +7701,15 @@ static void Cmd_transformdataexecution(void) u8 *battleMonAttacker, *battleMonTarget; gBattleMons[gBattlerAttacker].status2 |= STATUS2_TRANSFORMED; - gDisableStructs[gBattlerAttacker].disabledMove = 0; + gDisableStructs[gBattlerAttacker].disabledMove = MOVE_NONE; gDisableStructs[gBattlerAttacker].disableTimer = 0; gDisableStructs[gBattlerAttacker].transformedMonPersonality = gBattleMons[gBattlerTarget].personality; gDisableStructs[gBattlerAttacker].mimickedMoves = 0; PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerTarget].species) - battleMonAttacker = (u8*)(&gBattleMons[gBattlerAttacker]); - battleMonTarget = (u8*)(&gBattleMons[gBattlerTarget]); + battleMonAttacker = (u8 *)(&gBattleMons[gBattlerAttacker]); + battleMonTarget = (u8 *)(&gBattleMons[gBattlerTarget]); for (i = 0; i < offsetof(struct BattlePokemon, pp); i++) battleMonAttacker[i] = battleMonTarget[i]; @@ -7754,12 +7767,12 @@ static bool8 IsMoveUncopyableByMimic(u16 move) static void Cmd_mimicattackcopy(void) { - gChosenMove = 0xFFFF; + gChosenMove = MOVE_UNAVAILABLE; if (IsMoveUncopyableByMimic(gLastMoves[gBattlerTarget]) || gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED - || gLastMoves[gBattlerTarget] == 0 - || gLastMoves[gBattlerTarget] == 0xFFFF) + || gLastMoves[gBattlerTarget] == MOVE_NONE + || gLastMoves[gBattlerTarget] == MOVE_UNAVAILABLE) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } @@ -7781,7 +7794,6 @@ static void Cmd_mimicattackcopy(void) else gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = 5; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBattlerTarget]) gDisableStructs[gBattlerAttacker].mimickedMoves |= gBitTable[gCurrMovePos]; @@ -7796,7 +7808,7 @@ static void Cmd_mimicattackcopy(void) static void Cmd_metronome(void) { - while (1) + while (TRUE) { s32 i; @@ -7807,7 +7819,7 @@ static void Cmd_metronome(void) for (i = 0; i < MAX_MON_MOVES; i++); // ? i = -1; - while (1) + while (TRUE) { i++; if (sMovesForbiddenToCopy[i] == gCurrentMove) @@ -7868,7 +7880,8 @@ static void Cmd_counterdamagecalculator(void) } } -static void Cmd_mirrorcoatdamagecalculator(void) // a copy of Cmd with the physical -> special field changes +// A copy of Cmd with the physical -> special field changes +static void Cmd_mirrorcoatdamagecalculator(void) { u8 sideAttacker = GetBattlerSide(gBattlerAttacker); u8 sideTarget = GetBattlerSide(gProtectStructs[gBattlerAttacker].specialBattlerId); @@ -7900,7 +7913,7 @@ static void Cmd_disablelastusedattack(void) if (gBattleMons[gBattlerTarget].moves[i] == gLastMoves[gBattlerTarget]) break; } - if (gDisableStructs[gBattlerTarget].disabledMove == 0 + if (gDisableStructs[gBattlerTarget].disabledMove == MOVE_NONE && i != MAX_MON_MOVES && gBattleMons[gBattlerTarget].pp[i] != 0) { PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerTarget].moves[i]) @@ -7930,11 +7943,11 @@ static void Cmd_trysetencore(void) || gLastMoves[gBattlerTarget] == MOVE_ENCORE || gLastMoves[gBattlerTarget] == MOVE_MIRROR_MOVE) { - i = 4; + i = MAX_MON_MOVES; } - if (gDisableStructs[gBattlerTarget].encoredMove == 0 - && i != 4 && gBattleMons[gBattlerTarget].pp[i] != 0) + if (gDisableStructs[gBattlerTarget].encoredMove == MOVE_NONE + && i != MAX_MON_MOVES && gBattleMons[gBattlerTarget].pp[i] != 0) { gDisableStructs[gBattlerTarget].encoredMove = gBattleMons[gBattlerTarget].moves[i]; gDisableStructs[gBattlerTarget].encoredMovePos = i; @@ -7954,7 +7967,7 @@ static void Cmd_painsplitdmgcalc(void) { s32 hpDiff = (gBattleMons[gBattlerAttacker].hp + gBattleMons[gBattlerTarget].hp) / 2; s32 painSplitHp = gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - hpDiff; - u8* storeLoc = (void*)(&gBattleScripting.painSplitHp); + u8 *storeLoc = (void *)(&gBattleScripting.painSplitHp); storeLoc[0] = (painSplitHp); storeLoc[1] = (painSplitHp & 0x0000FF00) >> 8; @@ -7972,10 +7985,11 @@ static void Cmd_painsplitdmgcalc(void) } } -static void Cmd_settypetorandomresistance(void) // conversion 2 +// Conversion 2 +static void Cmd_settypetorandomresistance(void) { if (gLastLandedMoves[gBattlerAttacker] == MOVE_NONE - || gLastLandedMoves[gBattlerAttacker] == 0xFFFF) + || gLastLandedMoves[gBattlerAttacker] == MOVE_UNAVAILABLE) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } @@ -8040,14 +8054,15 @@ static void Cmd_setalwayshitflag(void) gBattlescriptCurrInstr++; } -static void Cmd_copymovepermanently(void) // sketch +// Sketch +static void Cmd_copymovepermanently(void) { - gChosenMove = 0xFFFF; + gChosenMove = MOVE_UNAVAILABLE; if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED) && gLastPrintedMoves[gBattlerTarget] != MOVE_STRUGGLE - && gLastPrintedMoves[gBattlerTarget] != 0 - && gLastPrintedMoves[gBattlerTarget] != 0xFFFF + && gLastPrintedMoves[gBattlerTarget] != MOVE_NONE + && gLastPrintedMoves[gBattlerTarget] != MOVE_UNAVAILABLE && gLastPrintedMoves[gBattlerTarget] != MOVE_SKETCH) { s32 i; @@ -8096,11 +8111,11 @@ static void Cmd_copymovepermanently(void) // sketch static bool8 IsTwoTurnsMove(u16 move) { if (gBattleMoves[move].effect == EFFECT_SKULL_BASH - || gBattleMoves[move].effect == EFFECT_RAZOR_WIND - || gBattleMoves[move].effect == EFFECT_SKY_ATTACK - || gBattleMoves[move].effect == EFFECT_SOLAR_BEAM - || gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE - || gBattleMoves[move].effect == EFFECT_BIDE) + || gBattleMoves[move].effect == EFFECT_RAZOR_WIND + || gBattleMoves[move].effect == EFFECT_SKY_ATTACK + || gBattleMoves[move].effect == EFFECT_SOLAR_BEAM + || gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE + || gBattleMoves[move].effect == EFFECT_BIDE) return TRUE; else return FALSE; @@ -8108,8 +8123,11 @@ static bool8 IsTwoTurnsMove(u16 move) static bool8 IsInvalidForSleepTalkOrAssist(u16 move) { - if (move == 0 || move == MOVE_SLEEP_TALK || move == MOVE_ASSIST - || move == MOVE_MIRROR_MOVE || move == MOVE_METRONOME) + if (move == MOVE_NONE + || move == MOVE_SLEEP_TALK + || move == MOVE_ASSIST + || move == MOVE_MIRROR_MOVE + || move == MOVE_METRONOME) return TRUE; else return FALSE; @@ -8123,11 +8141,11 @@ static u8 AttacksThisTurn(u8 battlerId, u16 move) // Note: returns 1 if it's a c return 2; if (gBattleMoves[move].effect == EFFECT_SKULL_BASH - || gBattleMoves[move].effect == EFFECT_RAZOR_WIND - || gBattleMoves[move].effect == EFFECT_SKY_ATTACK - || gBattleMoves[move].effect == EFFECT_SOLAR_BEAM - || gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE - || gBattleMoves[move].effect == EFFECT_BIDE) + || gBattleMoves[move].effect == EFFECT_RAZOR_WIND + || gBattleMoves[move].effect == EFFECT_SKY_ATTACK + || gBattleMoves[move].effect == EFFECT_SOLAR_BEAM + || gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE + || gBattleMoves[move].effect == EFFECT_BIDE) { if ((gHitMarker & HITMARKER_CHARGING)) return 1; @@ -8149,7 +8167,6 @@ static void Cmd_trychoosesleeptalkmove(void) { unusableMovesBits |= gBitTable[i]; } - } unusableMovesBits = CheckMoveLimitations(gBattlerAttacker, unusableMovesBits, ~MOVE_LIMITATION_PP); @@ -8215,8 +8232,8 @@ static void Cmd_remaininghptopower(void) static void Cmd_tryspiteppreduce(void) { - if (gLastMoves[gBattlerTarget] != 0 - && gLastMoves[gBattlerTarget] != 0xFFFF) + if (gLastMoves[gBattlerTarget] != MOVE_NONE + && gLastMoves[gBattlerTarget] != MOVE_UNAVAILABLE) { s32 i; @@ -8293,7 +8310,7 @@ static void Cmd_healpartystatus(void) gBattleCommunication[MULTISTRING_CHOOSER] |= B_MSG_BELL_SOUNDPROOF_ATTACKER; } - gActiveBattler = gBattleScripting.battler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK); + gActiveBattler = gBattleScripting.battler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) @@ -8343,7 +8360,7 @@ static void Cmd_healpartystatus(void) gBattleMons[gBattlerAttacker].status1 = 0; gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_NIGHTMARE; - gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK); + gActiveBattler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { @@ -8382,7 +8399,7 @@ static void Cmd_cursetarget(void) static void Cmd_trysetspikes(void) { - u8 targetSide = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; + u8 targetSide = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); if (gSideTimers[targetSide].spikesAmount == 3) { @@ -8503,7 +8520,7 @@ static void Cmd_friendshiptodamagecalculation(void) if (gBattleMoves[gCurrentMove].effect == EFFECT_RETURN) gDynamicBasePower = 10 * (gBattleMons[gBattlerAttacker].friendship) / 25; else // EFFECT_FRUSTRATION - gDynamicBasePower = 10 * (255 - gBattleMons[gBattlerAttacker].friendship) / 25; + gDynamicBasePower = 10 * (MAX_FRIENDSHIP - gBattleMons[gBattlerAttacker].friendship) / 25; gBattlescriptCurrInstr++; } @@ -8594,7 +8611,6 @@ static void Cmd_magnitudedamagecalculation(void) magnitude = 10; } - PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 2, magnitude) for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) @@ -8669,7 +8685,8 @@ static void Cmd_setsunny(void) gBattlescriptCurrInstr++; } -static void Cmd_maxattackhalvehp(void) // belly drum +// Belly Drum +static void Cmd_maxattackhalvehp(void) { u32 halfHp = gBattleMons[gBattlerAttacker].maxHP / 2; @@ -8692,7 +8709,8 @@ static void Cmd_maxattackhalvehp(void) // belly drum } } -static void Cmd_copyfoestats(void) // psych up +// Psych Up +static void Cmd_copyfoestats(void) { s32 i; @@ -8862,7 +8880,7 @@ static void Cmd_trydobeatup(void) && GetMonData(&party[gBattleCommunication[0]], MON_DATA_SPECIES2) && GetMonData(&party[gBattleCommunication[0]], MON_DATA_SPECIES2) != SPECIES_EGG && !GetMonData(&party[gBattleCommunication[0]], MON_DATA_STATUS)) - break; + break; } if (gBattleCommunication[0] < PARTY_SIZE) { @@ -8950,16 +8968,18 @@ static void Cmd_sethail(void) gBattlescriptCurrInstr++; } -static void Cmd_jumpifattackandspecialattackcannotfall(void) // memento +static void Cmd_trymemento(void) { if (gBattleMons[gBattlerTarget].statStages[STAT_ATK] == MIN_STAT_STAGE && gBattleMons[gBattlerTarget].statStages[STAT_SPATK] == MIN_STAT_STAGE && gBattleCommunication[MISS_TYPE] != B_MSG_PROTECTED) { + // Failed, unprotected target already has minimum Attack and Special Attack. gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { + // Success, drop user's HP bar to 0 gActiveBattler = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; BtlController_EmitHealthBarUpdate(BUFFER_A, INSTANT_HP_BAR_DROP); @@ -8968,7 +8988,8 @@ static void Cmd_jumpifattackandspecialattackcannotfall(void) // memento } } -static void Cmd_setforcedtarget(void) // follow me +// Follow Me +static void Cmd_setforcedtarget(void) { gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTimer = 1; gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTarget = gBattlerAttacker; @@ -8983,7 +9004,8 @@ static void Cmd_setcharge(void) gBattlescriptCurrInstr++; } -static void Cmd_callterrainattack(void) // nature power +// Nature Power +static void Cmd_callterrainattack(void) { gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; gCurrentMove = sNaturePowerMoves[gBattleTerrain]; @@ -8992,7 +9014,8 @@ static void Cmd_callterrainattack(void) // nature power gBattlescriptCurrInstr++; } -static void Cmd_cureifburnedparalysedorpoisoned(void) // refresh +// Refresh +static void Cmd_cureifburnedparalysedorpoisoned(void) { if (gBattleMons[gBattlerAttacker].status1 & (STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON)) { @@ -9045,7 +9068,7 @@ static void Cmd_settaunt(void) static void Cmd_trysethelpinghand(void) { - gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK); + gBattlerTarget = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gBattlerTarget]) @@ -9061,7 +9084,8 @@ static void Cmd_trysethelpinghand(void) } } -static void Cmd_tryswapitems(void) // trick +// Trick +static void Cmd_tryswapitems(void) { // opponent can't swap items with player in regular battles if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL @@ -9092,7 +9116,7 @@ static void Cmd_tryswapitems(void) // trick } // can't swap if two pokemon don't have an item // or if either of them is an enigma berry or a mail - else if ((gBattleMons[gBattlerAttacker].item == 0 && gBattleMons[gBattlerTarget].item == 0) + else if ((gBattleMons[gBattlerAttacker].item == ITEM_NONE && gBattleMons[gBattlerTarget].item == ITEM_NONE) || gBattleMons[gBattlerAttacker].item == ITEM_ENIGMA_BERRY || gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY || IS_ITEM_MAIL(gBattleMons[gBattlerAttacker].item) @@ -9127,11 +9151,11 @@ static void Cmd_tryswapitems(void) // trick BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); MarkBattlerForControllerExec(gBattlerTarget); - *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattlerTarget]) + 0) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattlerTarget]) + 1) = 0; + *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gBattlerTarget]) + 0) = 0; + *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gBattlerTarget]) + 1) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattlerAttacker]) + 0) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattlerAttacker]) + 1) = 0; + *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gBattlerAttacker]) + 0) = 0; + *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gBattlerAttacker]) + 1) = 0; gBattlescriptCurrInstr += 5; @@ -9148,9 +9172,10 @@ static void Cmd_tryswapitems(void) // trick } } -static void Cmd_trycopyability(void) // role play +// Role Play +static void Cmd_trycopyability(void) { - if (gBattleMons[gBattlerTarget].ability != 0 + if (gBattleMons[gBattlerTarget].ability != ABILITY_NONE && gBattleMons[gBattlerTarget].ability != ABILITY_WONDER_GUARD) { gBattleMons[gBattlerAttacker].ability = gBattleMons[gBattlerTarget].ability; @@ -9196,7 +9221,8 @@ static void Cmd_trywish(void) } } -static void Cmd_trysetroots(void) // ingrain +// Ingrain +static void Cmd_trysetroots(void) { if (gStatuses3[gBattlerAttacker] & STATUS3_ROOTED) { @@ -9211,9 +9237,9 @@ static void Cmd_trysetroots(void) // ingrain static void Cmd_doubledamagedealtifdamaged(void) { - if ((gProtectStructs[gBattlerAttacker].physicalDmg + if ((gProtectStructs[gBattlerAttacker].physicalDmg != 0 && gProtectStructs[gBattlerAttacker].physicalBattlerId == gBattlerTarget) - || (gProtectStructs[gBattlerAttacker].specialDmg + || (gProtectStructs[gBattlerAttacker].specialDmg != 0 && gProtectStructs[gBattlerAttacker].specialBattlerId == gBattlerTarget)) { gBattleScripting.dmgMultiplier = 2; @@ -9261,10 +9287,11 @@ static void Cmd_scaledamagebyhealthratio(void) gBattlescriptCurrInstr++; } -static void Cmd_tryswapabilities(void) // skill swap +// Skill Swap +static void Cmd_tryswapabilities(void) { - if ((gBattleMons[gBattlerAttacker].ability == 0 - && gBattleMons[gBattlerTarget].ability == 0) + if ((gBattleMons[gBattlerAttacker].ability == ABILITY_NONE + && gBattleMons[gBattlerTarget].ability == ABILITY_NONE) || gBattleMons[gBattlerAttacker].ability == ABILITY_WONDER_GUARD || gBattleMons[gBattlerTarget].ability == ABILITY_WONDER_GUARD || gMoveResultFlags & MOVE_RESULT_NO_EFFECT) @@ -9356,9 +9383,9 @@ static void Cmd_weightdamagecalculation(void) static void Cmd_assistattackselect(void) { s32 chooseableMovesNo = 0; - struct Pokemon* party; + struct Pokemon *party; s32 monId, moveId; - u16* movesArray = gBattleStruct->assistPossibleMoves; + u16 *validMoves = gBattleStruct->assistPossibleMoves; if (GET_BATTLER_SIDE(gBattlerAttacker) != B_SIDE_PLAYER) party = gEnemyParty; @@ -9389,14 +9416,14 @@ static void Cmd_assistattackselect(void) if (move == MOVE_NONE) continue; - movesArray[chooseableMovesNo] = move; + validMoves[chooseableMovesNo] = move; chooseableMovesNo++; } } if (chooseableMovesNo) { gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; - gCalledMove = movesArray[((Random() & 0xFF) * chooseableMovesNo) >> 8]; + gCalledMove = validMoves[((Random() & 0xFF) * chooseableMovesNo) >> 8]; gBattlerTarget = GetMoveTarget(gCalledMove, NO_TARGET_OVERRIDE); gBattlescriptCurrInstr += 5; } @@ -9416,12 +9443,13 @@ static void Cmd_trysetmagiccoat(void) } else { - gProtectStructs[gBattlerAttacker].bounceMove = 1; + gProtectStructs[gBattlerAttacker].bounceMove = TRUE; gBattlescriptCurrInstr += 5; } } -static void Cmd_trysetsnatch(void) // snatch +// Snatch +static void Cmd_trysetsnatch(void) { gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1; if (gCurrentTurnActionNumber == gBattlersCount - 1) // moves last turn @@ -9466,7 +9494,7 @@ static void Cmd_switchoutabilities(void) { case ABILITY_NATURAL_CURE: gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, + BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, gBitTable[*(gBattleStruct->battlerPartyIndexes + gActiveBattler)], sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); @@ -9625,7 +9653,8 @@ static void Cmd_trycastformdatachange(void) } } -static void Cmd_settypebasedhalvers(void) // water and mud sport +// Water and Mud Sport +static void Cmd_settypebasedhalvers(void) { bool8 worked = FALSE; @@ -9638,7 +9667,7 @@ static void Cmd_settypebasedhalvers(void) // water and mud sport worked = TRUE; } } - else // water sport + else // Water Sport { if (!(gStatuses3[gBattlerAttacker] & STATUS3_WATERSPORT)) { @@ -9716,7 +9745,7 @@ static void Cmd_settypetoterrain(void) // Unused static void Cmd_pursuitdoubles(void) { - gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK); + gActiveBattler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler]) @@ -9749,9 +9778,10 @@ static void Cmd_snatchsetbattlers(void) gBattlescriptCurrInstr++; } -static void Cmd_removelightscreenreflect(void) // brick break +// Brick Break +static void Cmd_removelightscreenreflect(void) { - u8 opposingSide = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; + u8 opposingSide = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); if (gSideTimers[opposingSide].reflectTimer || gSideTimers[opposingSide].lightscreenTimer) { @@ -9779,7 +9809,7 @@ static void Cmd_handleballthrow(void) return; gActiveBattler = gBattlerAttacker; - gBattlerTarget = gBattlerAttacker ^ BIT_SIDE; + gBattlerTarget = BATTLE_OPPOSITE(gBattlerAttacker); if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { @@ -9921,18 +9951,18 @@ static void Cmd_handleballthrow(void) static void Cmd_givecaughtmon(void) { - if (GiveMonToPlayer(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]]) != MON_GIVEN_TO_PARTY) + if (GiveMonToPlayer(&gEnemyParty[gBattlerPartyIndexes[BATTLE_OPPOSITE(gBattlerAttacker)]]) != MON_GIVEN_TO_PARTY) { if (!ShouldShowBoxWasFullMessage()) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SENT_SOMEONES_PC; StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_OPPOSITE(gBattlerAttacker)]], MON_DATA_NICKNAME, gStringVar2); } else { StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); // box the mon was sent to - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_OPPOSITE(gBattlerAttacker)]], MON_DATA_NICKNAME, gStringVar2); StringCopy(gStringVar3, GetBoxNamePtr(GetPCBoxToSendMon())); //box the mon was going to be sent to gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SOMEONES_BOX_FULL; } @@ -9942,9 +9972,9 @@ static void Cmd_givecaughtmon(void) gBattleCommunication[MULTISTRING_CHOOSER]++; } - gBattleResults.caughtMonSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_SPECIES, NULL); - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleResults.caughtMonNick); - gBattleResults.caughtMonBall = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_POKEBALL, NULL); + gBattleResults.caughtMonSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_OPPOSITE(gBattlerAttacker)]], MON_DATA_SPECIES, NULL); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_OPPOSITE(gBattlerAttacker)]], MON_DATA_NICKNAME, gBattleResults.caughtMonNick); + gBattleResults.caughtMonBall = GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_OPPOSITE(gBattlerAttacker)]], MON_DATA_POKEBALL, NULL); gBattlescriptCurrInstr++; } @@ -10089,7 +10119,7 @@ static void Cmd_trygivecaughtmonnick(void) switch (gBattleCommunication[MULTIUSE_STATE]) { case 0: - HandleBattleWindow(24, 8, 29, 13, 0); + HandleBattleWindow(YESNOBOX_X_Y, 0); BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gBattleCommunication[MULTIUSE_STATE]++; gBattleCommunication[CURSOR_POSITION] = 0; @@ -10132,22 +10162,22 @@ static void Cmd_trygivecaughtmonnick(void) case 2: if (!gPaletteFade.active) { - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_OPPOSITE(gBattlerAttacker)]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick); FreeAllWindowBuffers(); DoNamingScreen(NAMING_SCREEN_CAUGHT_MON, gBattleStruct->caughtMonNick, - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_SPECIES), - GetMonGender(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]]), - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_PERSONALITY, NULL), + GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_OPPOSITE(gBattlerAttacker)]], MON_DATA_SPECIES), + GetMonGender(&gEnemyParty[gBattlerPartyIndexes[BATTLE_OPPOSITE(gBattlerAttacker)]]), + GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_OPPOSITE(gBattlerAttacker)]], MON_DATA_PERSONALITY, NULL), BattleMainCB2); gBattleCommunication[MULTIUSE_STATE]++; } break; case 3: - if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active ) + if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_OPPOSITE(gBattlerAttacker)]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick); gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } break; diff --git a/src/battle_setup.c b/src/battle_setup.c index f928cf3f94..2ba9429d32 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -400,7 +400,7 @@ void BattleSetup_StartBattlePikeWildBattle(void) static void DoStandardWildBattle(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); StopPlayerAvatar(); gMain.savedCallback = CB2_EndWildBattle; @@ -419,7 +419,7 @@ static void DoStandardWildBattle(void) void BattleSetup_StartRoamerBattle(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); StopPlayerAvatar(); gMain.savedCallback = CB2_EndWildBattle; @@ -433,7 +433,7 @@ void BattleSetup_StartRoamerBattle(void) static void DoSafariBattle(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); StopPlayerAvatar(); gMain.savedCallback = CB2_EndSafariBattle; @@ -443,7 +443,7 @@ static void DoSafariBattle(void) static void DoBattlePikeWildBattle(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); StopPlayerAvatar(); gMain.savedCallback = CB2_EndWildBattle; @@ -479,7 +479,7 @@ static void DoBattlePyramidTrainerHillBattle(void) void StartWallyTutorialBattle(void) { CreateMaleMon(&gEnemyParty[0], SPECIES_RALTS, 5); - ScriptContext2_Enable(); + LockPlayerFieldControls(); gMain.savedCallback = CB2_ReturnToFieldContinueScriptPlayMapMusic; gBattleTypeFlags = BATTLE_TYPE_WALLY_TUTORIAL; CreateBattleStartTask(B_TRANSITION_SLICE, 0); @@ -487,7 +487,7 @@ void StartWallyTutorialBattle(void) void BattleSetup_StartScriptedWildBattle(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); gMain.savedCallback = CB2_EndScriptedWildBattle; gBattleTypeFlags = 0; CreateBattleStartTask(GetWildBattleTransition(), 0); @@ -499,7 +499,7 @@ void BattleSetup_StartScriptedWildBattle(void) void BattleSetup_StartLatiBattle(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); gMain.savedCallback = CB2_EndScriptedWildBattle; gBattleTypeFlags = BATTLE_TYPE_LEGENDARY; CreateBattleStartTask(GetWildBattleTransition(), 0); @@ -511,7 +511,7 @@ void BattleSetup_StartLatiBattle(void) void BattleSetup_StartLegendaryBattle(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); gMain.savedCallback = CB2_EndScriptedWildBattle; gBattleTypeFlags = BATTLE_TYPE_LEGENDARY; @@ -550,7 +550,7 @@ void BattleSetup_StartLegendaryBattle(void) void StartGroudonKyogreBattle(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); gMain.savedCallback = CB2_EndScriptedWildBattle; gBattleTypeFlags = BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_KYOGRE_GROUDON; @@ -570,7 +570,7 @@ void StartRegiBattle(void) u8 transitionId; u16 species; - ScriptContext2_Enable(); + LockPlayerFieldControls(); gMain.savedCallback = CB2_EndScriptedWildBattle; gBattleTypeFlags = BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI; @@ -600,7 +600,7 @@ void StartRegiBattle(void) static void CB2_EndWildBattle(void) { - CpuFill16(0, (void*)(BG_PLTT), BG_PLTT_SIZE); + CpuFill16(0, (void *)(BG_PLTT), BG_PLTT_SIZE); ResetOamRange(0, 128); if (IsPlayerDefeated(gBattleOutcome) == TRUE && !InBattlePyramid() && !InBattlePike()) @@ -616,7 +616,7 @@ static void CB2_EndWildBattle(void) static void CB2_EndScriptedWildBattle(void) { - CpuFill16(0, (void*)(BG_PLTT), BG_PLTT_SIZE); + CpuFill16(0, (void *)(BG_PLTT), BG_PLTT_SIZE); ResetOamRange(0, 128); if (IsPlayerDefeated(gBattleOutcome) == TRUE) @@ -699,21 +699,22 @@ static u8 GetBattleTransitionTypeByMap(void) PlayerGetDestCoords(&x, &y); tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (GetFlashLevel()) return TRANSITION_TYPE_FLASH; - if (!MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior)) + + if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior)) + return TRANSITION_TYPE_WATER; + + switch (gMapHeader.mapType) { - switch (gMapHeader.mapType) - { - case MAP_TYPE_UNDERGROUND: - return TRANSITION_TYPE_CAVE; - case MAP_TYPE_UNDERWATER: - return TRANSITION_TYPE_WATER; - default: - return TRANSITION_TYPE_NORMAL; - } + case MAP_TYPE_UNDERGROUND: + return TRANSITION_TYPE_CAVE; + case MAP_TYPE_UNDERWATER: + return TRANSITION_TYPE_WATER; + default: + return TRANSITION_TYPE_NORMAL; } - return TRANSITION_TYPE_WATER; } static u16 GetSumOfPlayerPartyLevel(u8 numMons) @@ -1036,22 +1037,22 @@ static void InitTrainerBattleVariables(void) static inline void SetU8(void *ptr, u8 value) { - *(u8*)(ptr) = value; + *(u8 *)(ptr) = value; } static inline void SetU16(void *ptr, u16 value) { - *(u16*)(ptr) = value; + *(u16 *)(ptr) = value; } static inline void SetU32(void *ptr, u32 value) { - *(u32*)(ptr) = value; + *(u32 *)(ptr) = value; } -static inline void SetPtr(const void *ptr, const void* value) +static inline void SetPtr(const void *ptr, const void *value) { - *(const void**)(ptr) = value; + *(const void **)(ptr) = value; } static void TrainerBattleLoadArgs(const struct TrainerBattleParameter *specs, const u8 *data) @@ -1193,8 +1194,8 @@ void ConfigureAndSetUpOneTrainerBattle(u8 trainerObjEventId, const u8 *trainerSc gSelectedObjectEvent = trainerObjEventId; gSpecialVar_LastTalked = gObjectEvents[trainerObjEventId].localId; BattleSetup_ConfigureTrainerBattle(trainerScript + 1); - ScriptContext1_SetupScript(EventScript_StartTrainerApproach); - ScriptContext2_Enable(); + ScriptContext_SetupScript(EventScript_StartTrainerApproach); + LockPlayerFieldControls(); } void ConfigureTwoTrainersBattle(u8 trainerObjEventId, const u8 *trainerScript) @@ -1206,8 +1207,8 @@ void ConfigureTwoTrainersBattle(u8 trainerObjEventId, const u8 *trainerScript) void SetUpTwoTrainersBattle(void) { - ScriptContext1_SetupScript(EventScript_StartTrainerApproach); - ScriptContext2_Enable(); + ScriptContext_SetupScript(EventScript_StartTrainerApproach); + LockPlayerFieldControls(); } bool32 GetTrainerFlagFromScriptPointer(const u8 *data) @@ -1319,7 +1320,7 @@ void BattleSetup_StartTrainerBattle(void) else DoTrainerBattle(); - ScriptContext1_Stop(); + ScriptContext_Stop(); } static void CB2_EndTrainerBattle(void) @@ -1370,7 +1371,7 @@ void BattleSetup_StartRematchBattle(void) gBattleTypeFlags = BATTLE_TYPE_TRAINER; gMain.savedCallback = CB2_EndRematchBattle; DoTrainerBattle(); - ScriptContext1_Stop(); + ScriptContext_Stop(); } void ShowTrainerIntroSpeech(void) diff --git a/src/battle_tent.c b/src/battle_tent.c index dba9e6e8a0..e51ac38a5a 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -390,7 +390,7 @@ static void GenerateOpponentMons(void) while (i != FRONTIER_PARTY_SIZE) { sRandMonId = monSet[Random() % numMons]; - + // Ensure none of the opponent's pokemon are the same as the potential rental pokemon for the player for (j = 0; j < (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.rentalMons); j++) { diff --git a/src/battle_tower.c b/src/battle_tower.c index 354a087c41..62feb7f838 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -996,7 +996,7 @@ static bool8 ChooseSpecialBattleTowerTrainer(void) winStreak = GetCurrentBattleTowerWinStreak(lvlMode, battleMode); for (i = 0; i < BATTLE_TOWER_RECORD_COUNT; i++) { - u32 *record = (u32*)(&gSaveBlock2Ptr->frontier.towerRecords[i]); + u32 *record = (u32 *)(&gSaveBlock2Ptr->frontier.towerRecords[i]); u32 recordHasData = 0; u32 checksum = 0; for (j = 0; j < (sizeof(struct EmeraldBattleTowerRecord) - 4) / 4; j++) // - 4, because of the last field being the checksum itself. @@ -2374,7 +2374,7 @@ static void LoadMultiPartnerCandidatesData(void) r10 = 0; for (i = 0; i < BATTLE_TOWER_RECORD_COUNT; i++) { - u32 *record = (u32*)(&gSaveBlock2Ptr->frontier.towerRecords[i]); + u32 *record = (u32 *)(&gSaveBlock2Ptr->frontier.towerRecords[i]); u32 recordHasData = 0; u32 checksum = 0; for (j = 0; j < (sizeof(struct EmeraldBattleTowerRecord) - 4) / 4; j++) // - 4, because of the last field being the checksum itself. @@ -2635,7 +2635,7 @@ static void LoadLinkMultiOpponentsData(void) gTrainerBattleOpponent_B = gSaveBlock2Ptr->frontier.trainerIds[battleNum * 2 + 1]; SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0); SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_B, 1); - if (gReceivedRemoteLinkPlayers != 0 && gWirelessCommType == 0) + if (gReceivedRemoteLinkPlayers && gWirelessCommType == 0) gSpecialVar_Result = 4; else gSpecialVar_Result = 6; @@ -2690,7 +2690,7 @@ static void SetTowerInterviewData(void) static void ValidateBattleTowerRecordChecksums(void) { s32 i, j; - u32 *record = (u32*)(&gSaveBlock2Ptr->frontier.towerPlayer); + u32 *record = (u32 *)(&gSaveBlock2Ptr->frontier.towerPlayer); u32 checksum = 0; for (j = 0; j < (sizeof(struct EmeraldBattleTowerRecord) - 4) / 4; j++) // - 4, because of the last field being the checksum itself. @@ -2702,7 +2702,7 @@ static void ValidateBattleTowerRecordChecksums(void) for (i = 0; i < BATTLE_TOWER_RECORD_COUNT; i++) { - record = (u32*)(&gSaveBlock2Ptr->frontier.towerRecords[i]); + record = (u32 *)(&gSaveBlock2Ptr->frontier.towerRecords[i]); checksum = 0; for (j = 0; j < (sizeof(struct EmeraldBattleTowerRecord) - 4) / 4; j++) // - 4, because of the last field being the checksum itself. { @@ -3195,7 +3195,7 @@ static void ValidateApprenticesChecksums(void) for (i = 0; i < APPRENTICE_COUNT; i++) { - u32 *data = (u32*) &gSaveBlock2Ptr->apprentices[i]; + u32 *data = (u32 *) &gSaveBlock2Ptr->apprentices[i]; u32 checksum = 0; for (j = 0; j < (sizeof(struct Apprentice) - 4) / 4; j++) checksum += data[j]; @@ -3504,7 +3504,7 @@ u8 FacilityClassToGraphicsId(u8 facilityClass) bool32 ValidateBattleTowerRecord(u8 recordId) // unused { s32 i; - u32 *record = (u32*)(&gSaveBlock2Ptr->frontier.towerRecords[recordId]); + u32 *record = (u32 *)(&gSaveBlock2Ptr->frontier.towerRecords[recordId]); u32 checksum = 0; u32 hasData = 0; for (i = 0; i < (sizeof(struct EmeraldBattleTowerRecord) - 4) / 4; i++) // - 4, because of the last fjeld bejng the checksum jtself. diff --git a/src/battle_transition.c b/src/battle_transition.c index c523cbe7b9..3675421ee1 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -827,7 +827,7 @@ static const struct OamData sOam_UnusedBrendanLass = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -2186,7 +2186,7 @@ static bool8 Wave_Init(struct Task *task) static bool8 Wave_Main(struct Task *task) { u8 i, sinIndex; - u16* toStore; + u16 *toStore; bool8 finished; sTransitionData->VBlank_DMA = FALSE; @@ -2347,7 +2347,7 @@ static bool8 Mugshot_SetGfx(struct Task *task) static bool8 Mugshot_ShowBanner(struct Task *task) { u8 i, sinIndex; - u16* toStore; + u16 *toStore; s16 x; s32 mergedValue; @@ -2388,7 +2388,7 @@ static bool8 Mugshot_ShowBanner(struct Task *task) if (task->tBottomBannerX < 0) task->tBottomBannerX = 0; - mergedValue = *(s32*)(&task->tTopBannerX); + mergedValue = *(s32 *)(&task->tTopBannerX); if (mergedValue == DISPLAY_WIDTH) task->tState++; @@ -2401,7 +2401,7 @@ static bool8 Mugshot_ShowBanner(struct Task *task) static bool8 Mugshot_StartOpponentSlide(struct Task *task) { u8 i; - u16* toStore; + u16 *toStore; sTransitionData->VBlank_DMA = FALSE; @@ -2434,7 +2434,7 @@ static bool8 Mugshot_WaitStartPlayerSlide(struct Task *task) { sTransitionData->BG0HOFS_Lower -= 8; sTransitionData->BG0HOFS_Upper += 8; - + // Start player's slide in once the opponent is finished if (IsTrainerPicSlideDone(task->tOpponentSpriteId)) { @@ -2770,7 +2770,7 @@ static bool8 Slice_Main(struct Task *task) { u16 *storeLoc1 = &gScanlineEffectRegBuffers[0][i]; u16 *storeLoc2 = &gScanlineEffectRegBuffers[0][i + DISPLAY_HEIGHT]; - + // Alternate rows if (i % 2) { @@ -3251,7 +3251,7 @@ static bool8 RectangularSpiral_Main(struct Task *task) // The line moved to a new position, draw the tile. done = FALSE; position = sRectangularSpiralLines[j].position; - + // Invert position for the two lines that start at the bottom. if ((j % 2) == 1) position = 637 - position; @@ -3281,7 +3281,7 @@ static bool8 RectangularSpiral_End(struct Task *task) static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, struct RectangularSpiralLine *line) { const s16 *moveData = moveDataTable[line->state]; - + // Has spiral finished? // Note that most move data arrays endsin SPIRAL_END but it is // only ever reached on the final array of spiraling outward. @@ -3294,9 +3294,9 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru sDebug_RectangularSpiralData = moveData[2]; sDebug_RectangularSpiralData = moveData[3]; - // Note that for the two lines originating at the bottom the + // Note that for the two lines originating at the bottom the // position is inverted, so the directions are flipped. - // i.e. position += 1 is right for the top lines and left + // i.e. position += 1 is right for the top lines and left // for their inverted partners on the bottom. switch (moveData[0]) { @@ -3716,8 +3716,8 @@ static void SpriteCB_WhiteBarFade(struct Sprite *sprite) else { u16 i; - u16* ptr1 = &gScanlineEffectRegBuffers[0][sprite->y]; - u16* ptr2 = &gScanlineEffectRegBuffers[0][sprite->y + DISPLAY_HEIGHT]; + u16 *ptr1 = &gScanlineEffectRegBuffers[0][sprite->y]; + u16 *ptr2 = &gScanlineEffectRegBuffers[0][sprite->y + DISPLAY_HEIGHT]; for (i = 0; i < DISPLAY_HEIGHT / NUM_WHITE_BARS; i++) { ptr1[i] = sprite->sFade >> 8; @@ -3783,7 +3783,7 @@ static bool8 GridSquares_Init(struct Task *task) static bool8 GridSquares_Main(struct Task *task) { - u16* tileset; + u16 *tileset; if (task->tDelay == 0) { @@ -4061,7 +4061,7 @@ static void GetBg0TilemapDst(u16 **tileset) { u16 charBase = REG_BG0CNT >> 2; charBase <<= 14; - *tileset = (u16*)(BG_VRAM + charBase); + *tileset = (u16 *)(BG_VRAM + charBase); } void GetBg0TilesDst(u16 **tilemap, u16 **tileset) @@ -4072,8 +4072,8 @@ void GetBg0TilesDst(u16 **tilemap, u16 **tileset) screenBase <<= 11; charBase <<= 14; - *tilemap = (u16*)(BG_VRAM + screenBase); - *tileset = (u16*)(BG_VRAM + charBase); + *tilemap = (u16 *)(BG_VRAM + screenBase); + *tileset = (u16 *)(BG_VRAM + charBase); } static void FadeScreenBlack(void) @@ -4170,13 +4170,13 @@ static void InitBlackWipe(s16 *data, s16 startX, s16 startY, s16 endX, s16 endY, static bool8 UpdateBlackWipe(s16 *data, bool8 xExact, bool8 yExact) { u8 numFinished; - + if (tWipeXDist > tWipeYDist) { // X has further to move, move it first tWipeCurrX += tWipeXMove; - // If it has been far enough since Y's + // If it has been far enough since Y's // last move then move it too tWipeTemp += tWipeYDist; if (tWipeTemp > tWipeXDist) @@ -4190,7 +4190,7 @@ static bool8 UpdateBlackWipe(s16 *data, bool8 xExact, bool8 yExact) // Y has further to move, move it first tWipeCurrY += tWipeYMove; - // If it has been far enough since X's + // If it has been far enough since X's // last move then move it too tWipeTemp += tWipeXDist; if (tWipeTemp > tWipeYDist) @@ -4201,9 +4201,9 @@ static bool8 UpdateBlackWipe(s16 *data, bool8 xExact, bool8 yExact) } numFinished = 0; - + // Has X coord reached end? - if ((tWipeXMove > 0 && tWipeCurrX >= tWipeEndX) + if ((tWipeXMove > 0 && tWipeCurrX >= tWipeEndX) || (tWipeXMove < 0 && tWipeCurrX <= tWipeEndX)) { numFinished++; @@ -4212,7 +4212,7 @@ static bool8 UpdateBlackWipe(s16 *data, bool8 xExact, bool8 yExact) } // Has Y coord reached end? - if ((tWipeYMove > 0 && tWipeCurrY >= tWipeEndY) + if ((tWipeYMove > 0 && tWipeCurrY >= tWipeEndY) || (tWipeYMove < 0 && tWipeCurrY <= tWipeEndY)) { numFinished++; diff --git a/src/battle_transition_frontier.c b/src/battle_transition_frontier.c index a1a39abdab..088865dbab 100644 --- a/src/battle_transition_frontier.c +++ b/src/battle_transition_frontier.c @@ -58,7 +58,7 @@ static const struct OamData sOamData_LogoCircles = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, diff --git a/src/battle_util.c b/src/battle_util.c index f34c39eb04..bbf34ab316 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -93,7 +93,7 @@ void HandleAction_UseMove(void) gBattleStruct->atkCancellerTracker = 0; gMoveResultFlags = 0; gMultiHitCounter = 0; - gBattleCommunication[6] = 0; + gBattleCommunication[MISS_TYPE] = 0; gCurrMovePos = gChosenMovePos = *(gBattleStruct->chosenMovePositions + gBattlerAttacker); // choose move @@ -146,7 +146,7 @@ void HandleAction_UseMove(void) } // choose target - side = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; + side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); if (gSideTimers[side].followmeTimer != 0 && gBattleMoves[gCurrentMove].target == MOVE_TARGET_SELECTED && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gSideTimers[side].followmeTarget) @@ -200,13 +200,13 @@ void HandleAction_UseMove(void) { if (GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) { - gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); + gBattlerTarget = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); } else { - gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_SIDE); + gBattlerTarget = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(gBattlerAttacker))); if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) - gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); + gBattlerTarget = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); } } } @@ -239,7 +239,7 @@ void HandleAction_UseMove(void) if (gAbsentBattlerFlags & gBitTable[gBattlerTarget] && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) { - gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); + gBattlerTarget = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); } } else @@ -249,13 +249,13 @@ void HandleAction_UseMove(void) { if (GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) { - gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); + gBattlerTarget = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); } else { - gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_SIDE); + gBattlerTarget = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(gBattlerAttacker))); if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) - gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); + gBattlerTarget = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); } } } @@ -471,7 +471,7 @@ bool8 TryRunFromBattle(u8 battler) gBattleStruct->runTries++; } - if (effect) + if (effect != 0) { gCurrentTurnActionNumber = gBattlersCount; gBattleOutcome = B_OUTCOME_RAN; @@ -679,10 +679,12 @@ void HandleAction_ActionFinished(void) gBattleResources->battleScriptsStack->size = 0; } +#define SOUND_MOVES_END 0xFFFF + static const u16 sSoundMovesTable[] = { MOVE_GROWL, MOVE_ROAR, MOVE_SING, MOVE_SUPERSONIC, MOVE_SCREECH, MOVE_SNORE, - MOVE_UPROAR, MOVE_METAL_SOUND, MOVE_GRASS_WHISTLE, MOVE_HYPER_VOICE, 0xFFFF + MOVE_UPROAR, MOVE_METAL_SOUND, MOVE_GRASS_WHISTLE, MOVE_HYPER_VOICE, SOUND_MOVES_END }; u8 GetBattlerForBattleScript(u8 caseId) @@ -821,7 +823,8 @@ void PressurePPLoseOnUsingPerishSong(u8 attacker) } } -void MarkAllBattlersForControllerExec(void) // unused +// Unused +static void MarkAllBattlersForControllerExec(void) { int i; @@ -959,7 +962,7 @@ u8 TrySetCantSelectMoveBattleScript(void) u8 limitations = 0; u16 move = gBattleMons[gActiveBattler].moves[gBattleBufferB[gActiveBattler][2]]; u8 holdEffect; - u16* choicedMove = &gBattleStruct->choicedMove[gActiveBattler]; + u16 *choicedMove = &gBattleStruct->choicedMove[gActiveBattler]; if (gDisableStructs[gActiveBattler].disabledMove == move && move != MOVE_NONE) { @@ -1029,7 +1032,7 @@ u8 TrySetCantSelectMoveBattleScript(void) gPotentialItemEffectBattler = gActiveBattler; - if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != MOVE_NONE && *choicedMove != 0xFFFF && *choicedMove != move) + if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != move) { gCurrentMove = *choicedMove; gLastUsedItem = gBattleMons[gActiveBattler].item; @@ -1097,7 +1100,7 @@ u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check) if (gDisableStructs[battlerId].encoreTimer && gDisableStructs[battlerId].encoredMove != gBattleMons[battlerId].moves[i]) unusableMoves |= gBitTable[i]; // Choice Band - if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != MOVE_NONE && *choicedMove != 0xFFFF && *choicedMove != gBattleMons[battlerId].moves[i]) + if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battlerId].moves[i]) unusableMoves |= gBitTable[i]; } return unusableMoves; @@ -1106,8 +1109,7 @@ u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check) #define ALL_MOVES_MASK ((1 << MAX_MON_MOVES) - 1) bool8 AreAllMovesUnusable(void) { - u8 unusable; - unusable = CheckMoveLimitations(gActiveBattler, 0, MOVE_LIMITATIONS_ALL); + u8 unusable = CheckMoveLimitations(gActiveBattler, 0, MOVE_LIMITATIONS_ALL); if (unusable == ALL_MOVES_MASK) // All moves are unusable. { @@ -1197,7 +1199,7 @@ u8 DoFieldEndTurnEffects(void) // It's stupid, but won't match without it { - u8* var = &gBattleStruct->turnCountersTracker; + u8 *var = &gBattleStruct->turnCountersTracker; (*var)++; gBattleStruct->turnSideTracker = 0; } @@ -1218,10 +1220,10 @@ u8 DoFieldEndTurnEffects(void) } } gBattleStruct->turnSideTracker++; - if (effect) + if (effect != 0) break; } - if (!effect) + if (effect == 0) { gBattleStruct->turnCountersTracker++; gBattleStruct->turnSideTracker = 0; @@ -1244,10 +1246,10 @@ u8 DoFieldEndTurnEffects(void) } } gBattleStruct->turnSideTracker++; - if (effect) + if (effect != 0) break; } - if (!effect) + if (effect == 0) { gBattleStruct->turnCountersTracker++; gBattleStruct->turnSideTracker = 0; @@ -1258,8 +1260,7 @@ u8 DoFieldEndTurnEffects(void) { side = gBattleStruct->turnSideTracker; gActiveBattler = gBattlerAttacker = gSideTimers[side].mistBattlerId; - if (gSideTimers[side].mistTimer != 0 - && --gSideTimers[side].mistTimer == 0) + if (gSideTimers[side].mistTimer != 0 && --gSideTimers[side].mistTimer == 0) { gSideStatuses[side] &= ~SIDE_STATUS_MIST; BattleScriptExecute(BattleScript_SideStatusWoreOff); @@ -1268,10 +1269,10 @@ u8 DoFieldEndTurnEffects(void) effect++; } gBattleStruct->turnSideTracker++; - if (effect) + if (effect != 0) break; } - if (!effect) + if (effect == 0) { gBattleStruct->turnCountersTracker++; gBattleStruct->turnSideTracker = 0; @@ -1292,10 +1293,10 @@ u8 DoFieldEndTurnEffects(void) } } gBattleStruct->turnSideTracker++; - if (effect) + if (effect != 0) break; } - if (!effect) + if (effect == 0) { gBattleStruct->turnCountersTracker++; gBattleStruct->turnSideTracker = 0; @@ -1314,10 +1315,10 @@ u8 DoFieldEndTurnEffects(void) effect++; } gBattleStruct->turnSideTracker++; - if (effect) + if (effect != 0) break; } - if (!effect) + if (effect == 0) { gBattleStruct->turnCountersTracker++; } @@ -1685,12 +1686,12 @@ u8 DoBattlerEndTurnEffects(void) } if (i == MAX_MON_MOVES) // pokemon does not have the disabled move anymore { - gDisableStructs[gActiveBattler].disabledMove = 0; + gDisableStructs[gActiveBattler].disabledMove = MOVE_NONE; gDisableStructs[gActiveBattler].disableTimer = 0; } else if (--gDisableStructs[gActiveBattler].disableTimer == 0) // disable ends { - gDisableStructs[gActiveBattler].disabledMove = 0; + gDisableStructs[gActiveBattler].disabledMove = MOVE_NONE; BattleScriptExecute(BattleScript_DisabledNoMore); effect++; } @@ -1702,13 +1703,13 @@ u8 DoBattlerEndTurnEffects(void) { if (gBattleMons[gActiveBattler].moves[gDisableStructs[gActiveBattler].encoredMovePos] != gDisableStructs[gActiveBattler].encoredMove) // pokemon does not have the encored move anymore { - gDisableStructs[gActiveBattler].encoredMove = 0; + gDisableStructs[gActiveBattler].encoredMove = MOVE_NONE; gDisableStructs[gActiveBattler].encoreTimer = 0; } else if (--gDisableStructs[gActiveBattler].encoreTimer == 0 || gBattleMons[gActiveBattler].pp[gDisableStructs[gActiveBattler].encoredMovePos] == 0) { - gDisableStructs[gActiveBattler].encoredMove = 0; + gDisableStructs[gActiveBattler].encoredMove = MOVE_NONE; gDisableStructs[gActiveBattler].encoreTimer = 0; BattleScriptExecute(BattleScript_EncoredNoMore); effect++; @@ -1798,7 +1799,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) BattleScriptExecute(BattleScript_MonTookFutureAttack); if (gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 - && gWishFutureKnock.futureSightCounter[gActiveBattler ^ BIT_FLANK] == 0) + && gWishFutureKnock.futureSightCounter[BATTLE_PARTNER(gActiveBattler)] == 0) { gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)] &= ~SIDE_STATUS_FUTUREATTACK; } @@ -2101,7 +2102,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case CANCELLER_DISABLED: // disabled move - if (gDisableStructs[gBattlerAttacker].disabledMove == gCurrentMove && gDisableStructs[gBattlerAttacker].disabledMove != 0) + if (gDisableStructs[gBattlerAttacker].disabledMove == gCurrentMove && gDisableStructs[gBattlerAttacker].disabledMove != MOVE_NONE) { gProtectStructs[gBattlerAttacker].usedDisabledMove = 1; gBattleScripting.battler = gBattlerAttacker; @@ -2170,7 +2171,7 @@ u8 AtkCanceller_UnableToUseMove(void) if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_PARALYSIS) && (Random() % 4) == 0) { gProtectStructs[gBattlerAttacker].prlzImmobility = 1; - // This is removed in Emerald for some reason + // This is removed in FRLG and Emerald for some reason //CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsParalyzed; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; @@ -2208,7 +2209,7 @@ u8 AtkCanceller_UnableToUseMove(void) } else { - // This is removed in Emerald for some reason + // This is removed in FRLG and Emerald for some reason //gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_MULTIPLETURNS; if (gTakenDmg[gBattlerAttacker]) { @@ -2259,8 +2260,8 @@ u8 AtkCanceller_UnableToUseMove(void) bool8 HasNoMonsToSwitch(u8 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2) { + u8 playerId, flankId; struct Pokemon *party; - u8 id1, id2; s32 i; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) @@ -2273,15 +2274,15 @@ bool8 HasNoMonsToSwitch(u8 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2) else party = gEnemyParty; - id1 = ((battler & BIT_FLANK) / 2); - for (i = id1 * MULTI_PARTY_SIZE; i < id1 * MULTI_PARTY_SIZE + MULTI_PARTY_SIZE; i++) + playerId = ((battler & BIT_FLANK) / 2); + for (i = playerId * MULTI_PARTY_SIZE; i < playerId * MULTI_PARTY_SIZE + MULTI_PARTY_SIZE; i++) { if (GetMonData(&party[i], MON_DATA_HP) != 0 && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG) break; } - return (i == id1 * MULTI_PARTY_SIZE + MULTI_PARTY_SIZE); + return (i == playerId * MULTI_PARTY_SIZE + MULTI_PARTY_SIZE); } else if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -2290,76 +2291,76 @@ bool8 HasNoMonsToSwitch(u8 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2) if (GetBattlerSide(battler) == B_SIDE_PLAYER) { party = gPlayerParty; - id2 = GetBattlerMultiplayerId(battler); - id1 = GetLinkTrainerFlankId(id2); + flankId = GetBattlerMultiplayerId(battler); + playerId = GetLinkTrainerFlankId(flankId); } else { party = gEnemyParty; if (battler == 1) - id1 = 0; + playerId = 0; else - id1 = 1; + playerId = 1; } } else { - id2 = GetBattlerMultiplayerId(battler); + flankId = GetBattlerMultiplayerId(battler); if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; - id1 = GetLinkTrainerFlankId(id2); + playerId = GetLinkTrainerFlankId(flankId); } - for (i = id1 * MULTI_PARTY_SIZE; i < id1 * MULTI_PARTY_SIZE + MULTI_PARTY_SIZE; i++) + for (i = playerId * MULTI_PARTY_SIZE; i < playerId * MULTI_PARTY_SIZE + MULTI_PARTY_SIZE; i++) { if (GetMonData(&party[i], MON_DATA_HP) != 0 && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG) break; } - return (i == id1 * MULTI_PARTY_SIZE + MULTI_PARTY_SIZE); + return (i == playerId * MULTI_PARTY_SIZE + MULTI_PARTY_SIZE); } else if ((gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && GetBattlerSide(battler) == B_SIDE_OPPONENT) { party = gEnemyParty; if (battler == 1) - id1 = 0; + playerId = 0; else - id1 = MULTI_PARTY_SIZE; + playerId = MULTI_PARTY_SIZE; - for (i = id1; i < id1 + MULTI_PARTY_SIZE; i++) + for (i = playerId; i < playerId + MULTI_PARTY_SIZE; i++) { if (GetMonData(&party[i], MON_DATA_HP) != 0 && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG) break; } - return (i == id1 + 3); + return (i == playerId + 3); } else { if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { - id2 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - id1 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + flankId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + playerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); party = gEnemyParty; } else { - id2 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - id1 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + flankId = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + playerId = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); party = gPlayerParty; } if (partyIdBattlerOn1 == PARTY_SIZE) - partyIdBattlerOn1 = gBattlerPartyIndexes[id2]; + partyIdBattlerOn1 = gBattlerPartyIndexes[flankId]; if (partyIdBattlerOn2 == PARTY_SIZE) - partyIdBattlerOn2 = gBattlerPartyIndexes[id1]; + partyIdBattlerOn2 = gBattlerPartyIndexes[playerId]; for (i = 0; i < PARTY_SIZE; i++) { @@ -2367,7 +2368,7 @@ bool8 HasNoMonsToSwitch(u8 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2) && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG && i != partyIdBattlerOn1 && i != partyIdBattlerOn2 - && i != *(gBattleStruct->monToSwitchIntoId + id2) && i != id1[gBattleStruct->monToSwitchIntoId]) + && i != *(gBattleStruct->monToSwitchIntoId + flankId) && i != playerId[gBattleStruct->monToSwitchIntoId]) break; } return (i == PARTY_SIZE); @@ -2504,7 +2505,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; } } - if (effect) + if (effect != 0) { gBattleCommunication[MULTISTRING_CHOOSER] = GetCurrentWeather(); BattleScriptPushCursorAndCallback(BattleScript_OverworldWeatherStarts); @@ -2546,7 +2547,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_FORECAST: effect = CastformDataTypeChange(battler); - if (effect) + if (effect != 0) { BattleScriptPushCursorAndCallback(BattleScript_CastformChange); gBattleScripting.battler = battler; @@ -2567,7 +2568,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA for (target1 = 0; target1 < gBattlersCount; target1++) { effect = CastformDataTypeChange(target1); - if (effect) + if (effect != 0) { BattleScriptPushCursorAndCallback(BattleScript_CastformChange); gBattleScripting.battler = target1; @@ -2640,12 +2641,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA case ABILITYEFFECT_MOVES_BLOCK: // 2 if (gLastUsedAbility == ABILITY_SOUNDPROOF) { - for (i = 0; sSoundMovesTable[i] != 0xFFFF; i++) + for (i = 0; sSoundMovesTable[i] != SOUND_MOVES_END; i++) { if (sSoundMovesTable[i] == move) break; } - if (sSoundMovesTable[i] != 0xFFFF) + if (sSoundMovesTable[i] != SOUND_MOVES_END) { if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; @@ -2907,7 +2908,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA } break; } - if (effect) + if (effect != 0) { switch (effect) { @@ -2938,7 +2939,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (gBattleMons[battler].ability == ABILITY_FORECAST) { effect = CastformDataTypeChange(battler); - if (effect) + if (effect != 0) { BattleScriptPushCursorAndCallback(BattleScript_CastformChange); gBattleScripting.battler = battler; @@ -3000,27 +3001,27 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE)) { u8 target2; - side = (GetBattlerPosition(i) ^ BIT_SIDE) & BIT_SIDE; // side of the opposing pokemon + side = BATTLE_OPPOSITE(GetBattlerPosition(i)) & BIT_SIDE; // side of the opposing pokemon target1 = GetBattlerAtPosition(side); target2 = GetBattlerAtPosition(side + BIT_FLANK); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0 - && gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) + if (gBattleMons[target1].ability != ABILITY_NONE && gBattleMons[target1].hp != 0 + && gBattleMons[target2].ability != ABILITY_NONE && gBattleMons[target2].hp != 0) { gActiveBattler = GetBattlerAtPosition(((Random() & 1) * 2) | side); gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } - else if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0) + else if (gBattleMons[target1].ability != ABILITY_NONE && gBattleMons[target1].hp != 0) { gActiveBattler = target1; gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } - else if (gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) + else if (gBattleMons[target2].ability != ABILITY_NONE && gBattleMons[target2].hp != 0) { gActiveBattler = target2; gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; @@ -3038,7 +3039,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA effect++; } } - if (effect) + if (effect != 0) { BattleScriptPushCursorAndCallback(BattleScript_TraceActivates); gStatuses3[i] &= ~STATUS3_TRACE; @@ -3298,7 +3299,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) effect = ITEM_STATS_CHANGE; } } - if (effect) + if (effect != 0) { gBattleScripting.battler = battlerId; gPotentialItemEffectBattler = battlerId; @@ -3369,7 +3370,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) effect = ITEM_STATS_CHANGE; } } - if (effect) + if (effect != 0) { gBattleScripting.battler = battlerId; gPotentialItemEffectBattler = battlerId; @@ -3581,7 +3582,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; } - if (effect) + if (effect != 0) { gBattleScripting.battler = battlerId; gPotentialItemEffectBattler = battlerId; @@ -3725,7 +3726,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) effect = ITEM_STATS_CHANGE; } } - if (effect) + if (effect != 0) { gBattleScripting.battler = battlerId; gPotentialItemEffectBattler = battlerId; @@ -3735,7 +3736,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; } - if (effect) + if (effect != 0) { gBattleScripting.battler = battlerId; gPotentialItemEffectBattler = battlerId; @@ -3819,7 +3820,7 @@ u8 GetMoveTarget(u16 move, u8 setTarget) switch (moveTarget) { case MOVE_TARGET_SELECTED: - side = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; + side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBattler = gSideTimers[side].followmeTarget; else @@ -3843,12 +3844,12 @@ u8 GetMoveTarget(u16 move, u8 setTarget) case MOVE_TARGET_BOTH: case MOVE_TARGET_FOES_AND_ALLY: case MOVE_TARGET_OPPONENTS_FIELD: - targetBattler = GetBattlerAtPosition((GetBattlerPosition(gBattlerAttacker) & BIT_SIDE) ^ BIT_SIDE); + targetBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(gBattlerAttacker))); if (gAbsentBattlerFlags & gBitTable[targetBattler]) targetBattler ^= BIT_FLANK; break; case MOVE_TARGET_RANDOM: - side = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; + side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBattler = gSideTimers[side].followmeTarget; else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && moveTarget & MOVE_TARGET_RANDOM) @@ -3871,7 +3872,7 @@ u8 GetMoveTarget(u16 move, u8 setTarget) targetBattler ^= BIT_FLANK; } else - targetBattler = GetBattlerAtPosition((GetBattlerPosition(gBattlerAttacker) & BIT_SIDE) ^ BIT_SIDE); + targetBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(gBattlerAttacker))); break; case MOVE_TARGET_USER_OR_SELECTED: case MOVE_TARGET_USER: diff --git a/src/battle_util2.c b/src/battle_util2.c index 767e314927..8a202c9867 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -109,12 +109,12 @@ void SwitchPartyOrderInGameMulti(u8 battlerId, u8 arg1) { s32 i; for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) - gBattlePartyCurrentOrder[i] = *(0 * 3 + i + (u8*)(gBattleStruct->battlerPartyOrders)); + gBattlePartyCurrentOrder[i] = *(0 * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)); SwitchPartyMonSlots(GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battlerId]), GetPartyIdFromBattlePartyId(arg1)); for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) - *(0 * 3 + i + (u8*)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i]; + *(0 * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i]; } } diff --git a/src/berry.c b/src/berry.c index d56ec801ca..389a09a106 100644 --- a/src/berry.c +++ b/src/berry.c @@ -946,7 +946,7 @@ void ClearEnigmaBerries(void) void SetEnigmaBerry(u8 *src) { u32 i; - u8 *dest = (u8*)&gSaveBlock1Ptr->enigmaBerry; + u8 *dest = (u8 *)&gSaveBlock1Ptr->enigmaBerry; for (i = 0; i < sizeof(gSaveBlock1Ptr->enigmaBerry); i++) dest[i] = src[i]; @@ -958,7 +958,7 @@ static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) u32 checksum; u8 *dest; - dest = (u8*)enigmaBerry; + dest = (u8 *)enigmaBerry; checksum = 0; for (i = 0; i < sizeof(gSaveBlock1Ptr->enigmaBerry) - sizeof(gSaveBlock1Ptr->enigmaBerry.checksum); i++) checksum += dest[i]; @@ -980,7 +980,7 @@ bool32 IsEnigmaBerryValid(void) const struct Berry *GetBerryInfo(u8 berry) { if (berry == ITEM_TO_BERRY(ITEM_ENIGMA_BERRY) && IsEnigmaBerryValid()) - return (struct Berry*)(&gSaveBlock1Ptr->enigmaBerry.berry); + return (struct Berry *)(&gSaveBlock1Ptr->enigmaBerry.berry); else { if (berry == BERRY_NONE || berry > ITEM_TO_BERRY(LAST_BERRY_INDEX)) @@ -1172,7 +1172,7 @@ void GetBerryNameByBerryType(u8 berry, u8 *string) string[BERRY_NAME_LENGTH] = EOS; } -void GetBerryCountStringByBerryType(u8 berry, u8* dest, u32 berryCount) +void GetBerryCountStringByBerryType(u8 berry, u8 *dest, u32 berryCount) { GetBerryCountString(dest, GetBerryInfo(berry)->name, berryCount); } @@ -1300,7 +1300,7 @@ void ObjectEventInteractionPlantBerryTree(void) { u8 berry = ItemIdToBerryType(gSpecialVar_ItemId); - PlantBerryTree(GetObjectEventBerryTreeId(gSelectedObjectEvent), berry, 1, TRUE); + PlantBerryTree(GetObjectEventBerryTreeId(gSelectedObjectEvent), berry, BERRY_STAGE_PLANTED, TRUE); ObjectEventInteractionGetBerryTreeData(); } diff --git a/src/berry_blender.c b/src/berry_blender.c index bdf7858cee..d099a14ba2 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -215,7 +215,7 @@ static void SetPlayerBerryData(u8, u16); static void Blender_AddTextPrinter(u8, const u8 *, u8, u8, s32, s32); static void ResetLinkCmds(void); static void CreateParticleSprites(void); -static void ShakeBgCoordForHit(s16*, u16); +static void ShakeBgCoordForHit(s16 *, u16); static void TryUpdateProgressBar(u16, u16); static void UpdateRPM(u16); static void RestoreBgCoords(void); @@ -265,7 +265,7 @@ static const u8 sText_Master[] = _("MASTER"); static const u8 sText_Dude[] = _("DUDE"); static const u8 sText_Miss[] = _("MISS"); -static const u8* const sBlenderOpponentsNames[] = +static const u8 *const sBlenderOpponentsNames[] = { [BLENDER_MISTER] = sText_Mister, [BLENDER_LADDIE] = sText_Laddie, @@ -456,7 +456,7 @@ static const struct OamData sOam_PlayerArrow = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -599,7 +599,7 @@ static const struct OamData sOam_ScoreSymbols = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -668,7 +668,7 @@ static const struct OamData sOam_Particles = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -755,7 +755,7 @@ static const struct OamData sOam_CountdownNumbers = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -813,7 +813,7 @@ static const struct OamData sOam_Start = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -1145,7 +1145,7 @@ static void CB2_LoadBerryBlender(void) #define sYDownSpeed data[7] // For throwing berries into the machine -static void SpriteCB_Berry(struct Sprite* sprite) +static void SpriteCB_Berry(struct Sprite *sprite) { sprite->sX += sprite->sXSpeed; sprite->sY -= sprite->sYUpSpeed; @@ -1166,7 +1166,7 @@ static void SpriteCB_Berry(struct Sprite* sprite) sprite->y = sprite->sY; } -static void SetBerrySpriteData(struct Sprite* sprite, s16 x, s16 y, s16 bounceSpeed, s16 xSpeed, s16 ySpeed) +static void SetBerrySpriteData(struct Sprite *sprite, s16 x, s16 y, s16 bounceSpeed, s16 xSpeed, s16 ySpeed) { sprite->sTargetY = y; sprite->sX = x; @@ -2260,7 +2260,7 @@ static bool8 AreBlenderBerriesSame(struct BlenderBerry* berries, u8 a, u8 b) return FALSE; } -static u32 CalculatePokeblockColor(struct BlenderBerry* berries, s16* _flavors, u8 numPlayers, u8 negativeFlavors) +static u32 CalculatePokeblockColor(struct BlenderBerry* berries, s16 *_flavors, u8 numPlayers, u8 negativeFlavors) { s16 flavors[FLAVOR_COUNT + 1]; s32 i, j; @@ -2494,7 +2494,7 @@ static void CalculatePokeblock(struct BlenderBerry *berries, struct Pokeblock *p } // Unused -static void Debug_CalculatePokeblock(struct BlenderBerry* berries, struct Pokeblock* pokeblock, u8 numPlayers, u8* flavors, u16 maxRPM) +static void Debug_CalculatePokeblock(struct BlenderBerry* berries, struct Pokeblock* pokeblock, u8 numPlayers, u8 *flavors, u16 maxRPM) { CalculatePokeblock(berries, pokeblock, numPlayers, flavors, maxRPM); } @@ -2628,7 +2628,7 @@ static void CB2_EndBlenderGame(void) if (gReceivedRemoteLinkPlayers && gWirelessCommType) { - struct BlenderGameBlock *receivedBlock = (struct BlenderGameBlock*)(&gBlockRecvBuffer); + struct BlenderGameBlock *receivedBlock = (struct BlenderGameBlock *)(&gBlockRecvBuffer); sBerryBlender->maxRPM = receivedBlock->timeRPM.maxRPM; sBerryBlender->gameFrameTime = receivedBlock->timeRPM.time; @@ -2641,7 +2641,7 @@ static void CB2_EndBlenderGame(void) } else { - struct TimeAndRPM *receivedBlock = (struct TimeAndRPM*)(&gBlockRecvBuffer); + struct TimeAndRPM *receivedBlock = (struct TimeAndRPM *)(&gBlockRecvBuffer); sBerryBlender->maxRPM = receivedBlock->maxRPM; sBerryBlender->gameFrameTime = receivedBlock->time; @@ -3159,7 +3159,7 @@ static void SetBgPos(void) SetGpuReg(REG_OFFSET_BG0VOFS, sBerryBlender->bg_Y); } -static void SpriteCB_Particle(struct Sprite* sprite) +static void SpriteCB_Particle(struct Sprite *sprite) { sprite->data[2] += sprite->data[0]; sprite->data[3] += sprite->data[1]; @@ -3194,7 +3194,7 @@ static void CreateParticleSprites(void) } } -static void SpriteCB_ScoreSymbol(struct Sprite* sprite) +static void SpriteCB_ScoreSymbol(struct Sprite *sprite) { sprite->data[0]++; sprite->y2 = -(sprite->data[0] / 3); @@ -3203,7 +3203,7 @@ static void SpriteCB_ScoreSymbol(struct Sprite* sprite) DestroySprite(sprite); } -static void SpriteCB_ScoreSymbolBest(struct Sprite* sprite) +static void SpriteCB_ScoreSymbolBest(struct Sprite *sprite) { sprite->data[0]++; sprite->y2 = -(sprite->data[0] * 2); @@ -3225,7 +3225,7 @@ static void SetPlayerBerryData(u8 playerId, u16 itemId) #define sDelay data[2] #define sAnimId data[3] -static void SpriteCB_CountdownNumber(struct Sprite* sprite) +static void SpriteCB_CountdownNumber(struct Sprite *sprite) { switch (sprite->sState) { @@ -3272,7 +3272,7 @@ static void SpriteCB_CountdownNumber(struct Sprite* sprite) #undef sDelay #undef sAnimId -static void SpriteCB_Start(struct Sprite* sprite) +static void SpriteCB_Start(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3318,7 +3318,7 @@ static void UpdateProgressBar(u16 value, u16 limit) s32 amountFilled, maxFilledSegment, subSegmentsFilled, i; u16 *vram; - vram = (u16*)(BG_SCREEN_ADDR(12)); + vram = (u16 *)(BG_SCREEN_ADDR(12)); amountFilled = (value * 64) / limit; maxFilledSegment = amountFilled / 8; @@ -3368,22 +3368,22 @@ static void UpdateRPM(u16 speed) digits[i] = currentRPM % 10; currentRPM /= 10; } - *((u16*)(BG_SCREEN_ADDR(12) + 0x458)) = digits[4] + RPM_DIGIT; - *((u16*)(BG_SCREEN_ADDR(12) + 0x45A)) = digits[3] + RPM_DIGIT; - *((u16*)(BG_SCREEN_ADDR(12) + 0x45C)) = digits[2] + RPM_DIGIT; - *((u16*)(BG_SCREEN_ADDR(12) + 0x460)) = digits[1] + RPM_DIGIT; - *((u16*)(BG_SCREEN_ADDR(12) + 0x462)) = digits[0] + RPM_DIGIT; + *((u16 *)(BG_SCREEN_ADDR(12) + 0x458)) = digits[4] + RPM_DIGIT; + *((u16 *)(BG_SCREEN_ADDR(12) + 0x45A)) = digits[3] + RPM_DIGIT; + *((u16 *)(BG_SCREEN_ADDR(12) + 0x45C)) = digits[2] + RPM_DIGIT; + *((u16 *)(BG_SCREEN_ADDR(12) + 0x460)) = digits[1] + RPM_DIGIT; + *((u16 *)(BG_SCREEN_ADDR(12) + 0x462)) = digits[0] + RPM_DIGIT; } // Passed a pointer to the bg x/y // Used when hitting a Best at high RPM -static void ShakeBgCoordForHit(s16* coord, u16 speed) +static void ShakeBgCoordForHit(s16 *coord, u16 speed) { if (*coord == 0) *coord = (Random() % speed) - (speed / 2); } -static void RestoreBgCoord(s16* coord) +static void RestoreBgCoord(s16 *coord) { if (*coord < 0) (*coord)++; @@ -3398,7 +3398,7 @@ static void RestoreBgCoords(void) RestoreBgCoord(&sBerryBlender->bg_Y); } -static void BlenderLandShakeBgCoord(s16* coord, u16 timer) +static void BlenderLandShakeBgCoord(s16 *coord, u16 timer) { s32 strength; @@ -3443,7 +3443,7 @@ static bool8 UpdateBlenderLandScreenShake(void) return FALSE; } -static void SpriteCB_PlayerArrow(struct Sprite* sprite) +static void SpriteCB_PlayerArrow(struct Sprite *sprite) { sprite->x2 = -(sBerryBlender->bg_X); sprite->y2 = -(sBerryBlender->bg_Y); @@ -3553,7 +3553,7 @@ static bool8 PrintBlendingResults(void) sBerryBlender->mainState++; break; case 5: - ClearStdWindowAndFrameToTransparent(5, 1); + ClearStdWindowAndFrameToTransparent(5, TRUE); for (i = 0; i < BLENDER_MAX_PLAYERS; i++) { @@ -3692,7 +3692,7 @@ static bool8 PrintBlendingRanking(void) } break; case 3: - DrawStdFrameWithCustomTileAndPalette(5, 0, 1, 0xD); + DrawStdFrameWithCustomTileAndPalette(5, FALSE, 1, 0xD); xPos = GetStringCenterAlignXOffset(FONT_NORMAL, sText_Ranking, 168); Blender_AddTextPrinter(5, sText_Ranking, xPos, 1, TEXT_SKIP_DRAW, 0); @@ -3764,7 +3764,7 @@ void ShowBerryBlenderRecordWindow(void) winTemplate = sBlenderRecordWindowTemplate; gRecordsWindowId = AddWindow(&winTemplate); - DrawStdWindowFrame(gRecordsWindowId, 0); + DrawStdWindowFrame(gRecordsWindowId, FALSE); FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1)); xPos = GetStringCenterAlignXOffset(FONT_NORMAL, gText_BlenderMaxSpeedRecord, 144); diff --git a/src/berry_crush.c b/src/berry_crush.c index e6e2d87427..d93dbe80ad 100755 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -874,7 +874,7 @@ static const struct DigitObjUtilTemplate sDigitObjTemplates[] = .xDelta = 8, .x = 156, .y = 0, - .spriteSheet = (void*) &sSpriteSheets[3], + .spriteSheet = (void *) &sSpriteSheets[3], .spritePal = &sSpritePals[2], }, { // Seconds @@ -886,7 +886,7 @@ static const struct DigitObjUtilTemplate sDigitObjTemplates[] = .xDelta = 8, .x = 180, .y = 0, - .spriteSheet = (void*) &sSpriteSheets[3], + .spriteSheet = (void *) &sSpriteSheets[3], .spritePal = &sSpritePals[2], }, { // 1/60ths of a second @@ -898,7 +898,7 @@ static const struct DigitObjUtilTemplate sDigitObjTemplates[] = .xDelta = 8, .x = 204, .y = 0, - .spriteSheet = (void*) &sSpriteSheets[3], + .spriteSheet = (void *) &sSpriteSheets[3], .spritePal = &sSpritePals[2], } }; @@ -1752,7 +1752,7 @@ static bool32 OpenResultsWindow(struct BerryCrushGame *game, struct BerryCrushGa break; case 2: LoadUserWindowBorderGfx_(gfx->resultsWindowId, 541, 208); - DrawStdFrameWithCustomTileAndPalette(gfx->resultsWindowId, 0, 541, 13); + DrawStdFrameWithCustomTileAndPalette(gfx->resultsWindowId, FALSE, 541, 13); break; case 3: playerCountIdx = game->playerCount - 2; @@ -1788,7 +1788,7 @@ static bool32 OpenResultsWindow(struct BerryCrushGame *game, struct BerryCrushGa static void CloseResultsWindow(struct BerryCrushGame *game) { - ClearStdWindowAndFrameToTransparent(game->gfx.resultsWindowId, 1); + ClearStdWindowAndFrameToTransparent(game->gfx.resultsWindowId, TRUE); RemoveWindow(game->gfx.resultsWindowId); DrawPlayerNameWindows(game); } @@ -1810,7 +1810,7 @@ static void Task_ShowRankings(u8 taskId) PutWindowTilemap(tWindowId); FillWindowPixelBuffer(tWindowId, PIXEL_FILL(0)); LoadUserWindowBorderGfx_(tWindowId, 541, 208); - DrawStdFrameWithCustomTileAndPalette(tWindowId, 0, 541, 13); + DrawStdFrameWithCustomTileAndPalette(tWindowId, FALSE, 541, 13); break; case 1: // Print header text @@ -1849,12 +1849,12 @@ static void Task_ShowRankings(u8 taskId) else return; case 3: - ClearStdWindowAndFrameToTransparent(tWindowId, 1); + ClearStdWindowAndFrameToTransparent(tWindowId, TRUE); ClearWindowTilemap(tWindowId); RemoveWindow(tWindowId); DestroyTask(taskId); - EnableBothScriptContexts(); - ScriptContext2_Disable(); + ScriptContext_Enable(); + UnlockPlayerFieldControls(); tState = 0; return; } @@ -1865,7 +1865,7 @@ void ShowBerryCrushRankings(void) { u8 taskId; - ScriptContext2_Enable(); + LockPlayerFieldControls(); taskId = CreateTask(Task_ShowRankings, 0); gTasks[taskId].tPressingSpeeds(0) = gSaveBlock2Ptr->berryCrush.pressingSpeeds[0]; gTasks[taskId].tPressingSpeeds(1) = gSaveBlock2Ptr->berryCrush.pressingSpeeds[1]; @@ -1885,9 +1885,9 @@ static void HideTimer(struct BerryCrushGame_Gfx *gfx) { gfx->timerSprites[0]->invisible = TRUE; gfx->timerSprites[1]->invisible = TRUE; - DigitObjUtil_HideOrShow(2, 1); - DigitObjUtil_HideOrShow(1, 1); - DigitObjUtil_HideOrShow(0, 1); + DigitObjUtil_HideOrShow(2, TRUE); + DigitObjUtil_HideOrShow(1, TRUE); + DigitObjUtil_HideOrShow(0, TRUE); } static void CreatePlayerNameWindows(struct BerryCrushGame *game) @@ -2258,11 +2258,11 @@ static u32 Cmd_PrintMessage(struct BerryCrushGame *game, u8 *args) if (args[1] & F_MSG_EXPAND) { StringExpandPlaceholders(gStringVar4, sMessages[args[0]]); - AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, game->textSpeed, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, game->textSpeed, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); } else { - AddTextPrinterParameterized2(0, FONT_NORMAL, sMessages[args[0]], game->textSpeed, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sMessages[args[0]], game->textSpeed, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); } CopyWindowToVram(0, COPYWIN_FULL); break; @@ -2282,7 +2282,7 @@ static u32 Cmd_PrintMessage(struct BerryCrushGame *game, u8 *args) break; case 3: if (args[1] & F_MSG_CLEAR) - ClearDialogWindowAndFrame(0, 1); + ClearDialogWindowAndFrame(0, TRUE); RunOrScheduleCommand(game->nextCmd, SCHEDULE_CMD, NULL); game->cmdState = args[4]; return 0; @@ -2402,7 +2402,7 @@ static u32 Cmd_WaitForOthersToPickBerries(struct BerryCrushGame *game, u8 *args) game->targetDepth = MathUtil_Div32(Q_24_8(game->targetAPresses), Q_24_8(32)); break; case 5: - ClearDialogWindowAndFrame(0, 1); + ClearDialogWindowAndFrame(0, TRUE); RunOrScheduleCommand(CMD_DROP_BERRIES, SCHEDULE_CMD, NULL); game->gameState = STATE_DROP_BERRIES; game->cmdState = 0; @@ -3242,7 +3242,7 @@ static u32 Cmd_SaveGame(struct BerryCrushGame *game, u8 *args) if (!IsLinkTaskFinished()) return 0; DrawDialogueFrame(0, FALSE); - AddTextPrinterParameterized2(0, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); CopyWindowToVram(0, COPYWIN_FULL); CreateTask(Task_LinkFullSave, 0); break; @@ -3295,7 +3295,7 @@ static u32 Cmd_AskPlayAgain(struct BerryCrushGame *game, u8 *args) } // Close Yes/No and start communication - ClearDialogWindowAndFrame(0, 1); + ClearDialogWindowAndFrame(0, TRUE); SetPrintMessageArgs(args, MSG_COMM_STANDBY, 0, 0, 0); game->nextCmd = CMD_COMM_PLAY_AGAIN; RunOrScheduleCommand(CMD_PRINT_MSG, SCHEDULE_CMD, NULL); @@ -3367,7 +3367,7 @@ static u32 Cmd_PlayAgain(struct BerryCrushGame *game, u8 *args) return 0; break; case 2: - ClearDialogWindowAndFrame(0, 1); + ClearDialogWindowAndFrame(0, TRUE); ResetCrusherPos(game); BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); UpdatePaletteFade(); @@ -3391,9 +3391,9 @@ static u32 Cmd_StopGame(struct BerryCrushGame *game, u8 *args) case 0: DrawDialogueFrame(0, FALSE); if (game->playAgainState == PLAY_AGAIN_NO_BERRIES) - AddTextPrinterParameterized2(0, FONT_NORMAL, sMessages[MSG_NO_BERRIES], game->textSpeed, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sMessages[MSG_NO_BERRIES], game->textSpeed, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); else - AddTextPrinterParameterized2(0, FONT_NORMAL, sMessages[MSG_DROPPED], game->textSpeed, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sMessages[MSG_DROPPED], game->textSpeed, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); CopyWindowToVram(0, COPYWIN_FULL); break; case 1: @@ -3428,7 +3428,7 @@ static u32 Cmd_CloseLink(struct BerryCrushGame *game, u8 *args) SetCloseLinkCallback(); break; case 2: - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) return 0; game->nextCmd = CMD_QUIT; RunOrScheduleCommand(CMD_HIDE_GAME, SCHEDULE_CMD, NULL); diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 219454ab26..f683c73f45 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -276,7 +276,7 @@ static bool8 InitBerryTagScreen(void) gMain.state++; break; case 14: - BlendPalettes(PALETTES_ALL, 0x10, 0); + BlendPalettes(PALETTES_ALL, 0x10, RGB_BLACK); gMain.state++; break; case 15: diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index 876e6b4a73..6b5d66d315 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -86,7 +86,7 @@ void DoBrailleDigEffect(void) DrawWholeMapView(); PlaySE(SE_BANG); FlagSet(FLAG_SYS_BRAILLE_DIG); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); } bool8 CheckRelicanthWailord(void) @@ -152,7 +152,7 @@ static void Task_SealedChamberShakingEffect(u8 taskId) if (task->tShakeCounter == task->tNumShakes) { DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); InstallCameraPanAheadCallback(); } } @@ -213,7 +213,7 @@ static void DoBrailleRegirockEffect(void) DrawWholeMapView(); PlaySE(SE_BANG); FlagSet(FLAG_SYS_REGIROCK_PUZZLE_COMPLETED); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); } bool8 ShouldDoBrailleRegisteelEffect(void) @@ -252,7 +252,7 @@ static void DoBrailleRegisteelEffect(void) DrawWholeMapView(); PlaySE(SE_BANG); FlagSet(FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); } // theory: another commented out DoBrailleWait and Task_BrailleWait. diff --git a/src/cable_car.c b/src/cable_car.c index c81764728b..dd1da31762 100644 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -202,7 +202,7 @@ static const struct OamData sOam_Cable = .paletteNum = 0, }; -static const struct SpriteTemplate sSpriteTemplate_CableCar[] = +static const struct SpriteTemplate sSpriteTemplates_CableCar[] = { { .tileTag = TAG_CABLE_CAR, @@ -224,7 +224,8 @@ static const struct SpriteTemplate sSpriteTemplate_CableCar[] = }, }; -static const struct SpriteTemplate sSpriteTemplate_Cable = { +static const struct SpriteTemplate sSpriteTemplate_Cable = +{ .tileTag = TAG_CABLE, .paletteTag = TAG_CABLE_CAR, .oam = &sOam_Cable, @@ -245,7 +246,7 @@ static void Task_LoadCableCar(u8 taskId) void CableCar(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); CreateTask(Task_LoadCableCar, 1); BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB(0, 0, 0)); } @@ -836,12 +837,12 @@ static void CreateCableCarSprites(void) gSprites[spriteId].sYPos = 73; } // Create car sprite - spriteId = CreateSprite(&sSpriteTemplate_CableCar[0], 176, 43, 0x67); + spriteId = CreateSprite(&sSpriteTemplates_CableCar[0], 176, 43, 0x67); gSprites[spriteId].x2 = gSprites[spriteId].y2 = 32; gSprites[spriteId].sXPos = 176; gSprites[spriteId].sYPos = 43; // Create door sprite - spriteId = CreateSprite(&sSpriteTemplate_CableCar[1], 200, 99, 0x65); + spriteId = CreateSprite(&sSpriteTemplates_CableCar[1], 200, 99, 0x65); gSprites[spriteId].x2 = 8; gSprites[spriteId].y2 = 4; gSprites[spriteId].sXPos = 200; @@ -864,12 +865,12 @@ static void CreateCableCarSprites(void) gSprites[spriteId].sYPos = 39; } // Create car sprite - spriteId = CreateSprite(&sSpriteTemplate_CableCar[0], 104, 9, 0x67); + spriteId = CreateSprite(&sSpriteTemplates_CableCar[0], 104, 9, 0x67); gSprites[spriteId].x2 = gSprites[spriteId].y2 = 32; gSprites[spriteId].sXPos = 104; gSprites[spriteId].sYPos = 9; // Create door sprite - spriteId = CreateSprite(&sSpriteTemplate_CableCar[1], 128, 65, 0x65); + spriteId = CreateSprite(&sSpriteTemplates_CableCar[1], 128, 65, 0x65); gSprites[spriteId].x2 = 8; gSprites[spriteId].y2 = 4; gSprites[spriteId].sXPos = 128; diff --git a/src/cable_club.c b/src/cable_club.c index 4ee2797f4d..913a1b7287 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -97,7 +97,7 @@ static void PrintNumPlayersInLink(u16 windowId, u32 numPlayers) u8 xPos; ConvertIntToDecimalStringN(gStringVar1, numPlayers, STR_CONV_MODE_LEFT_ALIGN, 1); - SetStandardWindowBorderStyle(windowId, 0); + SetStandardWindowBorderStyle(windowId, FALSE); StringExpandPlaceholders(gStringVar4, gText_NumPlayerLink); xPos = GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 88); AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, xPos, 1, TEXT_SKIP_DRAW, NULL); @@ -486,7 +486,7 @@ static void FinishLinkup(u16 *linkupStatus, u32 taskId) { // Successful battle tower linkup ClearLinkPlayerCountWindow(gTasks[taskId].tWindowId); - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } } @@ -494,7 +494,7 @@ static void FinishLinkup(u16 *linkupStatus, u32 taskId) { // Successful linkup ClearLinkPlayerCountWindow(gTasks[taskId].tWindowId); - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } } @@ -531,7 +531,7 @@ static void Task_StopLinkup(u8 taskId) if (!gReceivedRemoteLinkPlayers) { ClearLinkPlayerCountWindow(gTasks[taskId].tWindowId); - EnableBothScriptContexts(); + ScriptContext_Enable(); RemoveWindow(gTasks[taskId].tWindowId); DestroyTask(taskId); } @@ -543,7 +543,7 @@ static void Task_LinkupFailed(u8 taskId) ClearLinkPlayerCountWindow(gTasks[taskId].tWindowId); StopFieldMessage(); RemoveWindow(gTasks[taskId].tWindowId); - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } @@ -553,7 +553,7 @@ static void Task_LinkupConnectionError(u8 taskId) ClearLinkPlayerCountWindow(gTasks[taskId].tWindowId); RemoveWindow(gTasks[taskId].tWindowId); HideFieldMessageBox(); - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } @@ -688,13 +688,13 @@ static void Task_ValidateMixingGameLanguage(u8 taskId) return; } } - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); break; case 1: if (!gReceivedRemoteLinkPlayers) { - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } break; @@ -833,7 +833,7 @@ static void SetLinkBattleTypeFlags(int linkService) static void Task_StartWiredCableClubBattle(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; switch (task->tState) { @@ -879,7 +879,7 @@ static void Task_StartWiredCableClubBattle(u8 taskId) static void Task_StartWirelessCableClubBattle(u8 taskId) { int i; - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; switch (tState) { @@ -1042,7 +1042,7 @@ void ExitLinkRoom(void) // Note: gSpecialVar_0x8005 contains the id of the seat the player entered static void Task_EnterCableClubSeat(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; switch (task->tState) { @@ -1080,7 +1080,7 @@ static void Task_EnterCableClubSeat(u8 taskId) SetLinkWaitingForScript(); EraseFieldMessageBox(TRUE); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); break; } } @@ -1089,7 +1089,7 @@ void CreateTask_EnterCableClubSeat(TaskFunc followupFunc) { u8 taskId = CreateTask(Task_EnterCableClubSeat, 80); SetTaskFuncWithFollowupFunc(taskId, Task_EnterCableClubSeat, followupFunc); - ScriptContext1_Stop(); + ScriptContext_Stop(); } static void Task_StartWiredTrade(u8 taskId) @@ -1099,7 +1099,7 @@ static void Task_StartWiredTrade(u8 taskId) switch (task->tState) { case 0: - ScriptContext2_Enable(); + LockPlayerFieldControls(); FadeScreen(FADE_TO_BLACK, 0); ClearLinkCallback_2(); task->tState++; @@ -1132,7 +1132,7 @@ static void Task_StartWirelessTrade(u8 taskId) switch (tState) { case 0: - ScriptContext2_Enable(); + LockPlayerFieldControls(); FadeScreen(FADE_TO_BLACK, 0); ClearLinkRfuCallback(); tState++; @@ -1176,7 +1176,7 @@ static void CreateTask_StartWiredTrade(void) void Script_StartWiredTrade(void) { // CreateTask_StartWiredTrade(); - // ScriptContext1_Stop(); + // ScriptContext_Stop(); } void ColosseumPlayerSpotTriggered(void) @@ -1193,7 +1193,7 @@ void ColosseumPlayerSpotTriggered(void) static void CreateTask_EnterCableClubSeatNoFollowup(void) { u8 taskId = CreateTask(Task_EnterCableClubSeat, 80); - ScriptContext1_Stop(); + ScriptContext_Stop(); } void Script_ShowLinkTrainerCard(void) @@ -1257,7 +1257,7 @@ static void Task_WaitExitToScript(u8 taskId) { if (!gReceivedRemoteLinkPlayers) { - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } } diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c index 9bde45e97b..9b79b48f1f 100644 --- a/src/clear_save_data_screen.c +++ b/src/clear_save_data_screen.c @@ -79,7 +79,7 @@ void CB2_InitClearSaveDataScreen(void) static void Task_DoClearSaveDataScreenYesNo(u8 taskId) { - DrawStdFrameWithCustomTileAndPalette(0, 0, 2, 14); + DrawStdFrameWithCustomTileAndPalette(0, FALSE, 2, 14); AddTextPrinterParameterized(0, FONT_NORMAL, gText_ClearAllSaveData, 0, 1, 0, 0); CreateYesNoMenu(sClearSaveYesNo, 2, 14, 1); gTasks[taskId].func = Task_ClearSaveDataScreenYesNoChoice; diff --git a/src/contest.c b/src/contest.c index da57d9e289..b2c875a583 100644 --- a/src/contest.c +++ b/src/contest.c @@ -388,7 +388,7 @@ static const struct OamData sOam_SliderHeart = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -473,7 +473,7 @@ static const struct OamData sOam_NextTurn = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, @@ -859,19 +859,19 @@ static const struct CompressedSpriteSheet sSpriteSheets_ContestantsTurnBlinkEffe static const struct SpritePalette sSpritePalettes_ContestantsTurnBlinkEffect[CONTESTANT_COUNT] = { { - .data = (u16*)(gHeap + 0x1A0A4), + .data = (u16 *)(gHeap + 0x1A0A4), .tag = TAG_BLINK_EFFECT_CONTESTANT0 }, { - .data = (u16*)(gHeap + 0x1A0C4), + .data = (u16 *)(gHeap + 0x1A0C4), .tag = TAG_BLINK_EFFECT_CONTESTANT1 }, { - .data = (u16*)(gHeap + 0x1A0E4), + .data = (u16 *)(gHeap + 0x1A0E4), .tag = TAG_BLINK_EFFECT_CONTESTANT2 }, { - .data = (u16*)(gHeap + 0x1A104), + .data = (u16 *)(gHeap + 0x1A104), .tag = TAG_BLINK_EFFECT_CONTESTANT3 } }; @@ -1396,7 +1396,7 @@ static void Task_RaiseCurtainAtStart(u8 taskId) gTasks[taskId].data[0]++; break; case 1: - *(s16*)&gBattle_BG1_Y += 7; + *(s16 *)&gBattle_BG1_Y += 7; if ((s16)gBattle_BG1_Y <= DISPLAY_HEIGHT) break; gTasks[taskId].data[0]++; @@ -1582,7 +1582,7 @@ static void Task_HandleMoveSelectInput(u8 taskId) StringCopy(gDisplayedStringBattle, gText_AppealNumButItCantParticipate); ContestClearGeneralTextWindow(); StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle); - Contest_StartTextPrinter(gStringVar4, 0); + Contest_StartTextPrinter(gStringVar4, FALSE); gBattle_BG0_Y = 0; gBattle_BG2_Y = 0; gTasks[taskId].func = Task_TryShowMoveSelectScreen; @@ -1814,7 +1814,7 @@ static void Task_DoAppeals(u8 taskId) else StringCopy(gStringVar2, sInvalidContestMoveNames[eContestantStatus[contestant].moveCategory]); StringExpandPlaceholders(gStringVar4, gText_MonAppealedWithMove); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].tState = APPEALSTATE_WAIT_USED_MOVE_MSG; } return; @@ -2076,7 +2076,7 @@ static void Task_DoAppeals(u8 taskId) ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[contestant].nickname); StringExpandPlaceholders(gStringVar4, gText_MonCantAppealNextTurn); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); } gTasks[taskId].tState = APPEALSTATE_WAIT_SKIP_NEXT_TURN_MSG; } @@ -2118,7 +2118,7 @@ static void Task_DoAppeals(u8 taskId) ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[contestant].nickname); StringExpandPlaceholders(gStringVar4, gText_JudgeLookedAtMonExpectantly); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); DoJudgeSpeechBubble(JUDGE_SYMBOL_ONE_EXCLAMATION); gTasks[taskId].tCounter = 0; gTasks[taskId].tState = APPEALSTATE_WAIT_JUDGE_COMBO; @@ -2231,7 +2231,7 @@ static void Task_DoAppeals(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_MonsXWentOverGreat); else StringExpandPlaceholders(gStringVar4, gText_MonsXGotTheCrowdGoing); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].tCounter = 0; gTasks[taskId].data[11] = 0; if (r3 < 0) @@ -2753,8 +2753,8 @@ static void Task_ContestReturnToField(u8 taskId) static void FieldCB_ContestReturnToField(void) { - ScriptContext2_Disable(); - EnableBothScriptContexts(); + UnlockPlayerFieldControls(); + ScriptContext_Enable(); } static void TryPutPlayerLast(void) @@ -3666,7 +3666,7 @@ static void ContestPrintLinkStandby(void) gBattle_BG0_Y = 0; gBattle_BG2_Y = 0; ContestClearGeneralTextWindow(); - Contest_StartTextPrinter(gText_LinkStandby4, 0); + Contest_StartTextPrinter(gText_LinkStandby4, FALSE); } static void FillContestantWindowBgs(void) @@ -4577,7 +4577,7 @@ static void PrintAppealMoveResultText(u8 contestant, u8 stringId) StringCopy(gStringVar3, gText_Contest_Fear); StringExpandPlaceholders(gStringVar4, sAppealResultTexts[stringId]); ContestClearGeneralTextWindow(); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); } void MakeContestantNervous(u8 p) @@ -5694,6 +5694,8 @@ static void SetContestLiveUpdateFlags(u8 contestant) } } +#define APPEAL_MOVES_END 0xFFFF + static void CalculateContestLiveUpdateData(void) { u8 loser; @@ -5758,7 +5760,7 @@ static void CalculateContestLiveUpdateData(void) appealMoves[i] = MOVE_NONE; numMoveUses[i] = 0; } - appealMoves[CONTEST_NUM_APPEALS] = 0xFFFF; + appealMoves[CONTEST_NUM_APPEALS] = APPEAL_MOVES_END; numMoveUses[CONTEST_NUM_APPEALS] = 0; for (i = 0; i < CONTEST_NUM_APPEALS; i++) @@ -5787,7 +5789,7 @@ static void CalculateContestLiveUpdateData(void) moveCandidates[0] = appealMoves[0]; mostUses = numMoveUses[0]; numMoveCandidates = 0; - for (i = 1; appealMoves[i] != 0xFFFF; i++) + for (i = 1; appealMoves[i] != APPEAL_MOVES_END; i++) { if (mostUses < numMoveUses[i]) { diff --git a/src/contest_util.c b/src/contest_util.c index d8726d860f..d44b47373c 100644 --- a/src/contest_util.c +++ b/src/contest_util.c @@ -196,7 +196,7 @@ static const struct OamData sOamData_ResultsTextWindow = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -242,7 +242,7 @@ static const struct OamData sOamData_Confetti = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -365,7 +365,7 @@ static const struct OamData sOamData_WirelessIndicatorWindow = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -1196,7 +1196,7 @@ static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId) spriteTilePtrs[0] = (u8 *)(sprite->oam.tileNum * 32 + OBJ_VRAM0); for (i = 1; i < (int)ARRAY_COUNT(spriteTilePtrs); i++) - spriteTilePtrs[i] = (void*)(gSprites[sprite->data[i - 1]].oam.tileNum * 32 + OBJ_VRAM0); + spriteTilePtrs[i] = (void *)(gSprites[sprite->data[i - 1]].oam.tileNum * 32 + OBJ_VRAM0); for (i = 0; i < (int)ARRAY_COUNT(spriteTilePtrs); i++) CpuFill32(0, spriteTilePtrs[i], 0x400); @@ -2129,7 +2129,7 @@ static void Task_StartContest(u8 taskId) void StartContest(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); CreateTask(Task_StartContest, 10); BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); } @@ -2150,7 +2150,7 @@ static void Task_StartShowContestResults(u8 taskId) void ShowContestResults(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); CreateTask(Task_StartShowContestResults, 10); BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); } @@ -2163,7 +2163,7 @@ void GetContestPlayerId(void) void ContestLinkTransfer(u8 category) { u8 newTaskId; - ScriptContext2_Enable(); + LockPlayerFieldControls(); newTaskId = CreateTask(Task_LinkContest_Init, 0); SetTaskFuncWithFollowupFunc(newTaskId, Task_LinkContest_Init, Task_StartCommunication); gTasks[newTaskId].data[9] = category; @@ -2265,8 +2265,8 @@ void Task_LinkContest_FinalizeConnection(u8 taskId) DestroyTask(taskId); SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE); - ScriptContext2_Disable(); - EnableBothScriptContexts(); + UnlockPlayerFieldControls(); + ScriptContext_Enable(); } } @@ -2281,8 +2281,8 @@ static void Task_LinkContest_WaitDisconnect(u8 taskId) if (!gReceivedRemoteLinkPlayers) { DestroyTask(taskId); - ScriptContext2_Disable(); - EnableBothScriptContexts(); + UnlockPlayerFieldControls(); + ScriptContext_Enable(); } } @@ -2639,7 +2639,7 @@ static void Task_ShowContestEntryMonPic(u8 taskId) break; case 1: task->data[5] = CreateWindowFromRect(10, 3, 8, 8); - SetStandardWindowBorderStyle(task->data[5], 1); + SetStandardWindowBorderStyle(task->data[5], TRUE); task->data[0]++; break; case 2: @@ -2726,7 +2726,7 @@ static void Task_LinkContestWaitForConnection(u8 taskId) default: if (IsLinkTaskFinished() == 1) { - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } break; diff --git a/src/credits.c b/src/credits.c index 33362fb38b..c318595999 100644 --- a/src/credits.c +++ b/src/credits.c @@ -286,7 +286,7 @@ static const struct OamData sOamData_MonBg = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, diff --git a/src/crt0.s b/src/crt0.s index 523061f52d..5808147220 100644 --- a/src/crt0.s +++ b/src/crt0.s @@ -5,8 +5,7 @@ .arm .align 2, 0 - .global Init -Init: +Init:: mov r0, #PSR_IRQ_MODE msr cpsr_cf, r0 ldr sp, sp_irq @@ -33,8 +32,7 @@ sp_irq: .word IWRAM_END - 0x60 .arm .align 2, 0 - .global IntrMain -IntrMain: +IntrMain:: mov r3, #REG_BASE add r3, r3, #OFFSET_REG_IE ldr r2, [r3] diff --git a/src/data/battle_frontier/battle_frontier_trainer_mons.h b/src/data/battle_frontier/battle_frontier_trainer_mons.h index efd9ef84dd..625a602658 100644 --- a/src/data/battle_frontier/battle_frontier_trainer_mons.h +++ b/src/data/battle_frontier/battle_frontier_trainer_mons.h @@ -1,67 +1,67 @@ // Also used by early Pkmn Breeder, Collector, and Beauty trainers #define FRONTIER_MONS_YOUNGSTER_LASS_1 \ - FRONTIER_MON_SUNKERN, \ - FRONTIER_MON_AZURILL, \ - FRONTIER_MON_CATERPIE, \ - FRONTIER_MON_WEEDLE, \ - FRONTIER_MON_WURMPLE, \ - FRONTIER_MON_RALTS, \ - FRONTIER_MON_MAGIKARP, \ - FRONTIER_MON_FEEBAS, \ - FRONTIER_MON_PICHU, \ - FRONTIER_MON_IGGLYBUFF, \ - FRONTIER_MON_WOOPER, \ - FRONTIER_MON_TYROGUE, \ - FRONTIER_MON_SENTRET, \ - FRONTIER_MON_CLEFFA, \ - FRONTIER_MON_SEEDOT, \ - FRONTIER_MON_LOTAD, \ - FRONTIER_MON_POOCHYENA, \ - FRONTIER_MON_SHEDINJA, \ - FRONTIER_MON_MAKUHITA, \ - FRONTIER_MON_WHISMUR, \ - FRONTIER_MON_ZIGZAGOON, \ - FRONTIER_MON_ZUBAT, \ - FRONTIER_MON_TOGEPI, \ - FRONTIER_MON_SPINARAK, \ - FRONTIER_MON_MARILL, \ - FRONTIER_MON_HOPPIP, \ - FRONTIER_MON_SLUGMA, \ - FRONTIER_MON_SWINUB, \ - FRONTIER_MON_SMEARGLE, \ - FRONTIER_MON_PIDGEY, \ - FRONTIER_MON_RATTATA, \ - FRONTIER_MON_WYNAUT, \ - FRONTIER_MON_SKITTY, \ - FRONTIER_MON_SPEAROW, \ - FRONTIER_MON_HOOTHOOT, \ - FRONTIER_MON_DIGLETT, \ - FRONTIER_MON_LEDYBA, \ - FRONTIER_MON_NINCADA, \ - FRONTIER_MON_SURSKIT, \ - FRONTIER_MON_JIGGLYPUFF, \ - FRONTIER_MON_TAILLOW, \ - FRONTIER_MON_WINGULL, \ - FRONTIER_MON_NIDORAN_M, \ - FRONTIER_MON_NIDORAN_F, \ - FRONTIER_MON_KIRLIA, \ - FRONTIER_MON_MAREEP, \ - FRONTIER_MON_MEDITITE, \ - FRONTIER_MON_SLAKOTH, \ - FRONTIER_MON_PARAS, \ - FRONTIER_MON_EKANS, \ - FRONTIER_MON_DITTO, \ - FRONTIER_MON_BARBOACH, \ - FRONTIER_MON_MEOWTH, \ - FRONTIER_MON_PINECO, \ - FRONTIER_MON_TRAPINCH, \ - FRONTIER_MON_SPHEAL, \ - FRONTIER_MON_HORSEA, \ - FRONTIER_MON_SHROOMISH, \ - FRONTIER_MON_SHUPPET, \ - FRONTIER_MON_DUSKULL, \ - FRONTIER_MON_ELECTRIKE, \ - FRONTIER_MON_VULPIX, \ + FRONTIER_MON_SUNKERN, \ + FRONTIER_MON_AZURILL, \ + FRONTIER_MON_CATERPIE, \ + FRONTIER_MON_WEEDLE, \ + FRONTIER_MON_WURMPLE, \ + FRONTIER_MON_RALTS, \ + FRONTIER_MON_MAGIKARP, \ + FRONTIER_MON_FEEBAS, \ + FRONTIER_MON_PICHU, \ + FRONTIER_MON_IGGLYBUFF, \ + FRONTIER_MON_WOOPER, \ + FRONTIER_MON_TYROGUE, \ + FRONTIER_MON_SENTRET, \ + FRONTIER_MON_CLEFFA, \ + FRONTIER_MON_SEEDOT, \ + FRONTIER_MON_LOTAD, \ + FRONTIER_MON_POOCHYENA, \ + FRONTIER_MON_SHEDINJA, \ + FRONTIER_MON_MAKUHITA, \ + FRONTIER_MON_WHISMUR, \ + FRONTIER_MON_ZIGZAGOON, \ + FRONTIER_MON_ZUBAT, \ + FRONTIER_MON_TOGEPI, \ + FRONTIER_MON_SPINARAK, \ + FRONTIER_MON_MARILL, \ + FRONTIER_MON_HOPPIP, \ + FRONTIER_MON_SLUGMA, \ + FRONTIER_MON_SWINUB, \ + FRONTIER_MON_SMEARGLE, \ + FRONTIER_MON_PIDGEY, \ + FRONTIER_MON_RATTATA, \ + FRONTIER_MON_WYNAUT, \ + FRONTIER_MON_SKITTY, \ + FRONTIER_MON_SPEAROW, \ + FRONTIER_MON_HOOTHOOT, \ + FRONTIER_MON_DIGLETT, \ + FRONTIER_MON_LEDYBA, \ + FRONTIER_MON_NINCADA, \ + FRONTIER_MON_SURSKIT, \ + FRONTIER_MON_JIGGLYPUFF, \ + FRONTIER_MON_TAILLOW, \ + FRONTIER_MON_WINGULL, \ + FRONTIER_MON_NIDORAN_M, \ + FRONTIER_MON_NIDORAN_F, \ + FRONTIER_MON_KIRLIA, \ + FRONTIER_MON_MAREEP, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_SLAKOTH, \ + FRONTIER_MON_PARAS, \ + FRONTIER_MON_EKANS, \ + FRONTIER_MON_DITTO, \ + FRONTIER_MON_BARBOACH, \ + FRONTIER_MON_MEOWTH, \ + FRONTIER_MON_PINECO, \ + FRONTIER_MON_TRAPINCH, \ + FRONTIER_MON_SPHEAL, \ + FRONTIER_MON_HORSEA, \ + FRONTIER_MON_SHROOMISH, \ + FRONTIER_MON_SHUPPET, \ + FRONTIER_MON_DUSKULL, \ + FRONTIER_MON_ELECTRIKE, \ + FRONTIER_MON_VULPIX, \ -1 // Also used by early Pkmn Breeder, Collector, and Beauty trainers @@ -113,43 +113,43 @@ -1 #define FRONTIER_MONS_RICH_BOY_LADY_1 \ - FRONTIER_MON_RALTS, \ - FRONTIER_MON_POOCHYENA, \ - FRONTIER_MON_SHEDINJA, \ - FRONTIER_MON_ZUBAT, \ - FRONTIER_MON_SPINARAK, \ - FRONTIER_MON_WYNAUT, \ - FRONTIER_MON_NIDORAN_M, \ - FRONTIER_MON_NIDORAN_F, \ - FRONTIER_MON_KIRLIA, \ - FRONTIER_MON_MEDITITE, \ - FRONTIER_MON_EKANS, \ - FRONTIER_MON_SHUPPET, \ - FRONTIER_MON_DUSKULL, \ - FRONTIER_MON_BELLSPROUT, \ - FRONTIER_MON_BALTOY, \ - FRONTIER_MON_BELDUM, \ - FRONTIER_MON_GULPIN, \ - FRONTIER_MON_VENONAT, \ - FRONTIER_MON_SMOOCHUM, \ - FRONTIER_MON_ABRA, \ - FRONTIER_MON_GASTLY, \ - FRONTIER_MON_SLOWPOKE, \ - FRONTIER_MON_BULBASAUR, \ - FRONTIER_MON_ODDISH, \ - FRONTIER_MON_NATU, \ - FRONTIER_MON_GRIMER, \ - FRONTIER_MON_EXEGGCUTE, \ - FRONTIER_MON_DROWZEE, \ - FRONTIER_MON_HOUNDOUR, \ - FRONTIER_MON_SPOINK, \ - FRONTIER_MON_TENTACOOL, \ - FRONTIER_MON_KOFFING, \ - FRONTIER_MON_NIDORINA, \ - FRONTIER_MON_NIDORINO, \ - FRONTIER_MON_BEEDRILL, \ - FRONTIER_MON_DUSTOX, \ - FRONTIER_MON_ARIADOS, \ + FRONTIER_MON_RALTS, \ + FRONTIER_MON_POOCHYENA, \ + FRONTIER_MON_SHEDINJA, \ + FRONTIER_MON_ZUBAT, \ + FRONTIER_MON_SPINARAK, \ + FRONTIER_MON_WYNAUT, \ + FRONTIER_MON_NIDORAN_M, \ + FRONTIER_MON_NIDORAN_F, \ + FRONTIER_MON_KIRLIA, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_EKANS, \ + FRONTIER_MON_SHUPPET, \ + FRONTIER_MON_DUSKULL, \ + FRONTIER_MON_BELLSPROUT, \ + FRONTIER_MON_BALTOY, \ + FRONTIER_MON_BELDUM, \ + FRONTIER_MON_GULPIN, \ + FRONTIER_MON_VENONAT, \ + FRONTIER_MON_SMOOCHUM, \ + FRONTIER_MON_ABRA, \ + FRONTIER_MON_GASTLY, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_BULBASAUR, \ + FRONTIER_MON_ODDISH, \ + FRONTIER_MON_NATU, \ + FRONTIER_MON_GRIMER, \ + FRONTIER_MON_EXEGGCUTE, \ + FRONTIER_MON_DROWZEE, \ + FRONTIER_MON_HOUNDOUR, \ + FRONTIER_MON_SPOINK, \ + FRONTIER_MON_TENTACOOL, \ + FRONTIER_MON_KOFFING, \ + FRONTIER_MON_NIDORINA, \ + FRONTIER_MON_NIDORINO, \ + FRONTIER_MON_BEEDRILL, \ + FRONTIER_MON_DUSTOX, \ + FRONTIER_MON_ARIADOS, \ -1 // Also used by early Pkmn Breeder, Collector, and Beauty trainers diff --git a/src/data/easy_chat/easy_chat_group_pokemon2.h b/src/data/easy_chat/easy_chat_group_pokemon2.h index 44dce0cc84..331c5ac6c3 100755 --- a/src/data/easy_chat/easy_chat_group_pokemon2.h +++ b/src/data/easy_chat/easy_chat_group_pokemon2.h @@ -1,253 +1,253 @@ const u16 gEasyChatGroup_Pokemon2[] = { - SPECIES_ABRA, - SPECIES_AERODACTYL, - SPECIES_AIPOM, - SPECIES_ALAKAZAM, - SPECIES_AMPHAROS, - SPECIES_ARBOK, - SPECIES_ARCANINE, - SPECIES_ARIADOS, - SPECIES_ARTICUNO, - SPECIES_AZUMARILL, - SPECIES_BAYLEEF, - SPECIES_BEEDRILL, - SPECIES_BELLOSSOM, - SPECIES_BELLSPROUT, - SPECIES_BLASTOISE, - SPECIES_BLISSEY, - SPECIES_BULBASAUR, - SPECIES_BUTTERFREE, - SPECIES_CATERPIE, - SPECIES_CELEBI, - SPECIES_CHANSEY, - SPECIES_CHARIZARD, - SPECIES_CHARMANDER, - SPECIES_CHARMELEON, - SPECIES_CHIKORITA, - SPECIES_CHINCHOU, - SPECIES_CLEFABLE, - SPECIES_CLEFAIRY, - SPECIES_CLEFFA, - SPECIES_CLOYSTER, - SPECIES_CORSOLA, - SPECIES_CROBAT, - SPECIES_CROCONAW, - SPECIES_CUBONE, - SPECIES_CYNDAQUIL, - SPECIES_DELIBIRD, - SPECIES_DEWGONG, - SPECIES_DIGLETT, - SPECIES_DITTO, - SPECIES_DODRIO, - SPECIES_DODUO, - SPECIES_DONPHAN, - SPECIES_DRAGONAIR, - SPECIES_DRAGONITE, - SPECIES_DRATINI, - SPECIES_DROWZEE, - SPECIES_DUGTRIO, - SPECIES_DUNSPARCE, - SPECIES_EEVEE, - SPECIES_EKANS, - SPECIES_ELECTABUZZ, - SPECIES_ELECTRODE, - SPECIES_ELEKID, - SPECIES_ENTEI, - SPECIES_ESPEON, - SPECIES_EXEGGCUTE, - SPECIES_EXEGGUTOR, - SPECIES_FARFETCHD, - SPECIES_FEAROW, - SPECIES_FERALIGATR, - SPECIES_FLAAFFY, - SPECIES_FLAREON, - SPECIES_FORRETRESS, - SPECIES_FURRET, - SPECIES_GASTLY, - SPECIES_GENGAR, - SPECIES_GEODUDE, - SPECIES_GIRAFARIG, - SPECIES_GLIGAR, - SPECIES_GLOOM, - SPECIES_GOLBAT, - SPECIES_GOLDEEN, - SPECIES_GOLDUCK, - SPECIES_GOLEM, - SPECIES_GRANBULL, - SPECIES_GRAVELER, - SPECIES_GRIMER, - SPECIES_GROWLITHE, - SPECIES_GYARADOS, - SPECIES_HAUNTER, - SPECIES_HERACROSS, - SPECIES_HITMONCHAN, - SPECIES_HITMONLEE, - SPECIES_HITMONTOP, - SPECIES_HO_OH, - SPECIES_HOOTHOOT, - SPECIES_HOPPIP, - SPECIES_HORSEA, - SPECIES_HOUNDOOM, - SPECIES_HOUNDOUR, - SPECIES_HYPNO, - SPECIES_IGGLYBUFF, - SPECIES_IVYSAUR, - SPECIES_JIGGLYPUFF, - SPECIES_JOLTEON, - SPECIES_JUMPLUFF, - SPECIES_JYNX, - SPECIES_KABUTO, - SPECIES_KABUTOPS, - SPECIES_KADABRA, - SPECIES_KAKUNA, - SPECIES_KANGASKHAN, - SPECIES_KINGDRA, - SPECIES_KINGLER, - SPECIES_KOFFING, - SPECIES_KRABBY, - SPECIES_LANTURN, - SPECIES_LAPRAS, - SPECIES_LARVITAR, - SPECIES_LEDIAN, - SPECIES_LEDYBA, - SPECIES_LICKITUNG, - SPECIES_LUGIA, - SPECIES_MACHAMP, - SPECIES_MACHOKE, - SPECIES_MACHOP, - SPECIES_MAGBY, - SPECIES_MAGCARGO, - SPECIES_MAGIKARP, - SPECIES_MAGMAR, - SPECIES_MAGNEMITE, - SPECIES_MAGNETON, - SPECIES_MANKEY, - SPECIES_MANTINE, - SPECIES_MAREEP, - SPECIES_MARILL, - SPECIES_MAROWAK, - SPECIES_MEGANIUM, - SPECIES_MEOWTH, - SPECIES_METAPOD, - SPECIES_MEW, - SPECIES_MEWTWO, - SPECIES_MILTANK, - SPECIES_MISDREAVUS, - SPECIES_MOLTRES, - SPECIES_MR_MIME, - SPECIES_MUK, - SPECIES_MURKROW, - SPECIES_NATU, - SPECIES_NIDOKING, - SPECIES_NIDOQUEEN, - SPECIES_NIDORAN_F, - SPECIES_NIDORAN_M, - SPECIES_NIDORINA, - SPECIES_NIDORINO, - SPECIES_NINETALES, - SPECIES_NOCTOWL, - SPECIES_OCTILLERY, - SPECIES_ODDISH, - SPECIES_OMANYTE, - SPECIES_OMASTAR, - SPECIES_ONIX, - SPECIES_PARAS, - SPECIES_PARASECT, - SPECIES_PERSIAN, - SPECIES_PHANPY, - SPECIES_PICHU, - SPECIES_PIDGEOT, - SPECIES_PIDGEOTTO, - SPECIES_PIDGEY, - SPECIES_PIKACHU, - SPECIES_PILOSWINE, - SPECIES_PINECO, - SPECIES_PINSIR, - SPECIES_POLITOED, - SPECIES_POLIWAG, - SPECIES_POLIWHIRL, - SPECIES_POLIWRATH, - SPECIES_PONYTA, - SPECIES_PORYGON, - SPECIES_PORYGON2, - SPECIES_PRIMEAPE, - SPECIES_PSYDUCK, - SPECIES_PUPITAR, - SPECIES_QUAGSIRE, - SPECIES_QUILAVA, - SPECIES_QWILFISH, - SPECIES_RAICHU, - SPECIES_RAIKOU, - SPECIES_RAPIDASH, - SPECIES_RATICATE, - SPECIES_RATTATA, - SPECIES_REMORAID, - SPECIES_RHYDON, - SPECIES_RHYHORN, - SPECIES_SANDSHREW, - SPECIES_SANDSLASH, - SPECIES_SCIZOR, - SPECIES_SCYTHER, - SPECIES_SEADRA, - SPECIES_SEAKING, - SPECIES_SEEL, - SPECIES_SENTRET, - SPECIES_SHELLDER, - SPECIES_SHUCKLE, - SPECIES_SKARMORY, - SPECIES_SKIPLOOM, - SPECIES_SLOWBRO, - SPECIES_SLOWKING, - SPECIES_SLOWPOKE, - SPECIES_SLUGMA, - SPECIES_SMEARGLE, - SPECIES_SMOOCHUM, - SPECIES_SNEASEL, - SPECIES_SNORLAX, - SPECIES_SNUBBULL, - SPECIES_SPEAROW, - SPECIES_SPINARAK, - SPECIES_SQUIRTLE, - SPECIES_STANTLER, - SPECIES_STARMIE, - SPECIES_STARYU, - SPECIES_STEELIX, - SPECIES_SUDOWOODO, - SPECIES_SUICUNE, - SPECIES_SUNFLORA, - SPECIES_SUNKERN, - SPECIES_SWINUB, - SPECIES_TANGELA, - SPECIES_TAUROS, - SPECIES_TEDDIURSA, - SPECIES_TENTACOOL, - SPECIES_TENTACRUEL, - SPECIES_TOGEPI, - SPECIES_TOGETIC, - SPECIES_TOTODILE, - SPECIES_TYPHLOSION, - SPECIES_TYRANITAR, - SPECIES_TYROGUE, - SPECIES_UMBREON, - SPECIES_UNOWN, - SPECIES_URSARING, - SPECIES_VAPOREON, - SPECIES_VENOMOTH, - SPECIES_VENONAT, - SPECIES_VENUSAUR, - SPECIES_VICTREEBEL, - SPECIES_VILEPLUME, - SPECIES_VOLTORB, - SPECIES_VULPIX, - SPECIES_WARTORTLE, - SPECIES_WEEDLE, - SPECIES_WEEPINBELL, - SPECIES_WEEZING, - SPECIES_WIGGLYTUFF, - SPECIES_WOBBUFFET, - SPECIES_WOOPER, - SPECIES_XATU, - SPECIES_YANMA, - SPECIES_ZAPDOS, - SPECIES_ZUBAT, + SPECIES_ABRA, + SPECIES_AERODACTYL, + SPECIES_AIPOM, + SPECIES_ALAKAZAM, + SPECIES_AMPHAROS, + SPECIES_ARBOK, + SPECIES_ARCANINE, + SPECIES_ARIADOS, + SPECIES_ARTICUNO, + SPECIES_AZUMARILL, + SPECIES_BAYLEEF, + SPECIES_BEEDRILL, + SPECIES_BELLOSSOM, + SPECIES_BELLSPROUT, + SPECIES_BLASTOISE, + SPECIES_BLISSEY, + SPECIES_BULBASAUR, + SPECIES_BUTTERFREE, + SPECIES_CATERPIE, + SPECIES_CELEBI, + SPECIES_CHANSEY, + SPECIES_CHARIZARD, + SPECIES_CHARMANDER, + SPECIES_CHARMELEON, + SPECIES_CHIKORITA, + SPECIES_CHINCHOU, + SPECIES_CLEFABLE, + SPECIES_CLEFAIRY, + SPECIES_CLEFFA, + SPECIES_CLOYSTER, + SPECIES_CORSOLA, + SPECIES_CROBAT, + SPECIES_CROCONAW, + SPECIES_CUBONE, + SPECIES_CYNDAQUIL, + SPECIES_DELIBIRD, + SPECIES_DEWGONG, + SPECIES_DIGLETT, + SPECIES_DITTO, + SPECIES_DODRIO, + SPECIES_DODUO, + SPECIES_DONPHAN, + SPECIES_DRAGONAIR, + SPECIES_DRAGONITE, + SPECIES_DRATINI, + SPECIES_DROWZEE, + SPECIES_DUGTRIO, + SPECIES_DUNSPARCE, + SPECIES_EEVEE, + SPECIES_EKANS, + SPECIES_ELECTABUZZ, + SPECIES_ELECTRODE, + SPECIES_ELEKID, + SPECIES_ENTEI, + SPECIES_ESPEON, + SPECIES_EXEGGCUTE, + SPECIES_EXEGGUTOR, + SPECIES_FARFETCHD, + SPECIES_FEAROW, + SPECIES_FERALIGATR, + SPECIES_FLAAFFY, + SPECIES_FLAREON, + SPECIES_FORRETRESS, + SPECIES_FURRET, + SPECIES_GASTLY, + SPECIES_GENGAR, + SPECIES_GEODUDE, + SPECIES_GIRAFARIG, + SPECIES_GLIGAR, + SPECIES_GLOOM, + SPECIES_GOLBAT, + SPECIES_GOLDEEN, + SPECIES_GOLDUCK, + SPECIES_GOLEM, + SPECIES_GRANBULL, + SPECIES_GRAVELER, + SPECIES_GRIMER, + SPECIES_GROWLITHE, + SPECIES_GYARADOS, + SPECIES_HAUNTER, + SPECIES_HERACROSS, + SPECIES_HITMONCHAN, + SPECIES_HITMONLEE, + SPECIES_HITMONTOP, + SPECIES_HO_OH, + SPECIES_HOOTHOOT, + SPECIES_HOPPIP, + SPECIES_HORSEA, + SPECIES_HOUNDOOM, + SPECIES_HOUNDOUR, + SPECIES_HYPNO, + SPECIES_IGGLYBUFF, + SPECIES_IVYSAUR, + SPECIES_JIGGLYPUFF, + SPECIES_JOLTEON, + SPECIES_JUMPLUFF, + SPECIES_JYNX, + SPECIES_KABUTO, + SPECIES_KABUTOPS, + SPECIES_KADABRA, + SPECIES_KAKUNA, + SPECIES_KANGASKHAN, + SPECIES_KINGDRA, + SPECIES_KINGLER, + SPECIES_KOFFING, + SPECIES_KRABBY, + SPECIES_LANTURN, + SPECIES_LAPRAS, + SPECIES_LARVITAR, + SPECIES_LEDIAN, + SPECIES_LEDYBA, + SPECIES_LICKITUNG, + SPECIES_LUGIA, + SPECIES_MACHAMP, + SPECIES_MACHOKE, + SPECIES_MACHOP, + SPECIES_MAGBY, + SPECIES_MAGCARGO, + SPECIES_MAGIKARP, + SPECIES_MAGMAR, + SPECIES_MAGNEMITE, + SPECIES_MAGNETON, + SPECIES_MANKEY, + SPECIES_MANTINE, + SPECIES_MAREEP, + SPECIES_MARILL, + SPECIES_MAROWAK, + SPECIES_MEGANIUM, + SPECIES_MEOWTH, + SPECIES_METAPOD, + SPECIES_MEW, + SPECIES_MEWTWO, + SPECIES_MILTANK, + SPECIES_MISDREAVUS, + SPECIES_MOLTRES, + SPECIES_MR_MIME, + SPECIES_MUK, + SPECIES_MURKROW, + SPECIES_NATU, + SPECIES_NIDOKING, + SPECIES_NIDOQUEEN, + SPECIES_NIDORAN_F, + SPECIES_NIDORAN_M, + SPECIES_NIDORINA, + SPECIES_NIDORINO, + SPECIES_NINETALES, + SPECIES_NOCTOWL, + SPECIES_OCTILLERY, + SPECIES_ODDISH, + SPECIES_OMANYTE, + SPECIES_OMASTAR, + SPECIES_ONIX, + SPECIES_PARAS, + SPECIES_PARASECT, + SPECIES_PERSIAN, + SPECIES_PHANPY, + SPECIES_PICHU, + SPECIES_PIDGEOT, + SPECIES_PIDGEOTTO, + SPECIES_PIDGEY, + SPECIES_PIKACHU, + SPECIES_PILOSWINE, + SPECIES_PINECO, + SPECIES_PINSIR, + SPECIES_POLITOED, + SPECIES_POLIWAG, + SPECIES_POLIWHIRL, + SPECIES_POLIWRATH, + SPECIES_PONYTA, + SPECIES_PORYGON, + SPECIES_PORYGON2, + SPECIES_PRIMEAPE, + SPECIES_PSYDUCK, + SPECIES_PUPITAR, + SPECIES_QUAGSIRE, + SPECIES_QUILAVA, + SPECIES_QWILFISH, + SPECIES_RAICHU, + SPECIES_RAIKOU, + SPECIES_RAPIDASH, + SPECIES_RATICATE, + SPECIES_RATTATA, + SPECIES_REMORAID, + SPECIES_RHYDON, + SPECIES_RHYHORN, + SPECIES_SANDSHREW, + SPECIES_SANDSLASH, + SPECIES_SCIZOR, + SPECIES_SCYTHER, + SPECIES_SEADRA, + SPECIES_SEAKING, + SPECIES_SEEL, + SPECIES_SENTRET, + SPECIES_SHELLDER, + SPECIES_SHUCKLE, + SPECIES_SKARMORY, + SPECIES_SKIPLOOM, + SPECIES_SLOWBRO, + SPECIES_SLOWKING, + SPECIES_SLOWPOKE, + SPECIES_SLUGMA, + SPECIES_SMEARGLE, + SPECIES_SMOOCHUM, + SPECIES_SNEASEL, + SPECIES_SNORLAX, + SPECIES_SNUBBULL, + SPECIES_SPEAROW, + SPECIES_SPINARAK, + SPECIES_SQUIRTLE, + SPECIES_STANTLER, + SPECIES_STARMIE, + SPECIES_STARYU, + SPECIES_STEELIX, + SPECIES_SUDOWOODO, + SPECIES_SUICUNE, + SPECIES_SUNFLORA, + SPECIES_SUNKERN, + SPECIES_SWINUB, + SPECIES_TANGELA, + SPECIES_TAUROS, + SPECIES_TEDDIURSA, + SPECIES_TENTACOOL, + SPECIES_TENTACRUEL, + SPECIES_TOGEPI, + SPECIES_TOGETIC, + SPECIES_TOTODILE, + SPECIES_TYPHLOSION, + SPECIES_TYRANITAR, + SPECIES_TYROGUE, + SPECIES_UMBREON, + SPECIES_UNOWN, + SPECIES_URSARING, + SPECIES_VAPOREON, + SPECIES_VENOMOTH, + SPECIES_VENONAT, + SPECIES_VENUSAUR, + SPECIES_VICTREEBEL, + SPECIES_VILEPLUME, + SPECIES_VOLTORB, + SPECIES_VULPIX, + SPECIES_WARTORTLE, + SPECIES_WEEDLE, + SPECIES_WEEPINBELL, + SPECIES_WEEZING, + SPECIES_WIGGLYTUFF, + SPECIES_WOBBUFFET, + SPECIES_WOOPER, + SPECIES_XATU, + SPECIES_YANMA, + SPECIES_ZAPDOS, + SPECIES_ZUBAT, }; diff --git a/src/data/field_effects/field_effect_object_template_pointers.h b/src/data/field_effects/field_effect_object_template_pointers.h index 41d6271bf2..64a3c3283b 100755 --- a/src/data/field_effects/field_effect_object_template_pointers.h +++ b/src/data/field_effects/field_effect_object_template_pointers.h @@ -1,40 +1,40 @@ -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge; -const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass; -const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple; -const struct SpriteTemplate gFieldEffectObjectTemplate_Ash; -const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob; -const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow; -const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust; -const struct SpriteTemplate gFieldEffectObjectTemplate_JumpTallGrass; -const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints; -const struct SpriteTemplate gFieldEffectObjectTemplate_JumpBigSplash; -const struct SpriteTemplate gFieldEffectObjectTemplate_Splash; -const struct SpriteTemplate gFieldEffectObjectTemplate_JumpSmallSplash; -const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass; -const struct SpriteTemplate gFieldEffectObjectTemplate_JumpLongGrass; -const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedGrass; -const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedGrass2; -const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedSand; -const struct SpriteTemplate gFieldEffectObjectTemplate_WaterSurfacing; -const struct SpriteTemplate gFieldEffectObjectTemplate_ReflectionDistortion; -const struct SpriteTemplate gFieldEffectObjectTemplate_Sparkle; -const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints; -const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise; -const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise; -const struct SpriteTemplate gFieldEffectObjectTemplate_Bird; -const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks; -const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder; -const struct SpriteTemplate gFieldEffectObjectTemplate_SandPile; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass; -const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater; -const struct SpriteTemplate gFieldEffectObjectTemplate_AshPuff; -const struct SpriteTemplate gFieldEffectObjectTemplate_AshLaunch; -const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles; -const struct SpriteTemplate gFieldEffectObjectTemplate_SmallSparkle; -const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Ash; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_JumpTallGrass; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_JumpBigSplash; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Splash; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_JumpSmallSplash; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_JumpLongGrass; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedGrass; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedGrass2; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedSand; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_WaterSurfacing; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_ReflectionDistortion; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Sparkle; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Bird; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_SandPile; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_AshPuff; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_AshLaunch; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_SmallSparkle; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza; const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = { [FLDEFFOBJ_SHADOW_S] = &gFieldEffectObjectTemplate_ShadowSmall, diff --git a/src/data/field_effects/field_effect_objects.h b/src/data/field_effects/field_effect_objects.h index 938b6bfc55..d19adf6f0b 100755 --- a/src/data/field_effects/field_effect_objects.h +++ b/src/data/field_effects/field_effect_objects.h @@ -1147,7 +1147,7 @@ static const union AnimCmd *const sAnimTable_AshPuff[] = sAnim_AshPuff, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_AshPuff = +const struct SpriteTemplate gFieldEffectObjectTemplate_AshPuff = { .tileTag = TAG_NONE, .paletteTag = FLDEFF_PAL_TAG_ASH, diff --git a/src/data/graphics/trainers.h b/src/data/graphics/trainers.h index 206d73a881..fbdea74729 100644 --- a/src/data/graphics/trainers.h +++ b/src/data/graphics/trainers.h @@ -1,290 +1,290 @@ -const u32 gTrainerFrontPic_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Hiker[] = INCBIN_U32("graphics/trainers/palettes/hiker.gbapal.lz"); +const u32 gTrainerFrontPic_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker.4bpp.lz"); +const u32 gTrainerPalette_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker.gbapal.lz"); -const u32 gTrainerFrontPic_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaGruntM[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_m.gbapal.lz"); +const u32 gTrainerFrontPic_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m.4bpp.lz"); +const u32 gTrainerPalette_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m.gbapal.lz"); -const u32 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokemonBreederF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_f.gbapal.lz"); +const u32 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f.4bpp.lz"); +const u32 gTrainerPalette_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f.gbapal.lz"); -const u32 gTrainerFrontPic_CoolTrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_CoolTrainerM[] = INCBIN_U32("graphics/trainers/palettes/cooltrainer_m.gbapal.lz"); +const u32 gTrainerFrontPic_CoolTrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_m.4bpp.lz"); +const u32 gTrainerPalette_CoolTrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_m.gbapal.lz"); -const u32 gTrainerFrontPic_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BirdKeeper[] = INCBIN_U32("graphics/trainers/palettes/bird_keeper.gbapal.lz"); +const u32 gTrainerFrontPic_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper.4bpp.lz"); +const u32 gTrainerPalette_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper.gbapal.lz"); -const u32 gTrainerFrontPic_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Collector[] = INCBIN_U32("graphics/trainers/palettes/collector.gbapal.lz"); +const u32 gTrainerFrontPic_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector.4bpp.lz"); +const u32 gTrainerPalette_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector.gbapal.lz"); -const u32 gTrainerFrontPic_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaGruntF[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_f.gbapal.lz"); +const u32 gTrainerFrontPic_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f.4bpp.lz"); +const u32 gTrainerPalette_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f.gbapal.lz"); -const u32 gTrainerFrontPic_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SwimmerM[] = INCBIN_U32("graphics/trainers/palettes/swimmer_m.gbapal.lz"); +const u32 gTrainerFrontPic_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m.4bpp.lz"); +const u32 gTrainerPalette_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m.gbapal.lz"); -const u32 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_MagmaGruntM[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_m.gbapal.lz"); +const u32 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m.4bpp.lz"); +const u32 gTrainerPalette_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m.gbapal.lz"); -const u32 gTrainerFrontPic_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ExpertM[] = INCBIN_U32("graphics/trainers/palettes/expert_m.gbapal.lz"); +const u32 gTrainerFrontPic_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m.4bpp.lz"); +const u32 gTrainerPalette_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m.gbapal.lz"); -const u32 gTrainerFrontPic_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaAdminM[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_m.gbapal.lz"); +const u32 gTrainerFrontPic_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m.4bpp.lz"); +const u32 gTrainerPalette_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m.gbapal.lz"); -const u32 gTrainerFrontPic_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BlackBelt[] = INCBIN_U32("graphics/trainers/palettes/black_belt.gbapal.lz"); +const u32 gTrainerFrontPic_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt.4bpp.lz"); +const u32 gTrainerPalette_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt.gbapal.lz"); -const u32 gTrainerFrontPic_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaAdminF[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_f.gbapal.lz"); +const u32 gTrainerFrontPic_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f.4bpp.lz"); +const u32 gTrainerPalette_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f.gbapal.lz"); -const u32 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/palettes/aqua_leader_archie.gbapal.lz"); +const u32 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie.4bpp.lz"); +const u32 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie.gbapal.lz"); -const u32 gTrainerFrontPic_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz"); -const u32 gTrainerPalette_HexManiac[] = INCBIN_U32("graphics/trainers/palettes/hex_maniac.gbapal.lz"); +const u32 gTrainerFrontPic_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac.4bpp.lz"); +const u32 gTrainerPalette_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac.gbapal.lz"); -const u32 gTrainerFrontPic_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AromaLady[] = INCBIN_U32("graphics/trainers/palettes/aroma_lady.gbapal.lz"); +const u32 gTrainerFrontPic_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady.4bpp.lz"); +const u32 gTrainerPalette_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady.gbapal.lz"); -const u32 gTrainerFrontPic_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RuinManiac[] = INCBIN_U32("graphics/trainers/palettes/ruin_maniac.gbapal.lz"); +const u32 gTrainerFrontPic_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac.4bpp.lz"); +const u32 gTrainerPalette_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac.gbapal.lz"); -const u32 gTrainerFrontPic_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Interviewer[] = INCBIN_U32("graphics/trainers/palettes/interviewer.gbapal.lz"); +const u32 gTrainerFrontPic_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer.4bpp.lz"); +const u32 gTrainerPalette_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer.gbapal.lz"); -const u32 gTrainerFrontPic_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_TuberF[] = INCBIN_U32("graphics/trainers/palettes/tuber_f.gbapal.lz"); +const u32 gTrainerFrontPic_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f.4bpp.lz"); +const u32 gTrainerPalette_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f.gbapal.lz"); -const u32 gTrainerFrontPic_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_TuberM[] = INCBIN_U32("graphics/trainers/palettes/tuber_m.gbapal.lz"); +const u32 gTrainerFrontPic_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m.4bpp.lz"); +const u32 gTrainerPalette_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m.gbapal.lz"); -const u32 gTrainerFrontPic_CoolTrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_CoolTrainerF[] = INCBIN_U32("graphics/trainers/palettes/cooltrainer_f.gbapal.lz"); +const u32 gTrainerFrontPic_CoolTrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_f.4bpp.lz"); +const u32 gTrainerPalette_CoolTrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_f.gbapal.lz"); -const u32 gTrainerFrontPic_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Lady[] = INCBIN_U32("graphics/trainers/palettes/lady.gbapal.lz"); +const u32 gTrainerFrontPic_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady.4bpp.lz"); +const u32 gTrainerPalette_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady.gbapal.lz"); -const u32 gTrainerFrontPic_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Beauty[] = INCBIN_U32("graphics/trainers/palettes/beauty.gbapal.lz"); +const u32 gTrainerFrontPic_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty.4bpp.lz"); +const u32 gTrainerPalette_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty.gbapal.lz"); -const u32 gTrainerFrontPic_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RichBoy[] = INCBIN_U32("graphics/trainers/palettes/rich_boy.gbapal.lz"); +const u32 gTrainerFrontPic_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy.4bpp.lz"); +const u32 gTrainerPalette_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy.gbapal.lz"); -const u32 gTrainerFrontPic_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ExpertF[] = INCBIN_U32("graphics/trainers/palettes/expert_f.gbapal.lz"); +const u32 gTrainerFrontPic_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f.4bpp.lz"); +const u32 gTrainerPalette_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f.gbapal.lz"); -const u32 gTrainerFrontPic_Pokemaniac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Pokemaniac[] = INCBIN_U32("graphics/trainers/palettes/pokemaniac.gbapal.lz"); +const u32 gTrainerFrontPic_Pokemaniac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac.4bpp.lz"); +const u32 gTrainerPalette_Pokemaniac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac.gbapal.lz"); -const u32 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_MagmaGruntF[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_f.gbapal.lz"); +const u32 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f.4bpp.lz"); +const u32 gTrainerPalette_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f.gbapal.lz"); -const u32 gTrainerFrontPic_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Guitarist[] = INCBIN_U32("graphics/trainers/palettes/guitarist.gbapal.lz"); +const u32 gTrainerFrontPic_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist.4bpp.lz"); +const u32 gTrainerPalette_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist.gbapal.lz"); -const u32 gTrainerFrontPic_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Kindler[] = INCBIN_U32("graphics/trainers/palettes/kindler.gbapal.lz"); +const u32 gTrainerFrontPic_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler.4bpp.lz"); +const u32 gTrainerPalette_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler.gbapal.lz"); -const u32 gTrainerFrontPic_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Camper[] = INCBIN_U32("graphics/trainers/palettes/camper.gbapal.lz"); +const u32 gTrainerFrontPic_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper.4bpp.lz"); +const u32 gTrainerPalette_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper.gbapal.lz"); -const u32 gTrainerFrontPic_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Picnicker[] = INCBIN_U32("graphics/trainers/palettes/picnicker.gbapal.lz"); +const u32 gTrainerFrontPic_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker.4bpp.lz"); +const u32 gTrainerPalette_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker.gbapal.lz"); -const u32 gTrainerFrontPic_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BugManiac[] = INCBIN_U32("graphics/trainers/palettes/bug_maniac.gbapal.lz"); +const u32 gTrainerFrontPic_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac.4bpp.lz"); +const u32 gTrainerPalette_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac.gbapal.lz"); -const u32 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokemonBreederM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_m.gbapal.lz"); +const u32 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m.4bpp.lz"); +const u32 gTrainerPalette_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m.gbapal.lz"); -const u32 gTrainerFrontPic_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PsychicM[] = INCBIN_U32("graphics/trainers/palettes/psychic_m.gbapal.lz"); +const u32 gTrainerFrontPic_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m.4bpp.lz"); +const u32 gTrainerPalette_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m.gbapal.lz"); -const u32 gTrainerFrontPic_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PsychicF[] = INCBIN_U32("graphics/trainers/palettes/psychic_f.gbapal.lz"); +const u32 gTrainerFrontPic_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f.4bpp.lz"); +const u32 gTrainerPalette_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f.gbapal.lz"); -const u32 gTrainerFrontPic_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Gentleman[] = INCBIN_U32("graphics/trainers/palettes/gentleman.gbapal.lz"); +const u32 gTrainerFrontPic_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman.4bpp.lz"); +const u32 gTrainerPalette_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman.gbapal.lz"); -const u32 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz"); -const u32 gTrainerPalette_EliteFourSidney[] = INCBIN_U32("graphics/trainers/palettes/elite_four_sidney.gbapal.lz"); +const u32 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney.4bpp.lz"); +const u32 gTrainerPalette_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney.gbapal.lz"); -const u32 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz"); -const u32 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/palettes/elite_four_phoebe.gbapal.lz"); +const u32 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe.4bpp.lz"); +const u32 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe.gbapal.lz"); -const u32 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz"); -const u32 gTrainerPalette_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/palettes/elite_four_glacia.gbapal.lz"); +const u32 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia.4bpp.lz"); +const u32 gTrainerPalette_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia.gbapal.lz"); -const u32 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz"); -const u32 gTrainerPalette_EliteFourDrake[] = INCBIN_U32("graphics/trainers/palettes/elite_four_drake.gbapal.lz"); +const u32 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake.4bpp.lz"); +const u32 gTrainerPalette_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/palettes/leader_roxanne.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne.4bpp.lz"); +const u32 gTrainerPalette_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderBrawly[] = INCBIN_U32("graphics/trainers/palettes/leader_brawly.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly.4bpp.lz"); +const u32 gTrainerPalette_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderWattson[] = INCBIN_U32("graphics/trainers/palettes/leader_wattson.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson.4bpp.lz"); +const u32 gTrainerPalette_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderFlannery[] = INCBIN_U32("graphics/trainers/palettes/leader_flannery.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery.4bpp.lz"); +const u32 gTrainerPalette_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderNorman[] = INCBIN_U32("graphics/trainers/palettes/leader_norman.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman.4bpp.lz"); +const u32 gTrainerPalette_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderWinona[] = INCBIN_U32("graphics/trainers/palettes/leader_winona.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona.4bpp.lz"); +const u32 gTrainerPalette_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza.4bpp.lz"); +const u32 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderJuan[] = INCBIN_U32("graphics/trainers/front_pics/leader_juan_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderJuan[] = INCBIN_U32("graphics/trainers/palettes/leader_juan.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderJuan[] = INCBIN_U32("graphics/trainers/front_pics/leader_juan.4bpp.lz"); +const u32 gTrainerPalette_LeaderJuan[] = INCBIN_U32("graphics/trainers/front_pics/leader_juan.gbapal.lz"); -const u32 gTrainerFrontPic_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SchoolKidM[] = INCBIN_U32("graphics/trainers/palettes/school_kid_m.gbapal.lz"); +const u32 gTrainerFrontPic_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m.4bpp.lz"); +const u32 gTrainerPalette_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m.gbapal.lz"); -const u32 gTrainerFrontPic_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SchoolKidF[] = INCBIN_U32("graphics/trainers/palettes/school_kid_f.gbapal.lz"); +const u32 gTrainerFrontPic_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f.4bpp.lz"); +const u32 gTrainerPalette_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f.gbapal.lz"); -const u32 gTrainerFrontPic_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SrAndJr[] = INCBIN_U32("graphics/trainers/palettes/sr_and_jr.gbapal.lz"); +const u32 gTrainerFrontPic_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr.4bpp.lz"); +const u32 gTrainerPalette_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr.gbapal.lz"); -const u32 gTrainerFrontPic_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokefanM[] = INCBIN_U32("graphics/trainers/palettes/pokefan_m.gbapal.lz"); +const u32 gTrainerFrontPic_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m.4bpp.lz"); +const u32 gTrainerPalette_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m.gbapal.lz"); -const u32 gTrainerFrontPic_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokefanF[] = INCBIN_U32("graphics/trainers/palettes/pokefan_f.gbapal.lz"); +const u32 gTrainerFrontPic_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f.4bpp.lz"); +const u32 gTrainerPalette_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f.gbapal.lz"); -const u32 gTrainerFrontPic_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Youngster[] = INCBIN_U32("graphics/trainers/palettes/youngster.gbapal.lz"); +const u32 gTrainerFrontPic_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster.4bpp.lz"); +const u32 gTrainerPalette_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster.gbapal.lz"); -const u32 gTrainerFrontPic_ChampionWallace[] = INCBIN_U32("graphics/trainers/front_pics/champion_wallace_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ChampionWallace[] = INCBIN_U32("graphics/trainers/palettes/champion_wallace.gbapal.lz"); +const u32 gTrainerFrontPic_ChampionWallace[] = INCBIN_U32("graphics/trainers/front_pics/champion_wallace.4bpp.lz"); +const u32 gTrainerPalette_ChampionWallace[] = INCBIN_U32("graphics/trainers/front_pics/champion_wallace.gbapal.lz"); -const u32 gTrainerFrontPic_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Fisherman[] = INCBIN_U32("graphics/trainers/palettes/fisherman.gbapal.lz"); +const u32 gTrainerFrontPic_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman.4bpp.lz"); +const u32 gTrainerPalette_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman.gbapal.lz"); -const u32 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz"); +const u32 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m.4bpp.lz"); +const u32 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m.gbapal.lz"); -const u32 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz"); +const u32 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f.4bpp.lz"); +const u32 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f.gbapal.lz"); -const u32 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_m.gbapal.lz"); +const u32 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m.4bpp.lz"); +const u32 gTrainerPalette_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m.gbapal.lz"); -const u32 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_f.gbapal.lz"); +const u32 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f.4bpp.lz"); +const u32 gTrainerPalette_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f.gbapal.lz"); -const u32 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz"); +const u32 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m.4bpp.lz"); +const u32 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m.gbapal.lz"); -const u32 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz"); +const u32 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f.4bpp.lz"); +const u32 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f.gbapal.lz"); -const u32 gTrainerFrontPic_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz"); -const u32 gTrainerPalette_DragonTamer[] = INCBIN_U32("graphics/trainers/palettes/dragon_tamer.gbapal.lz"); +const u32 gTrainerFrontPic_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer.4bpp.lz"); +const u32 gTrainerPalette_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer.gbapal.lz"); -const u32 gTrainerFrontPic_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz"); -const u32 gTrainerPalette_NinjaBoy[] = INCBIN_U32("graphics/trainers/palettes/ninja_boy.gbapal.lz"); +const u32 gTrainerFrontPic_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy.4bpp.lz"); +const u32 gTrainerPalette_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy.gbapal.lz"); -const u32 gTrainerFrontPic_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BattleGirl[] = INCBIN_U32("graphics/trainers/palettes/battle_girl.gbapal.lz"); +const u32 gTrainerFrontPic_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl.4bpp.lz"); +const u32 gTrainerPalette_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl.gbapal.lz"); -const u32 gTrainerFrontPic_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ParasolLady[] = INCBIN_U32("graphics/trainers/palettes/parasol_lady.gbapal.lz"); +const u32 gTrainerFrontPic_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady.4bpp.lz"); +const u32 gTrainerPalette_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady.gbapal.lz"); -const u32 gTrainerFrontPic_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SwimmerF[] = INCBIN_U32("graphics/trainers/palettes/swimmer_f.gbapal.lz"); +const u32 gTrainerFrontPic_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f.4bpp.lz"); +const u32 gTrainerPalette_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f.gbapal.lz"); -const u32 gTrainerFrontPic_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Twins[] = INCBIN_U32("graphics/trainers/palettes/twins.gbapal.lz"); +const u32 gTrainerFrontPic_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins.4bpp.lz"); +const u32 gTrainerPalette_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins.gbapal.lz"); -const u32 gTrainerFrontPic_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Sailor[] = INCBIN_U32("graphics/trainers/palettes/sailor.gbapal.lz"); +const u32 gTrainerFrontPic_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor.4bpp.lz"); +const u32 gTrainerPalette_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor.gbapal.lz"); -const u32 gTrainerFrontPic_MagmaAdmin[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin_front_pic.4bpp.lz"); -const u32 gTrainerPalette_MagmaAdmin[] = INCBIN_U32("graphics/trainers/palettes/magma_admin.gbapal.lz"); +const u32 gTrainerFrontPic_MagmaAdmin[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin.4bpp.lz"); +const u32 gTrainerPalette_MagmaAdmin[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin.gbapal.lz"); -const u32 gTrainerFrontPic_Wally[] = INCBIN_U32("graphics/trainers/front_pics/wally_front_pic.4bpp.lz"); +const u32 gTrainerFrontPic_Wally[] = INCBIN_U32("graphics/trainers/front_pics/wally.4bpp.lz"); const u32 gTrainerPalette_Wally[] = INCBIN_U32("graphics/trainers/palettes/wally.gbapal.lz"); -const u32 gTrainerFrontPic_Brendan[] = INCBIN_U32("graphics/trainers/front_pics/brendan_front_pic.4bpp.lz"); +const u32 gTrainerFrontPic_Brendan[] = INCBIN_U32("graphics/trainers/front_pics/brendan.4bpp.lz"); const u32 gTrainerPalette_Brendan[] = INCBIN_U32("graphics/trainers/palettes/brendan.gbapal.lz"); -const u32 gTrainerFrontPic_May[] = INCBIN_U32("graphics/trainers/front_pics/may_front_pic.4bpp.lz"); +const u32 gTrainerFrontPic_May[] = INCBIN_U32("graphics/trainers/front_pics/may.4bpp.lz"); const u32 gTrainerPalette_May[] = INCBIN_U32("graphics/trainers/palettes/may.gbapal.lz"); -const u32 gTrainerFrontPic_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BugCatcher[] = INCBIN_U32("graphics/trainers/palettes/bug_catcher.gbapal.lz"); +const u32 gTrainerFrontPic_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher.4bpp.lz"); +const u32 gTrainerPalette_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher.gbapal.lz"); -const u32 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokemonRangerM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz"); +const u32 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m.4bpp.lz"); +const u32 gTrainerPalette_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m.gbapal.lz"); -const u32 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokemonRangerF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz"); +const u32 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f.4bpp.lz"); +const u32 gTrainerPalette_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f.gbapal.lz"); -const u32 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz"); -const u32 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/palettes/magma_leader_maxie.gbapal.lz"); +const u32 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie.4bpp.lz"); +const u32 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie.gbapal.lz"); -const u32 gTrainerFrontPic_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Lass[] = INCBIN_U32("graphics/trainers/palettes/lass.gbapal.lz"); +const u32 gTrainerFrontPic_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass.4bpp.lz"); +const u32 gTrainerPalette_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass.gbapal.lz"); -const u32 gTrainerFrontPic_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz"); -const u32 gTrainerPalette_YoungCouple[] = INCBIN_U32("graphics/trainers/palettes/young_couple.gbapal.lz"); +const u32 gTrainerFrontPic_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple.4bpp.lz"); +const u32 gTrainerPalette_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple.gbapal.lz"); -const u32 gTrainerFrontPic_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz"); -const u32 gTrainerPalette_OldCouple[] = INCBIN_U32("graphics/trainers/palettes/old_couple.gbapal.lz"); +const u32 gTrainerFrontPic_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple.4bpp.lz"); +const u32 gTrainerPalette_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple.gbapal.lz"); -const u32 gTrainerFrontPic_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SisAndBro[] = INCBIN_U32("graphics/trainers/palettes/sis_and_bro.gbapal.lz"); +const u32 gTrainerFrontPic_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro.4bpp.lz"); +const u32 gTrainerPalette_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro.gbapal.lz"); -const u32 gTrainerFrontPic_Steven[] = INCBIN_U32("graphics/trainers/front_pics/steven_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Steven[] = INCBIN_U32("graphics/trainers/palettes/steven.gbapal.lz"); +const u32 gTrainerFrontPic_Steven[] = INCBIN_U32("graphics/trainers/front_pics/steven.4bpp.lz"); +const u32 gTrainerPalette_Steven[] = INCBIN_U32("graphics/trainers/front_pics/steven.gbapal.lz"); -const u32 gTrainerFrontPic_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/front_pics/salon_maiden_anabel_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/palettes/salon_maiden_anabel.gbapal.lz"); +const u32 gTrainerFrontPic_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/front_pics/salon_maiden_anabel.4bpp.lz"); +const u32 gTrainerPalette_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/front_pics/salon_maiden_anabel.gbapal.lz"); -const u32 gTrainerFrontPic_DomeAceTucker[] = INCBIN_U32("graphics/trainers/front_pics/dome_ace_tucker_front_pic.4bpp.lz"); -const u32 gTrainerPalette_DomeAceTucker[] = INCBIN_U32("graphics/trainers/palettes/dome_ace_tucker.gbapal.lz"); +const u32 gTrainerFrontPic_DomeAceTucker[] = INCBIN_U32("graphics/trainers/front_pics/dome_ace_tucker.4bpp.lz"); +const u32 gTrainerPalette_DomeAceTucker[] = INCBIN_U32("graphics/trainers/front_pics/dome_ace_tucker.gbapal.lz"); -const u32 gTrainerFrontPic_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/front_pics/palace_maven_spenser_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/palettes/palace_maven_spenser.gbapal.lz"); +const u32 gTrainerFrontPic_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/front_pics/palace_maven_spenser.4bpp.lz"); +const u32 gTrainerPalette_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/front_pics/palace_maven_spenser.gbapal.lz"); -const u32 gTrainerFrontPic_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/front_pics/arena_tycoon_greta_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/palettes/arena_tycoon_greta.gbapal.lz"); +const u32 gTrainerFrontPic_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/front_pics/arena_tycoon_greta.4bpp.lz"); +const u32 gTrainerPalette_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/front_pics/arena_tycoon_greta.gbapal.lz"); -const u32 gTrainerFrontPic_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/front_pics/factory_head_noland_front_pic.4bpp.lz"); -const u32 gTrainerPalette_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/palettes/factory_head_noland.gbapal.lz"); +const u32 gTrainerFrontPic_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/front_pics/factory_head_noland.4bpp.lz"); +const u32 gTrainerPalette_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/front_pics/factory_head_noland.gbapal.lz"); -const u32 gTrainerFrontPic_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/front_pics/pike_queen_lucy_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/palettes/pike_queen_lucy.gbapal.lz"); +const u32 gTrainerFrontPic_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/front_pics/pike_queen_lucy.4bpp.lz"); +const u32 gTrainerPalette_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/front_pics/pike_queen_lucy.gbapal.lz"); -const u32 gTrainerFrontPic_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/front_pics/pyramid_king_brandon_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/palettes/pyramid_king_brandon.gbapal.lz"); +const u32 gTrainerFrontPic_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/front_pics/pyramid_king_brandon.4bpp.lz"); +const u32 gTrainerPalette_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/front_pics/pyramid_king_brandon.gbapal.lz"); -const u32 gTrainerFrontPic_Red[] = INCBIN_U32("graphics/trainers/front_pics/red_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Red[] = INCBIN_U32("graphics/trainers/palettes/red.gbapal.lz"); +const u32 gTrainerFrontPic_Red[] = INCBIN_U32("graphics/trainers/front_pics/red.4bpp.lz"); +const u32 gTrainerPalette_Red[] = INCBIN_U32("graphics/trainers/front_pics/red.gbapal.lz"); -const u32 gTrainerFrontPic_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Leaf[] = INCBIN_U32("graphics/trainers/palettes/leaf.gbapal.lz"); +const u32 gTrainerFrontPic_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf.4bpp.lz"); +const u32 gTrainerPalette_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf.gbapal.lz"); -const u32 gTrainerFrontPic_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz"); +const u32 gTrainerFrontPic_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/front_pics/brendan_rs.4bpp.lz"); +const u32 gTrainerPalette_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/palettes/brendan_rs.gbapal.lz"); -const u32 gTrainerFrontPic_RubySapphireMay[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RubySapphireMay[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz"); +const u32 gTrainerFrontPic_RubySapphireMay[] = INCBIN_U32("graphics/trainers/front_pics/may_rs.4bpp.lz"); +const u32 gTrainerPalette_RubySapphireMay[] = INCBIN_U32("graphics/trainers/palettes/may_rs.gbapal.lz"); -const u8 gTrainerBackPic_Brendan[] = INCBIN_U8("graphics/trainers/back_pics/brendan_back_pic.4bpp"); -const u8 gTrainerBackPic_May[] = INCBIN_U8("graphics/trainers/back_pics/may_back_pic.4bpp"); -const u8 gTrainerBackPic_Red[] = INCBIN_U8("graphics/trainers/back_pics/red_back_pic.4bpp"); -const u8 gTrainerBackPic_Leaf[] = INCBIN_U8("graphics/trainers/back_pics/leaf_back_pic.4bpp"); -const u8 gTrainerBackPic_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.4bpp"); -const u8 gTrainerBackPic_RubySapphireMay[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_may_back_pic.4bpp"); -const u8 gTrainerBackPic_Wally[] = INCBIN_U8("graphics/trainers/back_pics/wally_back_pic.4bpp"); -const u8 gTrainerBackPic_Steven[] = INCBIN_U8("graphics/trainers/back_pics/steven_back_pic.4bpp"); +const u8 gTrainerBackPic_Brendan[] = INCBIN_U8("graphics/trainers/back_pics/brendan.4bpp"); +const u8 gTrainerBackPic_May[] = INCBIN_U8("graphics/trainers/back_pics/may.4bpp"); +const u8 gTrainerBackPic_Red[] = INCBIN_U8("graphics/trainers/back_pics/red.4bpp"); +const u8 gTrainerBackPic_Leaf[] = INCBIN_U8("graphics/trainers/back_pics/leaf.4bpp"); +const u8 gTrainerBackPic_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/back_pics/brendan_rs.4bpp"); +const u8 gTrainerBackPic_RubySapphireMay[] = INCBIN_U8("graphics/trainers/back_pics/may_rs.4bpp"); +const u8 gTrainerBackPic_Wally[] = INCBIN_U8("graphics/trainers/back_pics/wally.4bpp"); +const u8 gTrainerBackPic_Steven[] = INCBIN_U8("graphics/trainers/back_pics/steven.4bpp"); -const u32 gTrainerBackPicPalette_Red[] = INCBIN_U32("graphics/trainers/palettes/red_back_pic.gbapal.lz"); -const u32 gTrainerBackPicPalette_Leaf[] = INCBIN_U32("graphics/trainers/palettes/leaf_back_pic.gbapal.lz"); +const u32 gTrainerBackPicPalette_Red[] = INCBIN_U32("graphics/trainers/back_pics/red.gbapal.lz"); +const u32 gTrainerBackPicPalette_Leaf[] = INCBIN_U32("graphics/trainers/back_pics/leaf.gbapal.lz"); diff --git a/src/data/object_events/movement_action_func_tables.h b/src/data/object_events/movement_action_func_tables.h index 8070e98774..2e1b6b3b31 100755 --- a/src/data/object_events/movement_action_func_tables.h +++ b/src/data/object_events/movement_action_func_tables.h @@ -253,9 +253,9 @@ u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct ObjectEvent *, struct Spr u8 MovementAction_Levitate_Step0(struct ObjectEvent *, struct Sprite *); u8 MovementAction_StopLevitate_Step0(struct ObjectEvent *, struct Sprite *); u8 MovementAction_StopLevitateAtTop_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementAction_StoreAndLockAnim_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_LockAnim_Step0(struct ObjectEvent *, struct Sprite *); u8 MovementAction_Finish(struct ObjectEvent *, struct Sprite *); -u8 MovementAction_FreeAndUnlockAnim_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_UnlockAnim_Step0(struct ObjectEvent *, struct Sprite *); u8 MovementAction_FlyUp_Step0(struct ObjectEvent *, struct Sprite *); u8 MovementAction_FlyUp_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_Fly_Finish(struct ObjectEvent *, struct Sprite *); @@ -410,8 +410,8 @@ u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpLeft[])(struct ObjectEvent *, u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpRight[])(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownLeft[])(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownRight[])(struct ObjectEvent *, struct Sprite *); -u8 (*const gMovementActionFuncs_StoreAndLockAnim[])(struct ObjectEvent *, struct Sprite *); -u8 (*const gMovementActionFuncs_FreeAndUnlockAnim[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_LockAnim[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_UnlockAnim[])(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_WalkLeftAffine[])(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_WalkRightAffine[])(struct ObjectEvent *, struct Sprite *); u8 (*const gMovementActionFuncs_Levitate[])(struct ObjectEvent *, struct Sprite *); @@ -570,8 +570,8 @@ u8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sprite *) [MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT] = gMovementActionFuncs_WalkSlowDiagonalUpRight, [MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT] = gMovementActionFuncs_WalkSlowDiagonalDownLeft, [MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT] = gMovementActionFuncs_WalkSlowDiagonalDownRight, - [MOVEMENT_ACTION_STORE_AND_LOCK_ANIM] = gMovementActionFuncs_StoreAndLockAnim, - [MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM] = gMovementActionFuncs_FreeAndUnlockAnim, + [MOVEMENT_ACTION_LOCK_ANIM] = gMovementActionFuncs_LockAnim, + [MOVEMENT_ACTION_UNLOCK_ANIM] = gMovementActionFuncs_UnlockAnim, [MOVEMENT_ACTION_WALK_LEFT_AFFINE] = gMovementActionFuncs_WalkLeftAffine, [MOVEMENT_ACTION_WALK_RIGHT_AFFINE] = gMovementActionFuncs_WalkRightAffine, [MOVEMENT_ACTION_LEVITATE] = gMovementActionFuncs_Levitate, diff --git a/src/data/object_events/object_event_graphics_info_pointers.h b/src/data/object_events/object_event_graphics_info_pointers.h index 1c94919a75..ae1117164a 100755 --- a/src/data/object_events/object_event_graphics_info_pointers.h +++ b/src/data/object_events/object_event_graphics_info_pointers.h @@ -1,249 +1,249 @@ -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShadow; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShadow; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2; const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM_OBJ_EVENT_GFX] = { diff --git a/src/data/party_menu.h b/src/data/party_menu.h index 7735dae58d..b29449830a 100644 --- a/src/data/party_menu.h +++ b/src/data/party_menu.h @@ -1,9 +1,3 @@ -enum { - TAG_POKEBALL = 1200, - TAG_POKEBALL_SMALL, - TAG_STATUS_ICONS, -}; - static const struct BgTemplate sPartyMenuBgTemplates[] = { { @@ -35,12 +29,6 @@ static const struct BgTemplate sPartyMenuBgTemplates[] = }, }; -enum -{ - PARTY_BOX_LEFT_COLUMN, - PARTY_BOX_RIGHT_COLUMN -}; - static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] = { [PARTY_BOX_LEFT_COLUMN] = @@ -663,51 +651,6 @@ static const u16 sUnusedData[] = 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123, }; -enum -{ - MENU_SUMMARY, - MENU_SWITCH, - MENU_CANCEL1, - MENU_ITEM, - MENU_GIVE, - MENU_TAKE_ITEM, - MENU_MAIL, - MENU_TAKE_MAIL, - MENU_READ, - MENU_CANCEL2, - MENU_SHIFT, - MENU_SEND_OUT, - MENU_ENTER, - MENU_NO_ENTRY, - MENU_STORE, - MENU_REGISTER, - MENU_TRADE1, - MENU_TRADE2, - MENU_TOSS, - MENU_FIELD_MOVES, -}; - -enum -{ - FIELD_MOVE_CUT, - FIELD_MOVE_FLASH, - FIELD_MOVE_ROCK_SMASH, - FIELD_MOVE_STRENGTH, - FIELD_MOVE_SURF, - FIELD_MOVE_FLY, - FIELD_MOVE_DIVE, - FIELD_MOVE_WATERFALL, - FIELD_MOVE_TELEPORT, - FIELD_MOVE_DIG, - FIELD_MOVE_SECRET_POWER, - FIELD_MOVE_MILK_DRINK, - FIELD_MOVE_SOFT_BOILED, - FIELD_MOVE_SWEET_SCENT, -}; - -// What a weird choice of table termination; -#define FIELD_MOVE_TERMINATOR MOVE_SWORDS_DANCE - struct { const u8 *text; @@ -763,25 +706,6 @@ static const u8 sPartyMenuAction_TradeSummaryCancel1[] = {MENU_TRADE1, MENU_SUMM static const u8 sPartyMenuAction_TradeSummaryCancel2[] = {MENU_TRADE2, MENU_SUMMARY, MENU_CANCEL1}; static const u8 sPartyMenuAction_TakeItemTossCancel[] = {MENU_TAKE_ITEM, MENU_TOSS, MENU_CANCEL1}; -// IDs for the action lists that appear when a party mon is selected -enum -{ - ACTIONS_NONE, - ACTIONS_SWITCH, - ACTIONS_SHIFT, - ACTIONS_SEND_OUT, - ACTIONS_ENTER, - ACTIONS_NO_ENTRY, - ACTIONS_STORE, - ACTIONS_SUMMARY_ONLY, - ACTIONS_ITEM, - ACTIONS_MAIL, - ACTIONS_REGISTER, - ACTIONS_TRADE, - ACTIONS_SPIN_TRADE, - ACTIONS_TAKEITEM_TOSS -}; - static const u8 *const sPartyMenuActions[] = { [ACTIONS_NONE] = NULL, @@ -818,17 +742,32 @@ static const u8 sPartyMenuActionCounts[] = [ACTIONS_TAKEITEM_TOSS] = ARRAY_COUNT(sPartyMenuAction_TakeItemTossCancel) }; -static const u16 sFieldMoves[] = +static const u16 sFieldMoves[FIELD_MOVES_COUNT + 1] = { - MOVE_CUT, MOVE_FLASH, MOVE_ROCK_SMASH, MOVE_STRENGTH, MOVE_SURF, MOVE_FLY, MOVE_DIVE, MOVE_WATERFALL, MOVE_TELEPORT, - MOVE_DIG, MOVE_SECRET_POWER, MOVE_MILK_DRINK, MOVE_SOFT_BOILED, MOVE_SWEET_SCENT, FIELD_MOVE_TERMINATOR + [FIELD_MOVE_CUT] = MOVE_CUT, + [FIELD_MOVE_FLASH] = MOVE_FLASH, + [FIELD_MOVE_ROCK_SMASH] = MOVE_ROCK_SMASH, + [FIELD_MOVE_STRENGTH] = MOVE_STRENGTH, + [FIELD_MOVE_SURF] = MOVE_SURF, + [FIELD_MOVE_FLY] = MOVE_FLY, + [FIELD_MOVE_DIVE] = MOVE_DIVE, + [FIELD_MOVE_WATERFALL] = MOVE_WATERFALL, + [FIELD_MOVE_TELEPORT] = MOVE_TELEPORT, + [FIELD_MOVE_DIG] = MOVE_DIG, + [FIELD_MOVE_SECRET_POWER] = MOVE_SECRET_POWER, + [FIELD_MOVE_MILK_DRINK] = MOVE_MILK_DRINK, + [FIELD_MOVE_SOFT_BOILED] = MOVE_SOFT_BOILED, + [FIELD_MOVE_SWEET_SCENT] = MOVE_SWEET_SCENT, + // NOTE: This value is used as the terminal value for the table. There's no reason to do this, as the size of the table is known. + // Whichever move shares this value (MOVE_SWORDS_DANCE by default) if present will be treated as the end of the array rather than a field move. + [FIELD_MOVES_COUNT] = FIELD_MOVES_COUNT }; struct { bool8 (*fieldMoveFunc)(void); u8 msgId; -} static const sFieldMoveCursorCallbacks[] = +} static const sFieldMoveCursorCallbacks[FIELD_MOVES_COUNT] = { [FIELD_MOVE_CUT] = {SetUpFieldMove_Cut, PARTY_MSG_NOTHING_TO_CUT}, [FIELD_MOVE_FLASH] = {SetUpFieldMove_Flash, PARTY_MSG_CANT_USE_HERE}, @@ -867,7 +806,7 @@ static const struct OamData sOamData_HeldItem = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -899,23 +838,23 @@ static const union AnimCmd *const sSpriteAnimTable_HeldItem[] = static const struct SpriteSheet sSpriteSheet_HeldItem = { - sHeldItemGfx, sizeof(sHeldItemGfx), 0xd750 + .data = sHeldItemGfx, .size = sizeof(sHeldItemGfx), .tag = TAG_HELD_ITEM }; static const struct SpritePalette sSpritePalette_HeldItem = { - sHeldItemPalette, 0xd750 + .data = sHeldItemPalette, .tag = TAG_HELD_ITEM }; static const struct SpriteTemplate sSpriteTemplate_HeldItem = { - 0xd750, - 0xd750, - &sOamData_HeldItem, - sSpriteAnimTable_HeldItem, - NULL, - gDummySpriteAffineAnimTable, - SpriteCallbackDummy + .tileTag = TAG_HELD_ITEM, + .paletteTag = TAG_HELD_ITEM, + .oam = &sOamData_HeldItem, + .anims = sSpriteAnimTable_HeldItem, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy }; static const struct OamData sOamData_MenuPokeball = @@ -923,7 +862,7 @@ static const struct OamData sOamData_MenuPokeball = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -980,7 +919,7 @@ static const struct OamData sOamData_MenuPokeballSmall = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -1061,7 +1000,7 @@ static const struct OamData sOamData_StatusCondition = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index addb482851..43986dd9b0 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -4,2205 +4,445 @@ // .y_offset is the number of pixels between the drawn pixel area and the bottom edge. const struct MonCoords gMonBackPicCoords[] = { - [SPECIES_NONE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_BULBASAUR] = - { - .size = MON_COORDS_SIZE(48, 32), - .y_offset = 16, - }, - [SPECIES_IVYSAUR] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_VENUSAUR] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_CHARMANDER] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_CHARMELEON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_CHARIZARD] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_SQUIRTLE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_WARTORTLE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_BLASTOISE] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_CATERPIE] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_METAPOD] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_BUTTERFREE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_WEEDLE] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_KAKUNA] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 10, - }, - [SPECIES_BEEDRILL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_PIDGEY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_PIDGEOTTO] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 12, - }, - [SPECIES_PIDGEOT] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 2, - }, - [SPECIES_RATTATA] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_RATICATE] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 13, - }, - [SPECIES_SPEAROW] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_FEAROW] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_EKANS] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_ARBOK] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_RAICHU] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_SANDSHREW] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_SANDSLASH] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_NIDORAN_F] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_NIDORINA] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_NIDOQUEEN] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_NIDORAN_M] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_NIDORINO] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_NIDOKING] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_CLEFAIRY] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_CLEFABLE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_VULPIX] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_NINETALES] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_JIGGLYPUFF] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_WIGGLYTUFF] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_ZUBAT] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_GOLBAT] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_ODDISH] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_GLOOM] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_VILEPLUME] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_PARAS] = - { - .size = MON_COORDS_SIZE(48, 24), - .y_offset = 20, - }, - [SPECIES_PARASECT] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_VENONAT] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_VENOMOTH] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_DIGLETT] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 16, - }, - [SPECIES_DUGTRIO] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_MEOWTH] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_PERSIAN] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_PSYDUCK] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_GOLDUCK] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_MANKEY] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_PRIMEAPE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_GROWLITHE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_ARCANINE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_POLIWAG] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 16, - }, - [SPECIES_POLIWHIRL] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_POLIWRATH] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_ABRA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_KADABRA] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_ALAKAZAM] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_MACHOP] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_MACHOKE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_MACHAMP] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 4, - }, - [SPECIES_BELLSPROUT] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_WEEPINBELL] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_VICTREEBEL] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_TENTACOOL] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_TENTACRUEL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_GEODUDE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_GRAVELER] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 12, - }, - [SPECIES_GOLEM] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 16, - }, - [SPECIES_PONYTA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_RAPIDASH] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_SLOWPOKE] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_SLOWBRO] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_MAGNEMITE] = - { - .size = MON_COORDS_SIZE(32, 24), - .y_offset = 20, - }, - [SPECIES_MAGNETON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_FARFETCHD] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_DODUO] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_DODRIO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_SEEL] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_DEWGONG] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_GRIMER] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 12, - }, - [SPECIES_MUK] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_SHELLDER] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_CLOYSTER] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_GASTLY] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_HAUNTER] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_GENGAR] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_ONIX] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_DROWZEE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_HYPNO] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_KRABBY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_KINGLER] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_VOLTORB] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_ELECTRODE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_EXEGGCUTE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_EXEGGUTOR] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_CUBONE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_MAROWAK] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_HITMONLEE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_HITMONCHAN] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_LICKITUNG] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_KOFFING] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_WEEZING] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_RHYHORN] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 12, - }, - [SPECIES_RHYDON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_CHANSEY] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_TANGELA] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_KANGASKHAN] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_HORSEA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_SEADRA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_GOLDEEN] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_SEAKING] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_STARYU] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_STARMIE] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_MR_MIME] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_SCYTHER] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_JYNX] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_ELECTABUZZ] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_MAGMAR] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_PINSIR] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_TAUROS] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_MAGIKARP] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_GYARADOS] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_LAPRAS] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_DITTO] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 17, - }, - [SPECIES_EEVEE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_VAPOREON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_JOLTEON] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_FLAREON] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_PORYGON] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_OMANYTE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_OMASTAR] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_KABUTO] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_KABUTOPS] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_AERODACTYL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_SNORLAX] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_ARTICUNO] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_ZAPDOS] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_MOLTRES] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_DRATINI] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_DRAGONAIR] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_DRAGONITE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_MEWTWO] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 1, - }, - [SPECIES_MEW] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_CHIKORITA] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_BAYLEEF] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_MEGANIUM] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_CYNDAQUIL] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_QUILAVA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_TYPHLOSION] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_TOTODILE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_CROCONAW] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_FERALIGATR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_SENTRET] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_FURRET] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_HOOTHOOT] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_NOCTOWL] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 3, - }, - [SPECIES_LEDYBA] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_LEDIAN] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_SPINARAK] = - { - .size = MON_COORDS_SIZE(56, 24), - .y_offset = 21, - }, - [SPECIES_ARIADOS] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_CROBAT] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_CHINCHOU] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_LANTURN] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_PICHU] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_CLEFFA] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 15, - }, - [SPECIES_IGGLYBUFF] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_TOGEPI] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 16, - }, - [SPECIES_TOGETIC] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_NATU] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 17, - }, - [SPECIES_XATU] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_MAREEP] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_FLAAFFY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_AMPHAROS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_BELLOSSOM] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_MARILL] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 12, - }, - [SPECIES_AZUMARILL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_SUDOWOODO] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_POLITOED] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_HOPPIP] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_SKIPLOOM] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_JUMPLUFF] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_AIPOM] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_SUNKERN] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_SUNFLORA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_YANMA] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_WOOPER] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 15, - }, - [SPECIES_QUAGSIRE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_ESPEON] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_UMBREON] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_MURKROW] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_SLOWKING] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_MISDREAVUS] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN] = - { - .size = MON_COORDS_SIZE(24, 48), - .y_offset = 8, - }, - [SPECIES_WOBBUFFET] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 12, - }, - [SPECIES_GIRAFARIG] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_PINECO] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 15, - }, - [SPECIES_FORRETRESS] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 16, - }, - [SPECIES_DUNSPARCE] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 15, - }, - [SPECIES_GLIGAR] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_STEELIX] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SNUBBULL] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_GRANBULL] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_QWILFISH] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_SCIZOR] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_SHUCKLE] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_HERACROSS] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_SNEASEL] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_TEDDIURSA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_URSARING] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_SLUGMA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_MAGCARGO] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_SWINUB] = - { - .size = MON_COORDS_SIZE(48, 24), - .y_offset = 21, - }, - [SPECIES_PILOSWINE] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 13, - }, - [SPECIES_CORSOLA] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_REMORAID] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 13, - }, - [SPECIES_OCTILLERY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_DELIBIRD] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_MANTINE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_SKARMORY] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_HOUNDOUR] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_HOUNDOOM] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_KINGDRA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_PHANPY] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_DONPHAN] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_PORYGON2] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_STANTLER] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_SMEARGLE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_TYROGUE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_HITMONTOP] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_SMOOCHUM] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 9, - }, - [SPECIES_ELEKID] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_MAGBY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_MILTANK] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_BLISSEY] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_RAIKOU] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_ENTEI] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_SUICUNE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_LARVITAR] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_PUPITAR] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_TYRANITAR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_LUGIA] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_HO_OH] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_CELEBI] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_OLD_UNOWN_B] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_C] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_D] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_E] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_F] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_G] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_H] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_I] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_J] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_K] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_L] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_M] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_N] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_O] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_P] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_Q] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_R] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_S] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_T] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_U] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_V] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_W] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_X] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_Y] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_Z] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_TREECKO] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_GROVYLE] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_SCEPTILE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_TORCHIC] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_COMBUSKEN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_BLAZIKEN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_MUDKIP] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_MARSHTOMP] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_SWAMPERT] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_POOCHYENA] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_MIGHTYENA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_ZIGZAGOON] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_LINOONE] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 15, - }, - [SPECIES_WURMPLE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_SILCOON] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 21, - }, - [SPECIES_BEAUTIFLY] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CASCOON] = - { - .size = MON_COORDS_SIZE(56, 24), - .y_offset = 20, - }, - [SPECIES_DUSTOX] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 20, - }, - [SPECIES_LOTAD] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 15, - }, - [SPECIES_LOMBRE] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_LUDICOLO] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_SEEDOT] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_NUZLEAF] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_SHIFTRY] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_NINCADA] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 20, - }, - [SPECIES_NINJASK] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_SHEDINJA] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_TAILLOW] = - { - .size = MON_COORDS_SIZE(48, 32), - .y_offset = 17, - }, - [SPECIES_SWELLOW] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_SHROOMISH] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_BRELOOM] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_SPINDA] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_WINGULL] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_PELIPPER] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_SURSKIT] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_MASQUERAIN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_WAILMER] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 21, - }, - [SPECIES_WAILORD] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 22, - }, - [SPECIES_SKITTY] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_DELCATTY] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_KECLEON] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_BALTOY] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_CLAYDOL] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_NOSEPASS] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 12, - }, - [SPECIES_TORKOAL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_SABLEYE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_BARBOACH] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_WHISCASH] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_LUVDISC] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 10, - }, - [SPECIES_CORPHISH] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_CRAWDAUNT] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_FEEBAS] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_MILOTIC] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 2, - }, - [SPECIES_CARVANHA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_SHARPEDO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_TRAPINCH] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 14, - }, - [SPECIES_VIBRAVA] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 17, - }, - [SPECIES_FLYGON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_MAKUHITA] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_HARIYAMA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_ELECTRIKE] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 16, - }, - [SPECIES_MANECTRIC] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_NUMEL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_CAMERUPT] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 19, - }, - [SPECIES_SPHEAL] = - { - .size = MON_COORDS_SIZE(48, 32), - .y_offset = 18, - }, - [SPECIES_SEALEO] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_WALREIN] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_CACNEA] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 15, - }, - [SPECIES_CACTURNE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_SNORUNT] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_GLALIE] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 12, - }, - [SPECIES_LUNATONE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_SOLROCK] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_AZURILL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_SPOINK] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_GRUMPIG] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PLUSLE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_MINUN] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_MAWILE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_MEDITITE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_MEDICHAM] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 3, - }, - [SPECIES_SWABLU] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_ALTARIA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_WYNAUT] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_DUSKULL] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_DUSCLOPS] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_ROSELIA] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_SLAKOTH] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 15, - }, - [SPECIES_VIGOROTH] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_SLAKING] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_GULPIN] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_SWALOT] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_TROPIUS] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_WHISMUR] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_LOUDRED] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_EXPLOUD] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_CLAMPERL] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_HUNTAIL] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 2, - }, - [SPECIES_GOREBYSS] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_ABSOL] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_SHUPPET] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_BANETTE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_SEVIPER] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ZANGOOSE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_RELICANTH] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_ARON] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 17, - }, - [SPECIES_LAIRON] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 17, - }, - [SPECIES_AGGRON] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_CASTFORM] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 13, - }, - [SPECIES_VOLBEAT] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_ILLUMISE] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_LILEEP] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_CRADILY] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_ANORITH] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 23, - }, - [SPECIES_ARMALDO] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_RALTS] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 13, - }, - [SPECIES_KIRLIA] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 6, - }, - [SPECIES_GARDEVOIR] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_BAGON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_SHELGON] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_SALAMENCE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_BELDUM] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_METANG] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 16, - }, - [SPECIES_METAGROSS] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 20, - }, - [SPECIES_REGIROCK] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_REGICE] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_REGISTEEL] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_KYOGRE] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 19, - }, - [SPECIES_GROUDON] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_RAYQUAZA] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_LATIAS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_LATIOS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_JIRACHI] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_DEOXYS] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_CHIMECHO] = - { - .size = MON_COORDS_SIZE(32, 56), - .y_offset = 7, - }, - [SPECIES_EGG] = - { - .size = MON_COORDS_SIZE(24, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_B] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 9, - }, - [SPECIES_UNOWN_C] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_UNOWN_D] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_UNOWN_E] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_F] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_G] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 5, - }, - [SPECIES_UNOWN_H] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_UNOWN_I] = - { - .size = MON_COORDS_SIZE(24, 56), - .y_offset = 7, - }, - [SPECIES_UNOWN_J] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 9, - }, - [SPECIES_UNOWN_K] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 7, - }, - [SPECIES_UNOWN_L] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_M] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_UNOWN_N] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_UNOWN_O] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_UNOWN_P] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_Q] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_UNOWN_R] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 12, - }, - [SPECIES_UNOWN_S] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 4, - }, - [SPECIES_UNOWN_T] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 13, - }, - [SPECIES_UNOWN_U] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_UNOWN_V] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_UNOWN_W] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 13, - }, - [SPECIES_UNOWN_X] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_UNOWN_Y] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_Z] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_EMARK] = - { - .size = MON_COORDS_SIZE(24, 56), - .y_offset = 6, - }, - [SPECIES_UNOWN_QMARK] = - { - .size = MON_COORDS_SIZE(32, 56), - .y_offset = 6, - }, + [SPECIES_NONE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_BULBASAUR] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 16 }, + [SPECIES_IVYSAUR] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_VENUSAUR] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_CHARMANDER] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_CHARMELEON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_CHARIZARD] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_SQUIRTLE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_WARTORTLE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_BLASTOISE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_CATERPIE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_METAPOD] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_BUTTERFREE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_WEEDLE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_KAKUNA] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, + [SPECIES_BEEDRILL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_PIDGEY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_PIDGEOTTO] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, + [SPECIES_PIDGEOT] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, + [SPECIES_RATTATA] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_RATICATE] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, + [SPECIES_SPEAROW] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_FEAROW] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_EKANS] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_ARBOK] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_PIKACHU] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_RAICHU] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_SANDSHREW] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_SANDSLASH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_NIDORAN_F] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_NIDORINA] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_NIDOQUEEN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_NIDORAN_M] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_NIDORINO] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_NIDOKING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_CLEFAIRY] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_CLEFABLE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_VULPIX] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_NINETALES] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_JIGGLYPUFF] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_WIGGLYTUFF] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_ZUBAT] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_GOLBAT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_ODDISH] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_GLOOM] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_VILEPLUME] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_PARAS] = { .size = MON_COORDS_SIZE(48, 24), .y_offset = 20 }, + [SPECIES_PARASECT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_VENONAT] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_VENOMOTH] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_DIGLETT] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, + [SPECIES_DUGTRIO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_MEOWTH] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_PERSIAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_PSYDUCK] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_GOLDUCK] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_MANKEY] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_PRIMEAPE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_GROWLITHE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_ARCANINE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_POLIWAG] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 16 }, + [SPECIES_POLIWHIRL] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_POLIWRATH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_ABRA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_KADABRA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_ALAKAZAM] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_MACHOP] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_MACHOKE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_MACHAMP] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 4 }, + [SPECIES_BELLSPROUT] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_WEEPINBELL] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_VICTREEBEL] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_TENTACOOL] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_TENTACRUEL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_GEODUDE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_GRAVELER] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 12 }, + [SPECIES_GOLEM] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 16 }, + [SPECIES_PONYTA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_RAPIDASH] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_SLOWPOKE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_SLOWBRO] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_MAGNEMITE] = { .size = MON_COORDS_SIZE(32, 24), .y_offset = 20 }, + [SPECIES_MAGNETON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_FARFETCHD] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_DODUO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_DODRIO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_SEEL] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_DEWGONG] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_GRIMER] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 12 }, + [SPECIES_MUK] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_SHELLDER] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_CLOYSTER] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_GASTLY] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_HAUNTER] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_GENGAR] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_ONIX] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_DROWZEE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_HYPNO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_KRABBY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_KINGLER] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_VOLTORB] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_ELECTRODE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_EXEGGCUTE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_EXEGGUTOR] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_CUBONE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_MAROWAK] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_HITMONLEE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_HITMONCHAN] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_LICKITUNG] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_KOFFING] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_WEEZING] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_RHYHORN] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, + [SPECIES_RHYDON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_CHANSEY] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_TANGELA] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_KANGASKHAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_HORSEA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_SEADRA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_GOLDEEN] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_SEAKING] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_STARYU] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_STARMIE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_MR_MIME] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_SCYTHER] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_JYNX] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_ELECTABUZZ] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_MAGMAR] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_PINSIR] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_TAUROS] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_MAGIKARP] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_GYARADOS] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_LAPRAS] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_DITTO] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 17 }, + [SPECIES_EEVEE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_VAPOREON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_JOLTEON] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_FLAREON] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_PORYGON] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_OMANYTE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_OMASTAR] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_KABUTO] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_KABUTOPS] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_AERODACTYL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_SNORLAX] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_ARTICUNO] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_ZAPDOS] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_MOLTRES] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_DRATINI] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_DRAGONAIR] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_DRAGONITE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_MEWTWO] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, + [SPECIES_MEW] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_CHIKORITA] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_BAYLEEF] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_MEGANIUM] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_CYNDAQUIL] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_QUILAVA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_TYPHLOSION] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_TOTODILE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_CROCONAW] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_FERALIGATR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_SENTRET] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_FURRET] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_HOOTHOOT] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_NOCTOWL] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 3 }, + [SPECIES_LEDYBA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_LEDIAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_SPINARAK] = { .size = MON_COORDS_SIZE(56, 24), .y_offset = 21 }, + [SPECIES_ARIADOS] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_CROBAT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_CHINCHOU] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_LANTURN] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_PICHU] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_CLEFFA] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 15 }, + [SPECIES_IGGLYBUFF] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_TOGEPI] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, + [SPECIES_TOGETIC] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_NATU] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 17 }, + [SPECIES_XATU] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_MAREEP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_FLAAFFY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_AMPHAROS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_BELLOSSOM] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_MARILL] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 12 }, + [SPECIES_AZUMARILL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_SUDOWOODO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_POLITOED] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_HOPPIP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_SKIPLOOM] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_JUMPLUFF] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_AIPOM] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_SUNKERN] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_SUNFLORA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_YANMA] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_WOOPER] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + [SPECIES_QUAGSIRE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_ESPEON] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_UMBREON] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_MURKROW] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_SLOWKING] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_MISDREAVUS] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_UNOWN] = { .size = MON_COORDS_SIZE(24, 48), .y_offset = 8 }, + [SPECIES_WOBBUFFET] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 12 }, + [SPECIES_GIRAFARIG] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_PINECO] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 15 }, + [SPECIES_FORRETRESS] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 16 }, + [SPECIES_DUNSPARCE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + [SPECIES_GLIGAR] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_STEELIX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SNUBBULL] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_GRANBULL] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_QWILFISH] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_SCIZOR] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_SHUCKLE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_HERACROSS] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_SNEASEL] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_TEDDIURSA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_URSARING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_SLUGMA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_MAGCARGO] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_SWINUB] = { .size = MON_COORDS_SIZE(48, 24), .y_offset = 21 }, + [SPECIES_PILOSWINE] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, + [SPECIES_CORSOLA] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_REMORAID] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, + [SPECIES_OCTILLERY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_DELIBIRD] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_MANTINE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_SKARMORY] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_HOUNDOUR] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_HOUNDOOM] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_KINGDRA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_PHANPY] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_DONPHAN] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_PORYGON2] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_STANTLER] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_SMEARGLE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_TYROGUE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_HITMONTOP] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_SMOOCHUM] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, + [SPECIES_ELEKID] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_MAGBY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_MILTANK] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_BLISSEY] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_RAIKOU] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_ENTEI] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_SUICUNE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_LARVITAR] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_PUPITAR] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_TYRANITAR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_LUGIA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_HO_OH] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_CELEBI] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_OLD_UNOWN_B] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_C] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_D] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_E] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_F] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_G] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_H] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_I] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_J] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_K] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_L] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_M] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_N] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_O] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_P] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_Q] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_R] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_S] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_T] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_U] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_V] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_W] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_X] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_Y] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_Z] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_TREECKO] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_GROVYLE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_SCEPTILE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_TORCHIC] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_COMBUSKEN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_BLAZIKEN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_MUDKIP] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_MARSHTOMP] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_SWAMPERT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_POOCHYENA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_MIGHTYENA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_ZIGZAGOON] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_LINOONE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + [SPECIES_WURMPLE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_SILCOON] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 21 }, + [SPECIES_BEAUTIFLY] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CASCOON] = { .size = MON_COORDS_SIZE(56, 24), .y_offset = 20 }, + [SPECIES_DUSTOX] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 20 }, + [SPECIES_LOTAD] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 15 }, + [SPECIES_LOMBRE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_LUDICOLO] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_SEEDOT] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_NUZLEAF] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_SHIFTRY] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_NINCADA] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 20 }, + [SPECIES_NINJASK] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_SHEDINJA] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_TAILLOW] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 17 }, + [SPECIES_SWELLOW] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_SHROOMISH] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_BRELOOM] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_SPINDA] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_WINGULL] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_PELIPPER] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_SURSKIT] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_MASQUERAIN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_WAILMER] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 21 }, + [SPECIES_WAILORD] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 22 }, + [SPECIES_SKITTY] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_DELCATTY] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_KECLEON] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_BALTOY] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_CLAYDOL] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_NOSEPASS] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, + [SPECIES_TORKOAL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_SABLEYE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_BARBOACH] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_WHISCASH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_LUVDISC] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, + [SPECIES_CORPHISH] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_CRAWDAUNT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_FEEBAS] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_MILOTIC] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 2 }, + [SPECIES_CARVANHA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_SHARPEDO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_TRAPINCH] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 14 }, + [SPECIES_VIBRAVA] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 17 }, + [SPECIES_FLYGON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_MAKUHITA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_HARIYAMA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_ELECTRIKE] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 16 }, + [SPECIES_MANECTRIC] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_NUMEL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_CAMERUPT] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 19 }, + [SPECIES_SPHEAL] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 18 }, + [SPECIES_SEALEO] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_WALREIN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_CACNEA] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + [SPECIES_CACTURNE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_SNORUNT] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_GLALIE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, + [SPECIES_LUNATONE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_SOLROCK] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_AZURILL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_SPOINK] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_GRUMPIG] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_PLUSLE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_MINUN] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_MAWILE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_MEDITITE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_MEDICHAM] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 3 }, + [SPECIES_SWABLU] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_ALTARIA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_WYNAUT] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_DUSKULL] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_DUSCLOPS] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_ROSELIA] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_SLAKOTH] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + [SPECIES_VIGOROTH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_SLAKING] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_GULPIN] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_SWALOT] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_TROPIUS] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_WHISMUR] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_LOUDRED] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_EXPLOUD] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_CLAMPERL] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_HUNTAIL] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 2 }, + [SPECIES_GOREBYSS] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_ABSOL] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_SHUPPET] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_BANETTE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_SEVIPER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_ZANGOOSE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_RELICANTH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_ARON] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 17 }, + [SPECIES_LAIRON] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 17 }, + [SPECIES_AGGRON] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_CASTFORM] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 13 }, + [SPECIES_VOLBEAT] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_ILLUMISE] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_LILEEP] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_CRADILY] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_ANORITH] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 23 }, + [SPECIES_ARMALDO] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_RALTS] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 13 }, + [SPECIES_KIRLIA] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 6 }, + [SPECIES_GARDEVOIR] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_BAGON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_SHELGON] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_SALAMENCE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_BELDUM] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_METANG] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 16 }, + [SPECIES_METAGROSS] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 20 }, + [SPECIES_REGIROCK] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_REGICE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_REGISTEEL] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_KYOGRE] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 19 }, + [SPECIES_GROUDON] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_RAYQUAZA] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_LATIAS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_LATIOS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_JIRACHI] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_DEOXYS] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_CHIMECHO] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 7 }, + [SPECIES_EGG] = { .size = MON_COORDS_SIZE(24, 48), .y_offset = 10 }, + [SPECIES_UNOWN_B] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, + [SPECIES_UNOWN_C] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_UNOWN_D] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_UNOWN_E] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_UNOWN_F] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_UNOWN_G] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 5 }, + [SPECIES_UNOWN_H] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_UNOWN_I] = { .size = MON_COORDS_SIZE(24, 56), .y_offset = 7 }, + [SPECIES_UNOWN_J] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, + [SPECIES_UNOWN_K] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 7 }, + [SPECIES_UNOWN_L] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, + [SPECIES_UNOWN_M] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_UNOWN_N] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_UNOWN_O] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_UNOWN_P] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, + [SPECIES_UNOWN_Q] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_UNOWN_R] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 12 }, + [SPECIES_UNOWN_S] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 4 }, + [SPECIES_UNOWN_T] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 13 }, + [SPECIES_UNOWN_U] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_UNOWN_V] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_UNOWN_W] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 13 }, + [SPECIES_UNOWN_X] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_UNOWN_Y] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, + [SPECIES_UNOWN_Z] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, + [SPECIES_UNOWN_EMARK] = { .size = MON_COORDS_SIZE(24, 56), .y_offset = 6 }, + [SPECIES_UNOWN_QMARK] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 6 }, }; diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index 6022f9cc18..34d5c67442 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -4,2204 +4,444 @@ // .y_offset is the number of pixels between the drawn pixel area and the bottom edge. const struct MonCoords gMonFrontPicCoords[] = { - [SPECIES_NONE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_BULBASAUR] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 14, - }, - [SPECIES_IVYSAUR] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_VENUSAUR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_CHARMANDER] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_CHARMELEON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_CHARIZARD] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_SQUIRTLE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_WARTORTLE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_BLASTOISE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CATERPIE] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 16, - }, - [SPECIES_METAPOD] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 20, - }, - [SPECIES_BUTTERFREE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_WEEDLE] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 18, - }, - [SPECIES_KAKUNA] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 14, - }, - [SPECIES_BEEDRILL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_PIDGEY] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_PIDGEOTTO] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 11, - }, - [SPECIES_PIDGEOT] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_RATTATA] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, - }, - [SPECIES_RATICATE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_SPEAROW] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 15, - }, - [SPECIES_FEAROW] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_EKANS] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_ARBOK] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_PIKACHU] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 9, - }, - [SPECIES_RAICHU] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 4, - }, - [SPECIES_SANDSHREW] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_SANDSLASH] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_NIDORAN_F] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 15, - }, - [SPECIES_NIDORINA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_NIDOQUEEN] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_NIDORAN_M] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_NIDORINO] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_NIDOKING] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 2, - }, - [SPECIES_CLEFAIRY] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 16, - }, - [SPECIES_CLEFABLE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_VULPIX] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_NINETALES] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_JIGGLYPUFF] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 16, - }, - [SPECIES_WIGGLYTUFF] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 8, - }, - [SPECIES_ZUBAT] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_GOLBAT] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ODDISH] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 15, - }, - [SPECIES_GLOOM] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_VILEPLUME] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_PARAS] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_PARASECT] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_VENONAT] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_VENOMOTH] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_DIGLETT] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 18, - }, - [SPECIES_DUGTRIO] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 13, - }, - [SPECIES_MEOWTH] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_PERSIAN] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_PSYDUCK] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 9, - }, - [SPECIES_GOLDUCK] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 2, - }, - [SPECIES_MANKEY] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_PRIMEAPE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_GROWLITHE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_ARCANINE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_POLIWAG] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 19, - }, - [SPECIES_POLIWHIRL] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_POLIWRATH] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_ABRA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_KADABRA] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_ALAKAZAM] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_MACHOP] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_MACHOKE] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_MACHAMP] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_BELLSPROUT] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 15, - }, - [SPECIES_WEEPINBELL] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_VICTREEBEL] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_TENTACOOL] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 9, - }, - [SPECIES_TENTACRUEL] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_GEODUDE] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 18, - }, - [SPECIES_GRAVELER] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_GOLEM] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_PONYTA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_RAPIDASH] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_SLOWPOKE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_SLOWBRO] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_MAGNEMITE] = - { - .size = MON_COORDS_SIZE(32, 24), - .y_offset = 21, - }, - [SPECIES_MAGNETON] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_FARFETCHD] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_DODUO] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 5, - }, - [SPECIES_DODRIO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SEEL] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_DEWGONG] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_GRIMER] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_MUK] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_SHELLDER] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 16, - }, - [SPECIES_CLOYSTER] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_GASTLY] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_HAUNTER] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_GENGAR] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_ONIX] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 2, - }, - [SPECIES_DROWZEE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_HYPNO] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_KRABBY] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_KINGLER] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_VOLTORB] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 19, - }, - [SPECIES_ELECTRODE] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_EXEGGCUTE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_EXEGGUTOR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CUBONE] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_MAROWAK] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_HITMONLEE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_HITMONCHAN] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 4, - }, - [SPECIES_LICKITUNG] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_KOFFING] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_WEEZING] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_RHYHORN] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_RHYDON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_CHANSEY] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_TANGELA] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_KANGASKHAN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_HORSEA] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 15, - }, - [SPECIES_SEADRA] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_GOLDEEN] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_SEAKING] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_STARYU] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_STARMIE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_MR_MIME] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_SCYTHER] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_JYNX] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_ELECTABUZZ] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 2, - }, - [SPECIES_MAGMAR] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_PINSIR] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_TAUROS] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_MAGIKARP] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_GYARADOS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 8, - }, - [SPECIES_LAPRAS] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_DITTO] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 17, - }, - [SPECIES_EEVEE] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 9, - }, - [SPECIES_VAPOREON] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_JOLTEON] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_FLAREON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_PORYGON] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 13, - }, - [SPECIES_OMANYTE] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 15, - }, - [SPECIES_OMASTAR] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_KABUTO] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 17, - }, - [SPECIES_KABUTOPS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_AERODACTYL] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_SNORLAX] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_ARTICUNO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ZAPDOS] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_MOLTRES] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_DRATINI] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 14, - }, - [SPECIES_DRAGONAIR] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_DRAGONITE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_MEWTWO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_MEW] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 13, - }, - [SPECIES_CHIKORITA] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 13, - }, - [SPECIES_BAYLEEF] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_MEGANIUM] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CYNDAQUIL] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_QUILAVA] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_TYPHLOSION] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_TOTODILE] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_CROCONAW] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_FERALIGATR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SENTRET] = - { - .size = MON_COORDS_SIZE(32, 56), - .y_offset = 4, - }, - [SPECIES_FURRET] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_HOOTHOOT] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 13, - }, - [SPECIES_NOCTOWL] = - { - .size = MON_COORDS_SIZE(40, 64), - .y_offset = 3, - }, - [SPECIES_LEDYBA] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 12, - }, - [SPECIES_LEDIAN] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 4, - }, - [SPECIES_SPINARAK] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 19, - }, - [SPECIES_ARIADOS] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_CROBAT] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CHINCHOU] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 16, - }, - [SPECIES_LANTURN] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 11, - }, - [SPECIES_PICHU] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 12, - }, - [SPECIES_CLEFFA] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 20, - }, - [SPECIES_IGGLYBUFF] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 18, - }, - [SPECIES_TOGEPI] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 20, - }, - [SPECIES_TOGETIC] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 9, - }, - [SPECIES_NATU] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 20, - }, - [SPECIES_XATU] = - { - .size = MON_COORDS_SIZE(32, 56), - .y_offset = 7, - }, - [SPECIES_MAREEP] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 16, - }, - [SPECIES_FLAAFFY] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_AMPHAROS] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_BELLOSSOM] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 14, - }, - [SPECIES_MARILL] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_AZUMARILL] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_SUDOWOODO] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_POLITOED] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_HOPPIP] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_SKIPLOOM] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_JUMPLUFF] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_AIPOM] = - { - .size = MON_COORDS_SIZE(40, 64), - .y_offset = 3, - }, - [SPECIES_SUNKERN] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, - }, - [SPECIES_SUNFLORA] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_YANMA] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_WOOPER] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 16, - }, - [SPECIES_QUAGSIRE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_ESPEON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_UMBREON] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 8, - }, - [SPECIES_MURKROW] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_SLOWKING] = - { - .size = MON_COORDS_SIZE(40, 64), - .y_offset = 1, - }, - [SPECIES_MISDREAVUS] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_UNOWN] = - { - .size = MON_COORDS_SIZE(24, 40), - .y_offset = 15, - }, - [SPECIES_WOBBUFFET] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_GIRAFARIG] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_PINECO] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_FORRETRESS] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_DUNSPARCE] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 17, - }, - [SPECIES_GLIGAR] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_STEELIX] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SNUBBULL] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 13, - }, - [SPECIES_GRANBULL] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 6, - }, - [SPECIES_QWILFISH] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_SCIZOR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SHUCKLE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_HERACROSS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_SNEASEL] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_TEDDIURSA] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 13, - }, - [SPECIES_URSARING] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 1, - }, - [SPECIES_SLUGMA] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 13, - }, - [SPECIES_MAGCARGO] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 13, - }, - [SPECIES_SWINUB] = - { - .size = MON_COORDS_SIZE(32, 24), - .y_offset = 20, - }, - [SPECIES_PILOSWINE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_CORSOLA] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_REMORAID] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_OCTILLERY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_DELIBIRD] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_MANTINE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_SKARMORY] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_HOUNDOUR] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_HOUNDOOM] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_KINGDRA] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 4, - }, - [SPECIES_PHANPY] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 16, - }, - [SPECIES_DONPHAN] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_PORYGON2] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_STANTLER] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SMEARGLE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_TYROGUE] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 9, - }, - [SPECIES_HITMONTOP] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_SMOOCHUM] = - { - .size = MON_COORDS_SIZE(24, 40), - .y_offset = 15, - }, - [SPECIES_ELEKID] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_MAGBY] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 13, - }, - [SPECIES_MILTANK] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_BLISSEY] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_RAIKOU] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_ENTEI] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SUICUNE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_LARVITAR] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 9, - }, - [SPECIES_PUPITAR] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 9, - }, - [SPECIES_TYRANITAR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_LUGIA] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_HO_OH] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CELEBI] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_OLD_UNOWN_B] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_C] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_D] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_E] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_F] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_G] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_H] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_I] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_J] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_K] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_L] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_M] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_N] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_O] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_P] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_Q] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_R] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_S] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_T] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_U] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_V] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_W] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_X] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_Y] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_Z] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_TREECKO] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_GROVYLE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_SCEPTILE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_TORCHIC] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_COMBUSKEN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_BLAZIKEN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_MUDKIP] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 12, - }, - [SPECIES_MARSHTOMP] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_SWAMPERT] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_POOCHYENA] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_MIGHTYENA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_ZIGZAGOON] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 15, - }, - [SPECIES_LINOONE] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_WURMPLE] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 14, - }, - [SPECIES_SILCOON] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 17, - }, - [SPECIES_BEAUTIFLY] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_CASCOON] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 16, - }, - [SPECIES_DUSTOX] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 15, - }, - [SPECIES_LOTAD] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_LOMBRE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_LUDICOLO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SEEDOT] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 16, - }, - [SPECIES_NUZLEAF] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_SHIFTRY] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_NINCADA] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 18, - }, - [SPECIES_NINJASK] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_SHEDINJA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_TAILLOW] = - { - .size = MON_COORDS_SIZE(48, 32), - .y_offset = 16, - }, - [SPECIES_SWELLOW] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_SHROOMISH] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 16, - }, - [SPECIES_BRELOOM] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_SPINDA] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 8, - }, - [SPECIES_WINGULL] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 24, - }, - [SPECIES_PELIPPER] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_SURSKIT] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 15, - }, - [SPECIES_MASQUERAIN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_WAILMER] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 15, - }, - [SPECIES_WAILORD] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 10, - }, - [SPECIES_SKITTY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_DELCATTY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_KECLEON] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_BALTOY] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 16, - }, - [SPECIES_CLAYDOL] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 6, - }, - [SPECIES_NOSEPASS] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 12, - }, - [SPECIES_TORKOAL] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_SABLEYE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_BARBOACH] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 11, - }, - [SPECIES_WHISCASH] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_LUVDISC] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 24, - }, - [SPECIES_CORPHISH] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 12, - }, - [SPECIES_CRAWDAUNT] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_FEEBAS] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 13, - }, - [SPECIES_MILOTIC] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CARVANHA] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_SHARPEDO] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_TRAPINCH] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 16, - }, - [SPECIES_VIBRAVA] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 12, - }, - [SPECIES_FLYGON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_MAKUHITA] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_HARIYAMA] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_ELECTRIKE] = - { - .size = MON_COORDS_SIZE(48, 32), - .y_offset = 18, - }, - [SPECIES_MANECTRIC] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 4, - }, - [SPECIES_NUMEL] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 15, - }, - [SPECIES_CAMERUPT] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 9, - }, - [SPECIES_SPHEAL] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 16, - }, - [SPECIES_SEALEO] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_WALREIN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_CACNEA] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 16, - }, - [SPECIES_CACTURNE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SNORUNT] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_GLALIE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_LUNATONE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_SOLROCK] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_AZURILL] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_SPOINK] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 9, - }, - [SPECIES_GRUMPIG] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_PLUSLE] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 14, - }, - [SPECIES_MINUN] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 12, - }, - [SPECIES_MAWILE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_MEDITITE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_MEDICHAM] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 1, - }, - [SPECIES_SWABLU] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 17, - }, - [SPECIES_ALTARIA] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_WYNAUT] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_DUSKULL] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_DUSCLOPS] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_ROSELIA] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_SLAKOTH] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 18, - }, - [SPECIES_VIGOROTH] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_SLAKING] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_GULPIN] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 18, - }, - [SPECIES_SWALOT] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_TROPIUS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_WHISMUR] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_LOUDRED] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_EXPLOUD] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_CLAMPERL] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_HUNTAIL] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_GOREBYSS] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_ABSOL] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 0, - }, - [SPECIES_SHUPPET] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 14, - }, - [SPECIES_BANETTE] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_SEVIPER] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 8, - }, - [SPECIES_ZANGOOSE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_RELICANTH] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 11, - }, - [SPECIES_ARON] = - { - .size = MON_COORDS_SIZE(32, 24), - .y_offset = 20, - }, - [SPECIES_LAIRON] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 13, - }, - [SPECIES_AGGRON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CASTFORM] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 17, - }, - [SPECIES_VOLBEAT] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_ILLUMISE] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_LILEEP] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_CRADILY] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_ANORITH] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_ARMALDO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_RALTS] = - { - .size = MON_COORDS_SIZE(24, 40), - .y_offset = 15, - }, - [SPECIES_KIRLIA] = - { - .size = MON_COORDS_SIZE(32, 56), - .y_offset = 6, - }, - [SPECIES_GARDEVOIR] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 1, - }, - [SPECIES_BAGON] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_SHELGON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_SALAMENCE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_BELDUM] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_METANG] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_METAGROSS] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_REGIROCK] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 4, - }, - [SPECIES_REGICE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_REGISTEEL] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_KYOGRE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_GROUDON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_RAYQUAZA] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_LATIAS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_LATIOS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_JIRACHI] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 13, - }, - [SPECIES_DEOXYS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_CHIMECHO] = - { - .size = MON_COORDS_SIZE(24, 56), - .y_offset = 6, - }, - [SPECIES_EGG] = - { - .size = MON_COORDS_SIZE(24, 24), - .y_offset = 20, - }, - [SPECIES_UNOWN_B] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_C] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_D] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_E] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 17, - }, - [SPECIES_UNOWN_F] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 17, - }, - [SPECIES_UNOWN_G] = - { - .size = MON_COORDS_SIZE(24, 40), - .y_offset = 14, - }, - [SPECIES_UNOWN_H] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_I] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_J] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 17, - }, - [SPECIES_UNOWN_K] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 17, - }, - [SPECIES_UNOWN_L] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 19, - }, - [SPECIES_UNOWN_M] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 19, - }, - [SPECIES_UNOWN_N] = - { - .size = MON_COORDS_SIZE(32, 24), - .y_offset = 20, - }, - [SPECIES_UNOWN_O] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_P] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 19, - }, - [SPECIES_UNOWN_Q] = - { - .size = MON_COORDS_SIZE(32, 24), - .y_offset = 21, - }, - [SPECIES_UNOWN_R] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 19, - }, - [SPECIES_UNOWN_S] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 12, - }, - [SPECIES_UNOWN_T] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 18, - }, - [SPECIES_UNOWN_U] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 18, - }, - [SPECIES_UNOWN_V] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 18, - }, - [SPECIES_UNOWN_W] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 19, - }, - [SPECIES_UNOWN_X] = - { - .size = MON_COORDS_SIZE(24, 24), - .y_offset = 21, - }, - [SPECIES_UNOWN_Y] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 17, - }, - [SPECIES_UNOWN_Z] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_EMARK] = - { - .size = MON_COORDS_SIZE(24, 40), - .y_offset = 15, - }, - [SPECIES_UNOWN_QMARK] = - { - .size = MON_COORDS_SIZE(24, 40), - .y_offset = 13, - }, + [SPECIES_NONE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_BULBASAUR] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 14 }, + [SPECIES_IVYSAUR] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_VENUSAUR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_CHARMANDER] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_CHARMELEON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_CHARIZARD] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_SQUIRTLE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_WARTORTLE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_BLASTOISE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CATERPIE] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 16 }, + [SPECIES_METAPOD] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 20 }, + [SPECIES_BUTTERFREE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_WEEDLE] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 18 }, + [SPECIES_KAKUNA] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 14 }, + [SPECIES_BEEDRILL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_PIDGEY] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_PIDGEOTTO] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 11 }, + [SPECIES_PIDGEOT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_RATTATA] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, + [SPECIES_RATICATE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_SPEAROW] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 15 }, + [SPECIES_FEAROW] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_EKANS] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_ARBOK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_PIKACHU] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 9 }, + [SPECIES_RAICHU] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 4 }, + [SPECIES_SANDSHREW] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_SANDSLASH] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_NIDORAN_F] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 15 }, + [SPECIES_NIDORINA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_NIDOQUEEN] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_NIDORAN_M] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_NIDORINO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_NIDOKING] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, + [SPECIES_CLEFAIRY] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 16 }, + [SPECIES_CLEFABLE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_VULPIX] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_NINETALES] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_JIGGLYPUFF] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 16 }, + [SPECIES_WIGGLYTUFF] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 8 }, + [SPECIES_ZUBAT] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_GOLBAT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_ODDISH] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 15 }, + [SPECIES_GLOOM] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_VILEPLUME] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_PARAS] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_PARASECT] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_VENONAT] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_VENOMOTH] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_DIGLETT] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 18 }, + [SPECIES_DUGTRIO] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, + [SPECIES_MEOWTH] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_PERSIAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_PSYDUCK] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, + [SPECIES_GOLDUCK] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, + [SPECIES_MANKEY] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_PRIMEAPE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_GROWLITHE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_ARCANINE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_POLIWAG] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 19 }, + [SPECIES_POLIWHIRL] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_POLIWRATH] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_ABRA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_KADABRA] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_ALAKAZAM] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_MACHOP] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_MACHOKE] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_MACHAMP] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_BELLSPROUT] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 15 }, + [SPECIES_WEEPINBELL] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_VICTREEBEL] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_TENTACOOL] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, + [SPECIES_TENTACRUEL] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_GEODUDE] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 18 }, + [SPECIES_GRAVELER] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_GOLEM] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_PONYTA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_RAPIDASH] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_SLOWPOKE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_SLOWBRO] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_MAGNEMITE] = { .size = MON_COORDS_SIZE(32, 24), .y_offset = 21 }, + [SPECIES_MAGNETON] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_FARFETCHD] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_DODUO] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 5 }, + [SPECIES_DODRIO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SEEL] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_DEWGONG] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_GRIMER] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_MUK] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_SHELLDER] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 16 }, + [SPECIES_CLOYSTER] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_GASTLY] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_HAUNTER] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_GENGAR] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_ONIX] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, + [SPECIES_DROWZEE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_HYPNO] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_KRABBY] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_KINGLER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_VOLTORB] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 19 }, + [SPECIES_ELECTRODE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_EXEGGCUTE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_EXEGGUTOR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CUBONE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_MAROWAK] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_HITMONLEE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_HITMONCHAN] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 4 }, + [SPECIES_LICKITUNG] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_KOFFING] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_WEEZING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_RHYHORN] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_RHYDON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_CHANSEY] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_TANGELA] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_KANGASKHAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_HORSEA] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 15 }, + [SPECIES_SEADRA] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_GOLDEEN] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_SEAKING] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_STARYU] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_STARMIE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_MR_MIME] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_SCYTHER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_JYNX] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_ELECTABUZZ] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, + [SPECIES_MAGMAR] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_PINSIR] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_TAUROS] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_MAGIKARP] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_GYARADOS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 8 }, + [SPECIES_LAPRAS] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_DITTO] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 17 }, + [SPECIES_EEVEE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, + [SPECIES_VAPOREON] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_JOLTEON] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_FLAREON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_PORYGON] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 13 }, + [SPECIES_OMANYTE] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 15 }, + [SPECIES_OMASTAR] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_KABUTO] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 17 }, + [SPECIES_KABUTOPS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_AERODACTYL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_SNORLAX] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_ARTICUNO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_ZAPDOS] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_MOLTRES] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_DRATINI] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 14 }, + [SPECIES_DRAGONAIR] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_DRAGONITE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_MEWTWO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_MEW] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 13 }, + [SPECIES_CHIKORITA] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, + [SPECIES_BAYLEEF] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_MEGANIUM] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CYNDAQUIL] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_QUILAVA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_TYPHLOSION] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_TOTODILE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_CROCONAW] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_FERALIGATR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SENTRET] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 4 }, + [SPECIES_FURRET] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_HOOTHOOT] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 13 }, + [SPECIES_NOCTOWL] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 3 }, + [SPECIES_LEDYBA] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 12 }, + [SPECIES_LEDIAN] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 4 }, + [SPECIES_SPINARAK] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 19 }, + [SPECIES_ARIADOS] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_CROBAT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CHINCHOU] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 16 }, + [SPECIES_LANTURN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 11 }, + [SPECIES_PICHU] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 12 }, + [SPECIES_CLEFFA] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 20 }, + [SPECIES_IGGLYBUFF] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 18 }, + [SPECIES_TOGEPI] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 20 }, + [SPECIES_TOGETIC] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, + [SPECIES_NATU] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 20 }, + [SPECIES_XATU] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 7 }, + [SPECIES_MAREEP] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 16 }, + [SPECIES_FLAAFFY] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_AMPHAROS] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_BELLOSSOM] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 14 }, + [SPECIES_MARILL] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_AZUMARILL] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_SUDOWOODO] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_POLITOED] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_HOPPIP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_SKIPLOOM] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_JUMPLUFF] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_AIPOM] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 3 }, + [SPECIES_SUNKERN] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, + [SPECIES_SUNFLORA] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_YANMA] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_WOOPER] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, + [SPECIES_QUAGSIRE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_ESPEON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_UMBREON] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 8 }, + [SPECIES_MURKROW] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_SLOWKING] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 1 }, + [SPECIES_MISDREAVUS] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_UNOWN] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 15 }, + [SPECIES_WOBBUFFET] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_GIRAFARIG] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_PINECO] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_FORRETRESS] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_DUNSPARCE] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 17 }, + [SPECIES_GLIGAR] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_STEELIX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SNUBBULL] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 13 }, + [SPECIES_GRANBULL] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 6 }, + [SPECIES_QWILFISH] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_SCIZOR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SHUCKLE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_HERACROSS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_SNEASEL] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_TEDDIURSA] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 13 }, + [SPECIES_URSARING] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, + [SPECIES_SLUGMA] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 13 }, + [SPECIES_MAGCARGO] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 13 }, + [SPECIES_SWINUB] = { .size = MON_COORDS_SIZE(32, 24), .y_offset = 20 }, + [SPECIES_PILOSWINE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_CORSOLA] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_REMORAID] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_OCTILLERY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_DELIBIRD] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_MANTINE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_SKARMORY] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_HOUNDOUR] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_HOUNDOOM] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_KINGDRA] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 4 }, + [SPECIES_PHANPY] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, + [SPECIES_DONPHAN] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_PORYGON2] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_STANTLER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SMEARGLE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_TYROGUE] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, + [SPECIES_HITMONTOP] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_SMOOCHUM] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 15 }, + [SPECIES_ELEKID] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_MAGBY] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 13 }, + [SPECIES_MILTANK] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_BLISSEY] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_RAIKOU] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_ENTEI] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SUICUNE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_LARVITAR] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, + [SPECIES_PUPITAR] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, + [SPECIES_TYRANITAR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_LUGIA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_HO_OH] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CELEBI] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_OLD_UNOWN_B] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_C] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_D] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_E] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_F] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_G] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_H] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_I] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_J] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_K] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_L] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_M] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_N] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_O] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_P] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_Q] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_R] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_S] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_T] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_U] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_V] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_W] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_X] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_Y] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_Z] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_TREECKO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_GROVYLE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_SCEPTILE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_TORCHIC] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_COMBUSKEN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_BLAZIKEN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_MUDKIP] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 12 }, + [SPECIES_MARSHTOMP] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_SWAMPERT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_POOCHYENA] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_MIGHTYENA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_ZIGZAGOON] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + [SPECIES_LINOONE] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_WURMPLE] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 14 }, + [SPECIES_SILCOON] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 17 }, + [SPECIES_BEAUTIFLY] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_CASCOON] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 16 }, + [SPECIES_DUSTOX] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 15 }, + [SPECIES_LOTAD] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_LOMBRE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_LUDICOLO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SEEDOT] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 16 }, + [SPECIES_NUZLEAF] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_SHIFTRY] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_NINCADA] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 18 }, + [SPECIES_NINJASK] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_SHEDINJA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_TAILLOW] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 16 }, + [SPECIES_SWELLOW] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_SHROOMISH] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, + [SPECIES_BRELOOM] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_SPINDA] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 8 }, + [SPECIES_WINGULL] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 24 }, + [SPECIES_PELIPPER] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_SURSKIT] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 15 }, + [SPECIES_MASQUERAIN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_WAILMER] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 15 }, + [SPECIES_WAILORD] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 10 }, + [SPECIES_SKITTY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_DELCATTY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_KECLEON] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_BALTOY] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 16 }, + [SPECIES_CLAYDOL] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 6 }, + [SPECIES_NOSEPASS] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 12 }, + [SPECIES_TORKOAL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_SABLEYE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_BARBOACH] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 11 }, + [SPECIES_WHISCASH] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_LUVDISC] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 24 }, + [SPECIES_CORPHISH] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 12 }, + [SPECIES_CRAWDAUNT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_FEEBAS] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 13 }, + [SPECIES_MILOTIC] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CARVANHA] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_SHARPEDO] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_TRAPINCH] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, + [SPECIES_VIBRAVA] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 12 }, + [SPECIES_FLYGON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_MAKUHITA] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_HARIYAMA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_ELECTRIKE] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 18 }, + [SPECIES_MANECTRIC] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 4 }, + [SPECIES_NUMEL] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 15 }, + [SPECIES_CAMERUPT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 9 }, + [SPECIES_SPHEAL] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 16 }, + [SPECIES_SEALEO] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_WALREIN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_CACNEA] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 16 }, + [SPECIES_CACTURNE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SNORUNT] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_GLALIE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_LUNATONE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_SOLROCK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_AZURILL] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_SPOINK] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, + [SPECIES_GRUMPIG] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_PLUSLE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 14 }, + [SPECIES_MINUN] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 12 }, + [SPECIES_MAWILE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_MEDITITE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_MEDICHAM] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 1 }, + [SPECIES_SWABLU] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 17 }, + [SPECIES_ALTARIA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_WYNAUT] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_DUSKULL] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_DUSCLOPS] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_ROSELIA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_SLAKOTH] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 18 }, + [SPECIES_VIGOROTH] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_SLAKING] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_GULPIN] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 18 }, + [SPECIES_SWALOT] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_TROPIUS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_WHISMUR] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_LOUDRED] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_EXPLOUD] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_CLAMPERL] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_HUNTAIL] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_GOREBYSS] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_ABSOL] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 0 }, + [SPECIES_SHUPPET] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 14 }, + [SPECIES_BANETTE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_SEVIPER] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 8 }, + [SPECIES_ZANGOOSE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_RELICANTH] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 11 }, + [SPECIES_ARON] = { .size = MON_COORDS_SIZE(32, 24), .y_offset = 20 }, + [SPECIES_LAIRON] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, + [SPECIES_AGGRON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CASTFORM] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 17 }, + [SPECIES_VOLBEAT] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_ILLUMISE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_LILEEP] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_CRADILY] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_ANORITH] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_ARMALDO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_RALTS] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 15 }, + [SPECIES_KIRLIA] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 6 }, + [SPECIES_GARDEVOIR] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, + [SPECIES_BAGON] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_SHELGON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_SALAMENCE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_BELDUM] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_METANG] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_METAGROSS] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_REGIROCK] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 4 }, + [SPECIES_REGICE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_REGISTEEL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_KYOGRE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_GROUDON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_RAYQUAZA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_LATIAS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_LATIOS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_JIRACHI] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 13 }, + [SPECIES_DEOXYS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_CHIMECHO] = { .size = MON_COORDS_SIZE(24, 56), .y_offset = 6 }, + [SPECIES_EGG] = { .size = MON_COORDS_SIZE(24, 24), .y_offset = 20 }, + [SPECIES_UNOWN_B] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 16 }, + [SPECIES_UNOWN_C] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, + [SPECIES_UNOWN_D] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, + [SPECIES_UNOWN_E] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 17 }, + [SPECIES_UNOWN_F] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 17 }, + [SPECIES_UNOWN_G] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 14 }, + [SPECIES_UNOWN_H] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, + [SPECIES_UNOWN_I] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 16 }, + [SPECIES_UNOWN_J] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 17 }, + [SPECIES_UNOWN_K] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 17 }, + [SPECIES_UNOWN_L] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 19 }, + [SPECIES_UNOWN_M] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 19 }, + [SPECIES_UNOWN_N] = { .size = MON_COORDS_SIZE(32, 24), .y_offset = 20 }, + [SPECIES_UNOWN_O] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, + [SPECIES_UNOWN_P] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 19 }, + [SPECIES_UNOWN_Q] = { .size = MON_COORDS_SIZE(32, 24), .y_offset = 21 }, + [SPECIES_UNOWN_R] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 19 }, + [SPECIES_UNOWN_S] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 12 }, + [SPECIES_UNOWN_T] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 18 }, + [SPECIES_UNOWN_U] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 18 }, + [SPECIES_UNOWN_V] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 18 }, + [SPECIES_UNOWN_W] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 19 }, + [SPECIES_UNOWN_X] = { .size = MON_COORDS_SIZE(24, 24), .y_offset = 21 }, + [SPECIES_UNOWN_Y] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 17 }, + [SPECIES_UNOWN_Z] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 16 }, + [SPECIES_UNOWN_EMARK] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 15 }, + [SPECIES_UNOWN_QMARK] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 13 }, }; diff --git a/src/data/region_map/region_map_entries.h b/src/data/region_map/region_map_entries.h index 6b433f90fa..d1913cd8a0 100644 --- a/src/data/region_map/region_map_entries.h +++ b/src/data/region_map/region_map_entries.h @@ -299,8 +299,8 @@ const struct RegionMapLocation gRegionMapEntries[] = { [MAPSEC_CINNABAR_ISLAND] = { 0, 0, 1, 1, sMapName_CinnabarIsland}, [MAPSEC_INDIGO_PLATEAU] = { 0, 0, 1, 1, sMapName_IndigoPlateau}, [MAPSEC_SAFFRON_CITY] = { 0, 0, 1, 1, sMapName_SaffronCity}, - [MAPSEC_ROUTE_4_FLYDUP] = { 0, 0, 1, 1, sMapName_Route4}, - [MAPSEC_ROUTE_10_FLYDUP] = { 0, 0, 1, 1, sMapName_Route10}, + [MAPSEC_ROUTE_4_POKECENTER] = { 0, 0, 1, 1, sMapName_Route4}, + [MAPSEC_ROUTE_10_POKECENTER] = { 0, 0, 1, 1, sMapName_Route10}, [MAPSEC_ROUTE_1] = { 0, 0, 1, 1, sMapName_Route1}, [MAPSEC_ROUTE_2] = { 0, 0, 1, 1, sMapName_Route2}, [MAPSEC_ROUTE_3] = { 0, 0, 1, 1, sMapName_Route3}, diff --git a/src/data/trainers.h b/src/data/trainers.h index 01cf0259af..b4c1b05752 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -15,7 +15,6 @@ const struct Trainer gTrainers[] = { [TRAINER_SAWYER_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -23,13 +22,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Sawyer1), - .party = {.NoItemDefaultMoves = sParty_Sawyer1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sawyer1), }, [TRAINER_GRUNT_AQUA_HIDEOUT_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -37,13 +34,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntAquaHideout1), - .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout1), }, [TRAINER_GRUNT_AQUA_HIDEOUT_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -51,13 +46,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntAquaHideout2), - .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout2), }, [TRAINER_GRUNT_AQUA_HIDEOUT_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -65,13 +58,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntAquaHideout3), - .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout3), }, [TRAINER_GRUNT_AQUA_HIDEOUT_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -79,13 +70,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntAquaHideout4), - .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout4), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -93,13 +82,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern1), - .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSeafloorCavern1), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -107,13 +94,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern2), - .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSeafloorCavern2), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -121,13 +106,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern3), - .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSeafloorCavern3), }, [TRAINER_GABRIELLE_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, @@ -135,13 +118,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Gabrielle1), - .party = {.NoItemDefaultMoves = sParty_Gabrielle1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Gabrielle1), }, [TRAINER_GRUNT_PETALBURG_WOODS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -149,13 +130,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntPetalburgWoods), - .party = {.NoItemDefaultMoves = sParty_GruntPetalburgWoods}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntPetalburgWoods), }, [TRAINER_MARCEL] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -163,13 +142,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Marcel), - .party = {.NoItemDefaultMoves = sParty_Marcel}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Marcel), }, [TRAINER_ALBERTO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -177,13 +154,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Alberto), - .party = {.NoItemDefaultMoves = sParty_Alberto}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Alberto), }, [TRAINER_ED] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COLLECTOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, @@ -191,13 +166,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ed), - .party = {.NoItemDefaultMoves = sParty_Ed}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ed), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, @@ -205,13 +178,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern4), - .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSeafloorCavern4), }, [TRAINER_DECLAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -219,13 +190,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Declan), - .party = {.NoItemDefaultMoves = sParty_Declan}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Declan), }, [TRAINER_GRUNT_RUSTURF_TUNNEL] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -233,13 +202,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntRusturfTunnel), - .party = {.NoItemDefaultMoves = sParty_GruntRusturfTunnel}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntRusturfTunnel), }, [TRAINER_GRUNT_WEATHER_INST_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -247,13 +214,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntWeatherInst1), - .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntWeatherInst1), }, [TRAINER_GRUNT_WEATHER_INST_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -261,13 +226,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntWeatherInst2), - .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntWeatherInst2), }, [TRAINER_GRUNT_WEATHER_INST_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -275,13 +238,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntWeatherInst3), - .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntWeatherInst3), }, [TRAINER_GRUNT_MUSEUM_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -289,13 +250,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMuseum1), - .party = {.NoItemDefaultMoves = sParty_GruntMuseum1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMuseum1), }, [TRAINER_GRUNT_MUSEUM_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -303,13 +262,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMuseum2), - .party = {.NoItemDefaultMoves = sParty_GruntMuseum2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMuseum2), }, [TRAINER_GRUNT_SPACE_CENTER_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -317,13 +274,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter1), - .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter1), }, [TRAINER_GRUNT_MT_PYRE_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -331,13 +286,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMtPyre1), - .party = {.NoItemDefaultMoves = sParty_GruntMtPyre1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMtPyre1), }, [TRAINER_GRUNT_MT_PYRE_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -345,13 +298,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMtPyre2), - .party = {.NoItemDefaultMoves = sParty_GruntMtPyre2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMtPyre2), }, [TRAINER_GRUNT_MT_PYRE_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -359,13 +310,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMtPyre3), - .party = {.NoItemDefaultMoves = sParty_GruntMtPyre3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMtPyre3), }, [TRAINER_GRUNT_WEATHER_INST_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, @@ -373,13 +322,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntWeatherInst4), - .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntWeatherInst4), }, [TRAINER_GRUNT_AQUA_HIDEOUT_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, @@ -387,13 +334,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntAquaHideout5), - .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout5), }, [TRAINER_GRUNT_AQUA_HIDEOUT_6] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, @@ -401,13 +346,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntAquaHideout6), - .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout6}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout6), }, [TRAINER_FREDRICK] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, @@ -415,13 +358,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Fredrick), - .party = {.NoItemDefaultMoves = sParty_Fredrick}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Fredrick), }, [TRAINER_MATT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AQUA_ADMIN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_ADMIN_M, @@ -429,13 +370,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Matt), - .party = {.NoItemDefaultMoves = sParty_Matt}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Matt), }, [TRAINER_ZANDER] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -443,13 +382,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Zander), - .party = {.NoItemDefaultMoves = sParty_Zander}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Zander), }, [TRAINER_SHELLY_WEATHER_INSTITUTE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AQUA_ADMIN, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_ADMIN_F, @@ -457,13 +394,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_ShellyWeatherInstitute), - .party = {.NoItemDefaultMoves = sParty_ShellyWeatherInstitute}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_ShellyWeatherInstitute), }, [TRAINER_SHELLY_SEAFLOOR_CAVERN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AQUA_ADMIN, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_ADMIN_F, @@ -471,13 +406,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_ShellySeafloorCavern), - .party = {.NoItemDefaultMoves = sParty_ShellySeafloorCavern}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_ShellySeafloorCavern), }, [TRAINER_ARCHIE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AQUA_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_LEADER_ARCHIE, @@ -485,13 +418,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Archie), - .party = {.NoItemDefaultMoves = sParty_Archie}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Archie), }, [TRAINER_LEAH] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HEX_MANIAC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, @@ -499,13 +430,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Leah), - .party = {.NoItemDefaultMoves = sParty_Leah}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Leah), }, [TRAINER_DAISY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AROMA_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, @@ -513,13 +442,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Daisy), - .party = {.NoItemDefaultMoves = sParty_Daisy}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Daisy), }, [TRAINER_ROSE_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AROMA_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, @@ -527,13 +454,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Rose1), - .party = {.NoItemDefaultMoves = sParty_Rose1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Rose1), }, [TRAINER_FELIX] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -541,13 +466,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Felix), - .party = {.NoItemCustomMoves = sParty_Felix}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Felix), }, [TRAINER_VIOLET] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AROMA_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, @@ -555,13 +478,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Violet), - .party = {.NoItemDefaultMoves = sParty_Violet}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Violet), }, [TRAINER_ROSE_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AROMA_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, @@ -569,13 +490,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Rose2), - .party = {.NoItemDefaultMoves = sParty_Rose2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Rose2), }, [TRAINER_ROSE_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AROMA_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, @@ -583,13 +502,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Rose3), - .party = {.NoItemDefaultMoves = sParty_Rose3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Rose3), }, [TRAINER_ROSE_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AROMA_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, @@ -597,13 +514,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Rose4), - .party = {.NoItemDefaultMoves = sParty_Rose4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Rose4), }, [TRAINER_ROSE_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AROMA_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, @@ -611,13 +526,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Rose5), - .party = {.NoItemDefaultMoves = sParty_Rose5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Rose5), }, [TRAINER_DUSTY_1] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -625,13 +538,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dusty1), - .party = {.NoItemCustomMoves = sParty_Dusty1}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Dusty1), }, [TRAINER_CHIP] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -639,13 +550,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Chip), - .party = {.NoItemCustomMoves = sParty_Chip}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Chip), }, [TRAINER_FOSTER] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -653,13 +562,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Foster), - .party = {.NoItemCustomMoves = sParty_Foster}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Foster), }, [TRAINER_DUSTY_2] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -667,13 +574,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dusty2), - .party = {.NoItemCustomMoves = sParty_Dusty2}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Dusty2), }, [TRAINER_DUSTY_3] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -681,13 +586,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dusty3), - .party = {.NoItemCustomMoves = sParty_Dusty3}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Dusty3), }, [TRAINER_DUSTY_4] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -695,13 +598,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dusty4), - .party = {.NoItemCustomMoves = sParty_Dusty4}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Dusty4), }, [TRAINER_DUSTY_5] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -709,13 +610,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dusty5), - .party = {.NoItemCustomMoves = sParty_Dusty5}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Dusty5), }, [TRAINER_GABBY_AND_TY_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_INTERVIEWER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, .trainerPic = TRAINER_PIC_INTERVIEWER, @@ -723,13 +622,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GabbyAndTy1), - .party = {.NoItemDefaultMoves = sParty_GabbyAndTy1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GabbyAndTy1), }, [TRAINER_GABBY_AND_TY_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_INTERVIEWER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, .trainerPic = TRAINER_PIC_INTERVIEWER, @@ -737,13 +634,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GabbyAndTy2), - .party = {.NoItemDefaultMoves = sParty_GabbyAndTy2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GabbyAndTy2), }, [TRAINER_GABBY_AND_TY_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_INTERVIEWER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, .trainerPic = TRAINER_PIC_INTERVIEWER, @@ -751,13 +646,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GabbyAndTy3), - .party = {.NoItemDefaultMoves = sParty_GabbyAndTy3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GabbyAndTy3), }, [TRAINER_GABBY_AND_TY_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_INTERVIEWER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, .trainerPic = TRAINER_PIC_INTERVIEWER, @@ -765,13 +658,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GabbyAndTy4), - .party = {.NoItemDefaultMoves = sParty_GabbyAndTy4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GabbyAndTy4), }, [TRAINER_GABBY_AND_TY_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_INTERVIEWER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, .trainerPic = TRAINER_PIC_INTERVIEWER, @@ -779,13 +670,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GabbyAndTy5), - .party = {.NoItemDefaultMoves = sParty_GabbyAndTy5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GabbyAndTy5), }, [TRAINER_GABBY_AND_TY_6] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_INTERVIEWER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, .trainerPic = TRAINER_PIC_INTERVIEWER, @@ -793,13 +682,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GabbyAndTy6), - .party = {.NoItemCustomMoves = sParty_GabbyAndTy6}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_GabbyAndTy6), }, [TRAINER_LOLA_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TUBER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, @@ -807,13 +694,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lola1), - .party = {.NoItemDefaultMoves = sParty_Lola1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lola1), }, [TRAINER_AUSTINA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TUBER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, @@ -821,13 +706,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Austina), - .party = {.NoItemDefaultMoves = sParty_Austina}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Austina), }, [TRAINER_GWEN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TUBER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, @@ -835,13 +718,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Gwen), - .party = {.NoItemDefaultMoves = sParty_Gwen}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Gwen), }, [TRAINER_LOLA_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TUBER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, @@ -849,13 +730,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lola2), - .party = {.NoItemDefaultMoves = sParty_Lola2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lola2), }, [TRAINER_LOLA_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TUBER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, @@ -863,13 +742,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lola3), - .party = {.NoItemDefaultMoves = sParty_Lola3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lola3), }, [TRAINER_LOLA_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TUBER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, @@ -877,13 +754,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lola4), - .party = {.NoItemDefaultMoves = sParty_Lola4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lola4), }, [TRAINER_LOLA_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TUBER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, @@ -891,13 +766,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lola5), - .party = {.NoItemDefaultMoves = sParty_Lola5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lola5), }, [TRAINER_RICKY_1] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_TUBER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, @@ -905,13 +778,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ricky1), - .party = {.NoItemCustomMoves = sParty_Ricky1}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Ricky1), }, [TRAINER_SIMON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TUBER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, @@ -919,13 +790,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Simon), - .party = {.NoItemDefaultMoves = sParty_Simon}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Simon), }, [TRAINER_CHARLIE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TUBER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, @@ -933,13 +802,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Charlie), - .party = {.NoItemDefaultMoves = sParty_Charlie}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Charlie), }, [TRAINER_RICKY_2] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_TUBER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, @@ -947,13 +814,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ricky2), - .party = {.NoItemCustomMoves = sParty_Ricky2}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Ricky2), }, [TRAINER_RICKY_3] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_TUBER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, @@ -961,13 +826,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ricky3), - .party = {.NoItemCustomMoves = sParty_Ricky3}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Ricky3), }, [TRAINER_RICKY_4] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_TUBER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, @@ -975,13 +838,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ricky4), - .party = {.NoItemCustomMoves = sParty_Ricky4}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Ricky4), }, [TRAINER_RICKY_5] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_TUBER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, @@ -989,13 +850,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ricky5), - .party = {.NoItemCustomMoves = sParty_Ricky5}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Ricky5), }, [TRAINER_RANDALL] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1003,13 +862,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Randall), - .party = {.ItemCustomMoves = sParty_Randall}, + .party = ITEM_CUSTOM_MOVES(sParty_Randall), }, [TRAINER_PARKER] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1017,13 +874,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Parker), - .party = {.ItemCustomMoves = sParty_Parker}, + .party = ITEM_CUSTOM_MOVES(sParty_Parker), }, [TRAINER_GEORGE] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1031,13 +886,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_George), - .party = {.ItemCustomMoves = sParty_George}, + .party = ITEM_CUSTOM_MOVES(sParty_George), }, [TRAINER_BERKE] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1045,13 +898,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Berke), - .party = {.ItemCustomMoves = sParty_Berke}, + .party = ITEM_CUSTOM_MOVES(sParty_Berke), }, [TRAINER_BRAXTON] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1059,13 +910,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Braxton), - .party = {.NoItemCustomMoves = sParty_Braxton}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Braxton), }, [TRAINER_VINCENT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1073,13 +922,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Vincent), - .party = {.NoItemDefaultMoves = sParty_Vincent}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Vincent), }, [TRAINER_LEROY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1087,13 +934,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Leroy), - .party = {.NoItemDefaultMoves = sParty_Leroy}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Leroy), }, [TRAINER_WILTON_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1101,13 +946,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wilton1), - .party = {.NoItemDefaultMoves = sParty_Wilton1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Wilton1), }, [TRAINER_EDGAR] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1115,13 +958,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Edgar), - .party = {.NoItemDefaultMoves = sParty_Edgar}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Edgar), }, [TRAINER_ALBERT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1129,13 +970,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Albert), - .party = {.NoItemDefaultMoves = sParty_Albert}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Albert), }, [TRAINER_SAMUEL] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1143,13 +982,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Samuel), - .party = {.NoItemDefaultMoves = sParty_Samuel}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Samuel), }, [TRAINER_VITO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1157,13 +994,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Vito), - .party = {.NoItemDefaultMoves = sParty_Vito}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Vito), }, [TRAINER_OWEN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1171,13 +1006,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Owen), - .party = {.NoItemDefaultMoves = sParty_Owen}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Owen), }, [TRAINER_WILTON_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1185,13 +1018,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wilton2), - .party = {.NoItemDefaultMoves = sParty_Wilton2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Wilton2), }, [TRAINER_WILTON_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1199,13 +1030,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wilton3), - .party = {.NoItemDefaultMoves = sParty_Wilton3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Wilton3), }, [TRAINER_WILTON_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1213,13 +1042,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wilton4), - .party = {.NoItemDefaultMoves = sParty_Wilton4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Wilton4), }, [TRAINER_WILTON_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1227,13 +1054,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wilton5), - .party = {.NoItemDefaultMoves = sParty_Wilton5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Wilton5), }, [TRAINER_WARREN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -1241,13 +1066,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Warren), - .party = {.NoItemDefaultMoves = sParty_Warren}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Warren), }, [TRAINER_MARY] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1255,13 +1078,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Mary), - .party = {.ItemCustomMoves = sParty_Mary}, + .party = ITEM_CUSTOM_MOVES(sParty_Mary), }, [TRAINER_ALEXIA] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1269,13 +1090,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Alexia), - .party = {.ItemCustomMoves = sParty_Alexia}, + .party = ITEM_CUSTOM_MOVES(sParty_Alexia), }, [TRAINER_JODY] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1283,13 +1102,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Jody), - .party = {.ItemCustomMoves = sParty_Jody}, + .party = ITEM_CUSTOM_MOVES(sParty_Jody), }, [TRAINER_WENDY] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1297,13 +1114,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Wendy), - .party = {.NoItemCustomMoves = sParty_Wendy}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Wendy), }, [TRAINER_KEIRA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1311,13 +1126,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Keira), - .party = {.NoItemDefaultMoves = sParty_Keira}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Keira), }, [TRAINER_BROOKE_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1325,13 +1138,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brooke1), - .party = {.NoItemDefaultMoves = sParty_Brooke1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Brooke1), }, [TRAINER_JENNIFER] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1339,13 +1150,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Jennifer), - .party = {.NoItemDefaultMoves = sParty_Jennifer}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jennifer), }, [TRAINER_HOPE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1353,13 +1162,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Hope), - .party = {.NoItemDefaultMoves = sParty_Hope}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Hope), }, [TRAINER_SHANNON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1367,13 +1174,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Shannon), - .party = {.NoItemDefaultMoves = sParty_Shannon}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Shannon), }, [TRAINER_MICHELLE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1381,13 +1186,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Michelle), - .party = {.NoItemDefaultMoves = sParty_Michelle}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Michelle), }, [TRAINER_CAROLINE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1395,13 +1198,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Caroline), - .party = {.NoItemDefaultMoves = sParty_Caroline}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Caroline), }, [TRAINER_JULIE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1409,13 +1210,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Julie), - .party = {.NoItemDefaultMoves = sParty_Julie}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Julie), }, [TRAINER_BROOKE_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1423,13 +1222,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brooke2), - .party = {.NoItemDefaultMoves = sParty_Brooke2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Brooke2), }, [TRAINER_BROOKE_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1437,13 +1234,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brooke3), - .party = {.NoItemDefaultMoves = sParty_Brooke3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Brooke3), }, [TRAINER_BROOKE_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1451,13 +1246,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brooke4), - .party = {.NoItemDefaultMoves = sParty_Brooke4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Brooke4), }, [TRAINER_BROOKE_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -1465,13 +1258,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brooke5), - .party = {.NoItemDefaultMoves = sParty_Brooke5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Brooke5), }, [TRAINER_PATRICIA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HEX_MANIAC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, @@ -1479,13 +1270,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Patricia), - .party = {.NoItemDefaultMoves = sParty_Patricia}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Patricia), }, [TRAINER_KINDRA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HEX_MANIAC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, @@ -1493,13 +1282,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kindra), - .party = {.NoItemDefaultMoves = sParty_Kindra}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Kindra), }, [TRAINER_TAMMY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HEX_MANIAC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, @@ -1507,13 +1294,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tammy), - .party = {.NoItemDefaultMoves = sParty_Tammy}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tammy), }, [TRAINER_VALERIE_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HEX_MANIAC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, @@ -1521,13 +1306,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Valerie1), - .party = {.NoItemDefaultMoves = sParty_Valerie1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Valerie1), }, [TRAINER_TASHA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HEX_MANIAC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, @@ -1535,13 +1318,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tasha), - .party = {.NoItemDefaultMoves = sParty_Tasha}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tasha), }, [TRAINER_VALERIE_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HEX_MANIAC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, @@ -1549,13 +1330,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Valerie2), - .party = {.NoItemDefaultMoves = sParty_Valerie2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Valerie2), }, [TRAINER_VALERIE_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HEX_MANIAC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, @@ -1563,13 +1342,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Valerie3), - .party = {.NoItemDefaultMoves = sParty_Valerie3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Valerie3), }, [TRAINER_VALERIE_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HEX_MANIAC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, @@ -1577,13 +1354,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Valerie4), - .party = {.NoItemDefaultMoves = sParty_Valerie4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Valerie4), }, [TRAINER_VALERIE_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HEX_MANIAC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, @@ -1591,13 +1366,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Valerie5), - .party = {.NoItemDefaultMoves = sParty_Valerie5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Valerie5), }, [TRAINER_CINDY_1] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LADY, @@ -1605,13 +1378,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cindy1), - .party = {.ItemDefaultMoves = sParty_Cindy1}, + .party = ITEM_DEFAULT_MOVES(sParty_Cindy1), }, [TRAINER_DAPHNE] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LADY, @@ -1619,13 +1390,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Daphne), - .party = {.ItemCustomMoves = sParty_Daphne}, + .party = ITEM_CUSTOM_MOVES(sParty_Daphne), }, [TRAINER_GRUNT_SPACE_CENTER_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -1633,13 +1402,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter2), - .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter2), }, [TRAINER_CINDY_2] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LADY, @@ -1647,13 +1414,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cindy2), - .party = {.ItemCustomMoves = sParty_Cindy2}, + .party = ITEM_CUSTOM_MOVES(sParty_Cindy2), }, [TRAINER_BRIANNA] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LADY, @@ -1661,13 +1426,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Brianna), - .party = {.ItemDefaultMoves = sParty_Brianna}, + .party = ITEM_DEFAULT_MOVES(sParty_Brianna), }, [TRAINER_NAOMI] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LADY, @@ -1675,13 +1438,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Naomi), - .party = {.ItemDefaultMoves = sParty_Naomi}, + .party = ITEM_DEFAULT_MOVES(sParty_Naomi), }, [TRAINER_CINDY_3] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LADY, @@ -1689,13 +1450,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cindy3), - .party = {.ItemDefaultMoves = sParty_Cindy3}, + .party = ITEM_DEFAULT_MOVES(sParty_Cindy3), }, [TRAINER_CINDY_4] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LADY, @@ -1703,13 +1462,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cindy4), - .party = {.ItemDefaultMoves = sParty_Cindy4}, + .party = ITEM_DEFAULT_MOVES(sParty_Cindy4), }, [TRAINER_CINDY_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LADY, @@ -1717,13 +1474,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cindy5), - .party = {.ItemDefaultMoves = sParty_Cindy5}, + .party = ITEM_DEFAULT_MOVES(sParty_Cindy5), }, [TRAINER_CINDY_6] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LADY, @@ -1731,13 +1486,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cindy6), - .party = {.ItemCustomMoves = sParty_Cindy6}, + .party = ITEM_CUSTOM_MOVES(sParty_Cindy6), }, [TRAINER_MELISSA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -1745,13 +1498,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Melissa), - .party = {.NoItemDefaultMoves = sParty_Melissa}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Melissa), }, [TRAINER_SHEILA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -1759,13 +1510,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Sheila), - .party = {.NoItemDefaultMoves = sParty_Sheila}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sheila), }, [TRAINER_SHIRLEY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -1773,13 +1522,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Shirley), - .party = {.NoItemDefaultMoves = sParty_Shirley}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Shirley), }, [TRAINER_JESSICA_1] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -1787,13 +1534,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jessica1), - .party = {.NoItemCustomMoves = sParty_Jessica1}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Jessica1), }, [TRAINER_CONNIE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -1801,13 +1546,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Connie), - .party = {.NoItemDefaultMoves = sParty_Connie}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Connie), }, [TRAINER_BRIDGET] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -1815,13 +1558,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Bridget), - .party = {.NoItemDefaultMoves = sParty_Bridget}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Bridget), }, [TRAINER_OLIVIA] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -1829,13 +1570,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Olivia), - .party = {.NoItemCustomMoves = sParty_Olivia}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Olivia), }, [TRAINER_TIFFANY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -1843,13 +1582,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tiffany), - .party = {.NoItemDefaultMoves = sParty_Tiffany}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tiffany), }, [TRAINER_JESSICA_2] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -1857,13 +1594,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jessica2), - .party = {.NoItemCustomMoves = sParty_Jessica2}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Jessica2), }, [TRAINER_JESSICA_3] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -1871,13 +1606,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jessica3), - .party = {.NoItemCustomMoves = sParty_Jessica3}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Jessica3), }, [TRAINER_JESSICA_4] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -1885,13 +1618,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jessica4), - .party = {.NoItemCustomMoves = sParty_Jessica4}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Jessica4), }, [TRAINER_JESSICA_5] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -1899,13 +1630,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jessica5), - .party = {.NoItemCustomMoves = sParty_Jessica5}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Jessica5), }, [TRAINER_WINSTON_1] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_RICH_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_RICH_BOY, @@ -1913,13 +1642,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Winston1), - .party = {.ItemDefaultMoves = sParty_Winston1}, + .party = ITEM_DEFAULT_MOVES(sParty_Winston1), }, [TRAINER_MOLLIE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, @@ -1927,13 +1654,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Mollie), - .party = {.NoItemDefaultMoves = sParty_Mollie}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Mollie), }, [TRAINER_GARRET] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_RICH_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_RICH_BOY, @@ -1941,13 +1666,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Garret), - .party = {.ItemDefaultMoves = sParty_Garret}, + .party = ITEM_DEFAULT_MOVES(sParty_Garret), }, [TRAINER_WINSTON_2] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_RICH_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_RICH_BOY, @@ -1955,13 +1678,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Winston2), - .party = {.ItemDefaultMoves = sParty_Winston2}, + .party = ITEM_DEFAULT_MOVES(sParty_Winston2), }, [TRAINER_WINSTON_3] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_RICH_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_RICH_BOY, @@ -1969,13 +1690,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Winston3), - .party = {.ItemDefaultMoves = sParty_Winston3}, + .party = ITEM_DEFAULT_MOVES(sParty_Winston3), }, [TRAINER_WINSTON_4] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_RICH_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_RICH_BOY, @@ -1983,13 +1702,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Winston4), - .party = {.ItemDefaultMoves = sParty_Winston4}, + .party = ITEM_DEFAULT_MOVES(sParty_Winston4), }, [TRAINER_WINSTON_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RICH_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_RICH_BOY, @@ -1997,13 +1714,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Winston5), - .party = {.ItemCustomMoves = sParty_Winston5}, + .party = ITEM_CUSTOM_MOVES(sParty_Winston5), }, [TRAINER_STEVE_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_POKEMANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, @@ -2011,13 +1726,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Steve1), - .party = {.NoItemDefaultMoves = sParty_Steve1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Steve1), }, [TRAINER_THALIA_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -2025,13 +1738,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Thalia1), - .party = {.NoItemDefaultMoves = sParty_Thalia1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Thalia1), }, [TRAINER_MARK] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_POKEMANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, @@ -2039,13 +1750,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Mark), - .party = {.NoItemDefaultMoves = sParty_Mark}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Mark), }, [TRAINER_GRUNT_MT_CHIMNEY_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, @@ -2053,13 +1762,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMtChimney1), - .party = {.NoItemDefaultMoves = sParty_GruntMtChimney1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMtChimney1), }, [TRAINER_STEVE_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_POKEMANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, @@ -2067,13 +1774,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Steve2), - .party = {.NoItemDefaultMoves = sParty_Steve2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Steve2), }, [TRAINER_STEVE_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_POKEMANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, @@ -2081,13 +1786,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Steve3), - .party = {.NoItemDefaultMoves = sParty_Steve3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Steve3), }, [TRAINER_STEVE_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_POKEMANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, @@ -2095,13 +1798,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Steve4), - .party = {.NoItemDefaultMoves = sParty_Steve4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Steve4), }, [TRAINER_STEVE_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_POKEMANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, @@ -2109,13 +1810,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Steve5), - .party = {.NoItemDefaultMoves = sParty_Steve5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Steve5), }, [TRAINER_LUIS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2123,13 +1822,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Luis), - .party = {.NoItemDefaultMoves = sParty_Luis}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Luis), }, [TRAINER_DOMINIK] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2137,13 +1834,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dominik), - .party = {.NoItemDefaultMoves = sParty_Dominik}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dominik), }, [TRAINER_DOUGLAS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2151,13 +1846,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Douglas), - .party = {.NoItemDefaultMoves = sParty_Douglas}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Douglas), }, [TRAINER_DARRIN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2165,13 +1858,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Darrin), - .party = {.NoItemDefaultMoves = sParty_Darrin}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Darrin), }, [TRAINER_TONY_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2179,13 +1870,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tony1), - .party = {.NoItemDefaultMoves = sParty_Tony1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tony1), }, [TRAINER_JEROME] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2193,13 +1882,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jerome), - .party = {.NoItemDefaultMoves = sParty_Jerome}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jerome), }, [TRAINER_MATTHEW] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2207,13 +1894,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Matthew), - .party = {.NoItemDefaultMoves = sParty_Matthew}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Matthew), }, [TRAINER_DAVID] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2221,13 +1906,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_David), - .party = {.NoItemDefaultMoves = sParty_David}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_David), }, [TRAINER_SPENCER] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2235,13 +1918,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Spencer), - .party = {.NoItemDefaultMoves = sParty_Spencer}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Spencer), }, [TRAINER_ROLAND] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2249,13 +1930,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Roland), - .party = {.NoItemDefaultMoves = sParty_Roland}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Roland), }, [TRAINER_NOLEN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2263,13 +1942,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nolen), - .party = {.NoItemDefaultMoves = sParty_Nolen}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nolen), }, [TRAINER_STAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2277,13 +1954,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Stan), - .party = {.NoItemDefaultMoves = sParty_Stan}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Stan), }, [TRAINER_BARRY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2291,13 +1966,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Barry), - .party = {.NoItemDefaultMoves = sParty_Barry}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Barry), }, [TRAINER_DEAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2305,13 +1978,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dean), - .party = {.NoItemDefaultMoves = sParty_Dean}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dean), }, [TRAINER_RODNEY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2319,13 +1990,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Rodney), - .party = {.NoItemDefaultMoves = sParty_Rodney}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Rodney), }, [TRAINER_RICHARD] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2333,13 +2002,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Richard), - .party = {.NoItemDefaultMoves = sParty_Richard}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Richard), }, [TRAINER_HERMAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2347,13 +2014,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Herman), - .party = {.NoItemDefaultMoves = sParty_Herman}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Herman), }, [TRAINER_SANTIAGO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2361,13 +2026,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Santiago), - .party = {.NoItemDefaultMoves = sParty_Santiago}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Santiago), }, [TRAINER_GILBERT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2375,13 +2038,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Gilbert), - .party = {.NoItemDefaultMoves = sParty_Gilbert}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Gilbert), }, [TRAINER_FRANKLIN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2389,13 +2050,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Franklin), - .party = {.NoItemDefaultMoves = sParty_Franklin}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Franklin), }, [TRAINER_KEVIN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2403,13 +2062,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kevin), - .party = {.NoItemDefaultMoves = sParty_Kevin}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Kevin), }, [TRAINER_JACK] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2417,13 +2074,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jack), - .party = {.NoItemDefaultMoves = sParty_Jack}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jack), }, [TRAINER_DUDLEY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2431,13 +2086,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dudley), - .party = {.NoItemDefaultMoves = sParty_Dudley}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dudley), }, [TRAINER_CHAD] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2445,13 +2098,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Chad), - .party = {.NoItemDefaultMoves = sParty_Chad}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Chad), }, [TRAINER_TONY_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2459,13 +2110,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tony2), - .party = {.NoItemDefaultMoves = sParty_Tony2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tony2), }, [TRAINER_TONY_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2473,13 +2122,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tony3), - .party = {.NoItemDefaultMoves = sParty_Tony3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tony3), }, [TRAINER_TONY_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2487,13 +2134,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tony4), - .party = {.NoItemDefaultMoves = sParty_Tony4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tony4), }, [TRAINER_TONY_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -2501,13 +2146,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tony5), - .party = {.NoItemDefaultMoves = sParty_Tony5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tony5), }, [TRAINER_TAKAO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -2515,13 +2158,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Takao), - .party = {.NoItemDefaultMoves = sParty_Takao}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Takao), }, [TRAINER_HITOSHI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -2529,13 +2170,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Hitoshi), - .party = {.NoItemDefaultMoves = sParty_Hitoshi}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Hitoshi), }, [TRAINER_KIYO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -2543,13 +2182,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kiyo), - .party = {.NoItemDefaultMoves = sParty_Kiyo}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Kiyo), }, [TRAINER_KOICHI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -2557,13 +2194,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Koichi), - .party = {.NoItemDefaultMoves = sParty_Koichi}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Koichi), }, [TRAINER_NOB_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -2571,13 +2206,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nob1), - .party = {.NoItemDefaultMoves = sParty_Nob1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nob1), }, [TRAINER_NOB_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -2585,13 +2218,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nob2), - .party = {.NoItemDefaultMoves = sParty_Nob2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nob2), }, [TRAINER_NOB_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -2599,13 +2230,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nob3), - .party = {.NoItemDefaultMoves = sParty_Nob3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nob3), }, [TRAINER_NOB_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -2613,13 +2242,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nob4), - .party = {.NoItemDefaultMoves = sParty_Nob4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nob4), }, [TRAINER_NOB_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -2627,13 +2254,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nob5), - .party = {.ItemDefaultMoves = sParty_Nob5}, + .party = ITEM_DEFAULT_MOVES(sParty_Nob5), }, [TRAINER_YUJI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -2641,13 +2266,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Yuji), - .party = {.NoItemDefaultMoves = sParty_Yuji}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Yuji), }, [TRAINER_DAISUKE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -2655,13 +2278,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Daisuke), - .party = {.NoItemDefaultMoves = sParty_Daisuke}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Daisuke), }, [TRAINER_ATSUSHI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -2669,13 +2290,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Atsushi), - .party = {.NoItemDefaultMoves = sParty_Atsushi}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Atsushi), }, [TRAINER_KIRK] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -2683,13 +2302,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kirk), - .party = {.NoItemCustomMoves = sParty_Kirk}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Kirk), }, [TRAINER_GRUNT_AQUA_HIDEOUT_7] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, @@ -2697,13 +2314,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntAquaHideout7), - .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout7}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout7), }, [TRAINER_GRUNT_AQUA_HIDEOUT_8] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -2711,13 +2326,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntAquaHideout8), - .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout8}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout8), }, [TRAINER_SHAWN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -2725,13 +2338,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Shawn), - .party = {.NoItemDefaultMoves = sParty_Shawn}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Shawn), }, [TRAINER_FERNANDO_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -2739,13 +2350,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Fernando1), - .party = {.NoItemDefaultMoves = sParty_Fernando1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Fernando1), }, [TRAINER_DALTON_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -2753,13 +2362,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dalton1), - .party = {.NoItemDefaultMoves = sParty_Dalton1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dalton1), }, [TRAINER_DALTON_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -2767,13 +2374,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dalton2), - .party = {.NoItemDefaultMoves = sParty_Dalton2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dalton2), }, [TRAINER_DALTON_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -2781,13 +2386,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dalton3), - .party = {.NoItemDefaultMoves = sParty_Dalton3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dalton3), }, [TRAINER_DALTON_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -2795,13 +2398,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dalton4), - .party = {.NoItemDefaultMoves = sParty_Dalton4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dalton4), }, [TRAINER_DALTON_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -2809,13 +2410,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dalton5), - .party = {.NoItemDefaultMoves = sParty_Dalton5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dalton5), }, [TRAINER_COLE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -2823,13 +2422,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cole), - .party = {.NoItemDefaultMoves = sParty_Cole}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cole), }, [TRAINER_JEFF] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -2837,13 +2434,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jeff), - .party = {.NoItemDefaultMoves = sParty_Jeff}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jeff), }, [TRAINER_AXLE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -2851,13 +2446,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Axle), - .party = {.NoItemDefaultMoves = sParty_Axle}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Axle), }, [TRAINER_JACE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -2865,13 +2458,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jace), - .party = {.NoItemDefaultMoves = sParty_Jace}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jace), }, [TRAINER_KEEGAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -2879,13 +2470,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Keegan), - .party = {.NoItemDefaultMoves = sParty_Keegan}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Keegan), }, [TRAINER_BERNIE_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -2893,13 +2482,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Bernie1), - .party = {.NoItemDefaultMoves = sParty_Bernie1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Bernie1), }, [TRAINER_BERNIE_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -2907,13 +2494,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Bernie2), - .party = {.NoItemDefaultMoves = sParty_Bernie2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Bernie2), }, [TRAINER_BERNIE_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -2921,13 +2506,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Bernie3), - .party = {.NoItemDefaultMoves = sParty_Bernie3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Bernie3), }, [TRAINER_BERNIE_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -2935,13 +2518,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Bernie4), - .party = {.NoItemDefaultMoves = sParty_Bernie4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Bernie4), }, [TRAINER_BERNIE_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -2949,13 +2530,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Bernie5), - .party = {.NoItemDefaultMoves = sParty_Bernie5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Bernie5), }, [TRAINER_DREW] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -2963,13 +2542,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Drew), - .party = {.NoItemCustomMoves = sParty_Drew}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Drew), }, [TRAINER_BEAU] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -2977,13 +2554,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Beau), - .party = {.NoItemCustomMoves = sParty_Beau}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Beau), }, [TRAINER_LARRY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -2991,13 +2566,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Larry), - .party = {.NoItemDefaultMoves = sParty_Larry}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Larry), }, [TRAINER_SHANE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -3005,13 +2578,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Shane), - .party = {.NoItemDefaultMoves = sParty_Shane}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Shane), }, [TRAINER_JUSTIN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -3019,13 +2590,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Justin), - .party = {.NoItemDefaultMoves = sParty_Justin}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Justin), }, [TRAINER_ETHAN_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -3033,13 +2602,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ethan1), - .party = {.NoItemDefaultMoves = sParty_Ethan1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ethan1), }, [TRAINER_AUTUMN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -3047,13 +2614,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Autumn), - .party = {.NoItemDefaultMoves = sParty_Autumn}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Autumn), }, [TRAINER_TRAVIS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -3061,13 +2626,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Travis), - .party = {.NoItemDefaultMoves = sParty_Travis}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Travis), }, [TRAINER_ETHAN_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -3075,13 +2638,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ethan2), - .party = {.NoItemDefaultMoves = sParty_Ethan2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ethan2), }, [TRAINER_ETHAN_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -3089,13 +2650,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ethan3), - .party = {.NoItemDefaultMoves = sParty_Ethan3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ethan3), }, [TRAINER_ETHAN_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -3103,13 +2662,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ethan4), - .party = {.NoItemDefaultMoves = sParty_Ethan4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ethan4), }, [TRAINER_ETHAN_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -3117,13 +2674,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ethan5), - .party = {.NoItemDefaultMoves = sParty_Ethan5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ethan5), }, [TRAINER_BRENT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, @@ -3131,13 +2686,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Brent), - .party = {.NoItemDefaultMoves = sParty_Brent}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Brent), }, [TRAINER_DONALD] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, @@ -3145,13 +2698,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Donald), - .party = {.NoItemDefaultMoves = sParty_Donald}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Donald), }, [TRAINER_TAYLOR] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, @@ -3159,13 +2710,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Taylor), - .party = {.NoItemDefaultMoves = sParty_Taylor}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Taylor), }, [TRAINER_JEFFREY_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, @@ -3173,13 +2722,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jeffrey1), - .party = {.NoItemDefaultMoves = sParty_Jeffrey1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jeffrey1), }, [TRAINER_DEREK] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, @@ -3187,13 +2734,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Derek), - .party = {.NoItemDefaultMoves = sParty_Derek}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Derek), }, [TRAINER_JEFFREY_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, @@ -3201,13 +2746,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jeffrey2), - .party = {.NoItemDefaultMoves = sParty_Jeffrey2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jeffrey2), }, [TRAINER_JEFFREY_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, @@ -3215,13 +2758,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jeffrey3), - .party = {.NoItemDefaultMoves = sParty_Jeffrey3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jeffrey3), }, [TRAINER_JEFFREY_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, @@ -3229,13 +2770,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jeffrey4), - .party = {.NoItemDefaultMoves = sParty_Jeffrey4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jeffrey4), }, [TRAINER_JEFFREY_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_BUG_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, @@ -3243,13 +2782,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jeffrey5), - .party = {.ItemDefaultMoves = sParty_Jeffrey5}, + .party = ITEM_DEFAULT_MOVES(sParty_Jeffrey5), }, [TRAINER_EDWARD] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -3257,13 +2794,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Edward), - .party = {.NoItemCustomMoves = sParty_Edward}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Edward), }, [TRAINER_PRESTON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -3271,13 +2806,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Preston), - .party = {.NoItemDefaultMoves = sParty_Preston}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Preston), }, [TRAINER_VIRGIL] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -3285,13 +2818,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Virgil), - .party = {.NoItemDefaultMoves = sParty_Virgil}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Virgil), }, [TRAINER_BLAKE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -3299,13 +2830,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Blake), - .party = {.NoItemDefaultMoves = sParty_Blake}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Blake), }, [TRAINER_WILLIAM] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -3313,13 +2842,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_William), - .party = {.NoItemDefaultMoves = sParty_William}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_William), }, [TRAINER_JOSHUA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -3327,13 +2854,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Joshua), - .party = {.NoItemDefaultMoves = sParty_Joshua}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Joshua), }, [TRAINER_CAMERON_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -3341,13 +2866,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cameron1), - .party = {.NoItemDefaultMoves = sParty_Cameron1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cameron1), }, [TRAINER_CAMERON_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -3355,13 +2878,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cameron2), - .party = {.NoItemDefaultMoves = sParty_Cameron2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cameron2), }, [TRAINER_CAMERON_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -3369,13 +2890,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cameron3), - .party = {.NoItemDefaultMoves = sParty_Cameron3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cameron3), }, [TRAINER_CAMERON_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -3383,13 +2902,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cameron4), - .party = {.NoItemDefaultMoves = sParty_Cameron4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cameron4), }, [TRAINER_CAMERON_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -3397,13 +2914,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cameron5), - .party = {.NoItemDefaultMoves = sParty_Cameron5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cameron5), }, [TRAINER_JACLYN] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -3411,13 +2926,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jaclyn), - .party = {.NoItemCustomMoves = sParty_Jaclyn}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Jaclyn), }, [TRAINER_HANNAH] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -3425,13 +2938,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Hannah), - .party = {.NoItemDefaultMoves = sParty_Hannah}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Hannah), }, [TRAINER_SAMANTHA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -3439,13 +2950,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Samantha), - .party = {.NoItemDefaultMoves = sParty_Samantha}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Samantha), }, [TRAINER_MAURA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -3453,13 +2962,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Maura), - .party = {.NoItemDefaultMoves = sParty_Maura}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Maura), }, [TRAINER_KAYLA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -3467,13 +2974,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kayla), - .party = {.NoItemDefaultMoves = sParty_Kayla}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Kayla), }, [TRAINER_ALEXIS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -3481,13 +2986,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Alexis), - .party = {.NoItemDefaultMoves = sParty_Alexis}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Alexis), }, [TRAINER_JACKI_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -3495,13 +2998,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jacki1), - .party = {.NoItemDefaultMoves = sParty_Jacki1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jacki1), }, [TRAINER_JACKI_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -3509,13 +3010,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jacki2), - .party = {.NoItemDefaultMoves = sParty_Jacki2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jacki2), }, [TRAINER_JACKI_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -3523,13 +3022,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jacki3), - .party = {.NoItemDefaultMoves = sParty_Jacki3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jacki3), }, [TRAINER_JACKI_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -3537,13 +3034,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jacki4), - .party = {.NoItemDefaultMoves = sParty_Jacki4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jacki4), }, [TRAINER_JACKI_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -3551,13 +3046,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jacki5), - .party = {.NoItemDefaultMoves = sParty_Jacki5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jacki5), }, [TRAINER_WALTER_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GENTLEMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, @@ -3565,13 +3058,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Walter1), - .party = {.NoItemDefaultMoves = sParty_Walter1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Walter1), }, [TRAINER_MICAH] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GENTLEMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, @@ -3579,13 +3070,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Micah), - .party = {.NoItemDefaultMoves = sParty_Micah}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Micah), }, [TRAINER_THOMAS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GENTLEMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, @@ -3593,13 +3082,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Thomas), - .party = {.NoItemDefaultMoves = sParty_Thomas}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Thomas), }, [TRAINER_WALTER_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GENTLEMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, @@ -3607,13 +3094,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Walter2), - .party = {.NoItemDefaultMoves = sParty_Walter2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Walter2), }, [TRAINER_WALTER_3] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_GENTLEMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, @@ -3621,13 +3106,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Walter3), - .party = {.NoItemCustomMoves = sParty_Walter3}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Walter3), }, [TRAINER_WALTER_4] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_GENTLEMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, @@ -3635,13 +3118,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Walter4), - .party = {.NoItemCustomMoves = sParty_Walter4}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Walter4), }, [TRAINER_WALTER_5] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_GENTLEMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, @@ -3649,13 +3130,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Walter5), - .party = {.NoItemCustomMoves = sParty_Walter5}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Walter5), }, [TRAINER_SIDNEY] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_ELITE_FOUR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, .trainerPic = TRAINER_PIC_ELITE_FOUR_SIDNEY, @@ -3663,13 +3142,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Sidney), - .party = {.ItemCustomMoves = sParty_Sidney}, + .party = ITEM_CUSTOM_MOVES(sParty_Sidney), }, [TRAINER_PHOEBE] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_ELITE_FOUR, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, .trainerPic = TRAINER_PIC_ELITE_FOUR_PHOEBE, @@ -3677,13 +3154,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Phoebe), - .party = {.ItemCustomMoves = sParty_Phoebe}, + .party = ITEM_CUSTOM_MOVES(sParty_Phoebe), }, [TRAINER_GLACIA] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_ELITE_FOUR, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, .trainerPic = TRAINER_PIC_ELITE_FOUR_GLACIA, @@ -3691,13 +3166,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Glacia), - .party = {.ItemCustomMoves = sParty_Glacia}, + .party = ITEM_CUSTOM_MOVES(sParty_Glacia), }, [TRAINER_DRAKE] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_ELITE_FOUR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, .trainerPic = TRAINER_PIC_ELITE_FOUR_DRAKE, @@ -3705,13 +3178,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Drake), - .party = {.ItemCustomMoves = sParty_Drake}, + .party = ITEM_CUSTOM_MOVES(sParty_Drake), }, [TRAINER_ROXANNE_1] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_ROXANNE, @@ -3719,13 +3190,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_POTION, ITEM_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Roxanne1), - .party = {.ItemCustomMoves = sParty_Roxanne1}, + .party = ITEM_CUSTOM_MOVES(sParty_Roxanne1), }, [TRAINER_BRAWLY_1] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_BRAWLY, @@ -3733,13 +3202,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brawly1), - .party = {.ItemCustomMoves = sParty_Brawly1}, + .party = ITEM_CUSTOM_MOVES(sParty_Brawly1), }, [TRAINER_WATTSON_1] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_WATTSON, @@ -3747,13 +3214,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wattson1), - .party = {.ItemCustomMoves = sParty_Wattson1}, + .party = ITEM_CUSTOM_MOVES(sParty_Wattson1), }, [TRAINER_FLANNERY_1] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_FLANNERY, @@ -3761,13 +3226,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Flannery1), - .party = {.ItemCustomMoves = sParty_Flannery1}, + .party = ITEM_CUSTOM_MOVES(sParty_Flannery1), }, [TRAINER_NORMAN_1] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_NORMAN, @@ -3775,13 +3238,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Norman1), - .party = {.ItemCustomMoves = sParty_Norman1}, + .party = ITEM_CUSTOM_MOVES(sParty_Norman1), }, [TRAINER_WINONA_1] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_WINONA, @@ -3789,13 +3250,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, - .partySize = ARRAY_COUNT(sParty_Winona1), - .party = {.ItemCustomMoves = sParty_Winona1}, + .party = ITEM_CUSTOM_MOVES(sParty_Winona1), }, [TRAINER_TATE_AND_LIZA_1] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_TATE_AND_LIZA, @@ -3803,13 +3262,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_TateAndLiza1), - .party = {.ItemCustomMoves = sParty_TateAndLiza1}, + .party = ITEM_CUSTOM_MOVES(sParty_TateAndLiza1), }, [TRAINER_JUAN_1] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_JUAN, @@ -3817,13 +3274,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Juan1), - .party = {.ItemCustomMoves = sParty_Juan1}, + .party = ITEM_CUSTOM_MOVES(sParty_Juan1), }, [TRAINER_JERRY_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, @@ -3831,13 +3286,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jerry1), - .party = {.NoItemDefaultMoves = sParty_Jerry1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jerry1), }, [TRAINER_TED] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, @@ -3845,13 +3298,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ted), - .party = {.NoItemDefaultMoves = sParty_Ted}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ted), }, [TRAINER_PAUL] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, @@ -3859,13 +3310,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Paul), - .party = {.NoItemDefaultMoves = sParty_Paul}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Paul), }, [TRAINER_JERRY_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, @@ -3873,13 +3322,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jerry2), - .party = {.NoItemDefaultMoves = sParty_Jerry2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jerry2), }, [TRAINER_JERRY_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, @@ -3887,13 +3334,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jerry3), - .party = {.NoItemDefaultMoves = sParty_Jerry3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jerry3), }, [TRAINER_JERRY_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, @@ -3901,13 +3346,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jerry4), - .party = {.NoItemDefaultMoves = sParty_Jerry4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jerry4), }, [TRAINER_JERRY_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, @@ -3915,13 +3358,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jerry5), - .party = {.NoItemDefaultMoves = sParty_Jerry5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jerry5), }, [TRAINER_KAREN_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_SCHOOL_KID_F, @@ -3929,13 +3370,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Karen1), - .party = {.NoItemDefaultMoves = sParty_Karen1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Karen1), }, [TRAINER_GEORGIA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_SCHOOL_KID_F, @@ -3943,13 +3382,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Georgia), - .party = {.NoItemDefaultMoves = sParty_Georgia}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Georgia), }, [TRAINER_KAREN_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_SCHOOL_KID_F, @@ -3957,13 +3394,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Karen2), - .party = {.NoItemDefaultMoves = sParty_Karen2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Karen2), }, [TRAINER_KAREN_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_SCHOOL_KID_F, @@ -3971,13 +3406,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Karen3), - .party = {.NoItemDefaultMoves = sParty_Karen3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Karen3), }, [TRAINER_KAREN_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_SCHOOL_KID_F, @@ -3985,13 +3418,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Karen4), - .party = {.NoItemDefaultMoves = sParty_Karen4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Karen4), }, [TRAINER_KAREN_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SCHOOL_KID, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_SCHOOL_KID_F, @@ -3999,13 +3430,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Karen5), - .party = {.NoItemDefaultMoves = sParty_Karen5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Karen5), }, [TRAINER_KATE_AND_JOY] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_SR_AND_JR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, @@ -4013,13 +3442,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_KateAndJoy), - .party = {.NoItemCustomMoves = sParty_KateAndJoy}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_KateAndJoy), }, [TRAINER_ANNA_AND_MEG_1] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_SR_AND_JR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, @@ -4027,13 +3454,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_AnnaAndMeg1), - .party = {.NoItemCustomMoves = sParty_AnnaAndMeg1}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_AnnaAndMeg1), }, [TRAINER_ANNA_AND_MEG_2] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_SR_AND_JR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, @@ -4041,13 +3466,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_AnnaAndMeg2), - .party = {.NoItemCustomMoves = sParty_AnnaAndMeg2}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_AnnaAndMeg2), }, [TRAINER_ANNA_AND_MEG_3] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_SR_AND_JR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, @@ -4055,13 +3478,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_AnnaAndMeg3), - .party = {.NoItemCustomMoves = sParty_AnnaAndMeg3}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_AnnaAndMeg3), }, [TRAINER_ANNA_AND_MEG_4] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_SR_AND_JR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, @@ -4069,13 +3490,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_AnnaAndMeg4), - .party = {.NoItemCustomMoves = sParty_AnnaAndMeg4}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_AnnaAndMeg4), }, [TRAINER_ANNA_AND_MEG_5] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_SR_AND_JR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, @@ -4083,13 +3502,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_AnnaAndMeg5), - .party = {.NoItemCustomMoves = sParty_AnnaAndMeg5}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_AnnaAndMeg5), }, [TRAINER_VICTOR] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_WINSTRATE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_M, @@ -4097,13 +3514,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Victor), - .party = {.ItemDefaultMoves = sParty_Victor}, + .party = ITEM_DEFAULT_MOVES(sParty_Victor), }, [TRAINER_MIGUEL_1] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_M, @@ -4111,13 +3526,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Miguel1), - .party = {.ItemDefaultMoves = sParty_Miguel1}, + .party = ITEM_DEFAULT_MOVES(sParty_Miguel1), }, [TRAINER_COLTON] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_M, @@ -4125,13 +3538,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Colton), - .party = {.ItemCustomMoves = sParty_Colton}, + .party = ITEM_CUSTOM_MOVES(sParty_Colton), }, [TRAINER_MIGUEL_2] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_M, @@ -4139,13 +3550,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Miguel2), - .party = {.ItemDefaultMoves = sParty_Miguel2}, + .party = ITEM_DEFAULT_MOVES(sParty_Miguel2), }, [TRAINER_MIGUEL_3] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_M, @@ -4153,13 +3562,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Miguel3), - .party = {.ItemDefaultMoves = sParty_Miguel3}, + .party = ITEM_DEFAULT_MOVES(sParty_Miguel3), }, [TRAINER_MIGUEL_4] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_M, @@ -4167,13 +3574,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Miguel4), - .party = {.ItemDefaultMoves = sParty_Miguel4}, + .party = ITEM_DEFAULT_MOVES(sParty_Miguel4), }, [TRAINER_MIGUEL_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_M, @@ -4181,13 +3586,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Miguel5), - .party = {.ItemDefaultMoves = sParty_Miguel5}, + .party = ITEM_DEFAULT_MOVES(sParty_Miguel5), }, [TRAINER_VICTORIA] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_WINSTRATE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_F, @@ -4195,13 +3598,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, - .partySize = ARRAY_COUNT(sParty_Victoria), - .party = {.ItemDefaultMoves = sParty_Victoria}, + .party = ITEM_DEFAULT_MOVES(sParty_Victoria), }, [TRAINER_VANESSA] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_F, @@ -4209,13 +3610,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Vanessa), - .party = {.ItemDefaultMoves = sParty_Vanessa}, + .party = ITEM_DEFAULT_MOVES(sParty_Vanessa), }, [TRAINER_BETHANY] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_F, @@ -4223,13 +3622,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Bethany), - .party = {.ItemDefaultMoves = sParty_Bethany}, + .party = ITEM_DEFAULT_MOVES(sParty_Bethany), }, [TRAINER_ISABEL_1] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_F, @@ -4237,13 +3634,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isabel1), - .party = {.ItemDefaultMoves = sParty_Isabel1}, + .party = ITEM_DEFAULT_MOVES(sParty_Isabel1), }, [TRAINER_ISABEL_2] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_F, @@ -4251,13 +3646,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isabel2), - .party = {.ItemDefaultMoves = sParty_Isabel2}, + .party = ITEM_DEFAULT_MOVES(sParty_Isabel2), }, [TRAINER_ISABEL_3] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_F, @@ -4265,13 +3658,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isabel3), - .party = {.ItemDefaultMoves = sParty_Isabel3}, + .party = ITEM_DEFAULT_MOVES(sParty_Isabel3), }, [TRAINER_ISABEL_4] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_F, @@ -4279,13 +3670,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isabel4), - .party = {.ItemDefaultMoves = sParty_Isabel4}, + .party = ITEM_DEFAULT_MOVES(sParty_Isabel4), }, [TRAINER_ISABEL_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_F, @@ -4293,13 +3682,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isabel5), - .party = {.ItemDefaultMoves = sParty_Isabel5}, + .party = ITEM_DEFAULT_MOVES(sParty_Isabel5), }, [TRAINER_TIMOTHY_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, @@ -4307,13 +3694,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Timothy1), - .party = {.NoItemDefaultMoves = sParty_Timothy1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Timothy1), }, [TRAINER_TIMOTHY_2] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, @@ -4321,13 +3706,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Timothy2), - .party = {.NoItemCustomMoves = sParty_Timothy2}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Timothy2), }, [TRAINER_TIMOTHY_3] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, @@ -4335,13 +3718,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Timothy3), - .party = {.NoItemCustomMoves = sParty_Timothy3}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Timothy3), }, [TRAINER_TIMOTHY_4] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, @@ -4349,13 +3730,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Timothy4), - .party = {.NoItemCustomMoves = sParty_Timothy4}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Timothy4), }, [TRAINER_TIMOTHY_5] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, @@ -4363,13 +3742,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Timothy5), - .party = {.NoItemCustomMoves = sParty_Timothy5}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Timothy5), }, [TRAINER_VICKY] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_WINSTRATE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, @@ -4377,13 +3754,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Vicky), - .party = {.NoItemCustomMoves = sParty_Vicky}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Vicky), }, [TRAINER_SHELBY_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, @@ -4391,13 +3766,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Shelby1), - .party = {.NoItemDefaultMoves = sParty_Shelby1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Shelby1), }, [TRAINER_SHELBY_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, @@ -4405,13 +3778,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Shelby2), - .party = {.NoItemDefaultMoves = sParty_Shelby2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Shelby2), }, [TRAINER_SHELBY_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, @@ -4419,13 +3790,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Shelby3), - .party = {.NoItemDefaultMoves = sParty_Shelby3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Shelby3), }, [TRAINER_SHELBY_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, @@ -4433,13 +3802,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Shelby4), - .party = {.NoItemDefaultMoves = sParty_Shelby4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Shelby4), }, [TRAINER_SHELBY_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, @@ -4447,13 +3814,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Shelby5), - .party = {.NoItemDefaultMoves = sParty_Shelby5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Shelby5), }, [TRAINER_CALVIN_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4461,13 +3826,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Calvin1), - .party = {.NoItemDefaultMoves = sParty_Calvin1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Calvin1), }, [TRAINER_BILLY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4475,13 +3838,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Billy), - .party = {.NoItemDefaultMoves = sParty_Billy}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Billy), }, [TRAINER_JOSH] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4489,13 +3850,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Josh), - .party = {.NoItemCustomMoves = sParty_Josh}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Josh), }, [TRAINER_TOMMY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4503,13 +3862,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tommy), - .party = {.NoItemDefaultMoves = sParty_Tommy}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tommy), }, [TRAINER_JOEY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4517,13 +3874,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Joey), - .party = {.NoItemDefaultMoves = sParty_Joey}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Joey), }, [TRAINER_BEN] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4531,13 +3886,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ben), - .party = {.NoItemCustomMoves = sParty_Ben}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Ben), }, [TRAINER_QUINCY] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -4545,13 +3898,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Quincy), - .party = {.NoItemCustomMoves = sParty_Quincy}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Quincy), }, [TRAINER_KATELYNN] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -4559,13 +3910,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Katelynn), - .party = {.NoItemCustomMoves = sParty_Katelynn}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Katelynn), }, [TRAINER_JAYLEN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4573,13 +3922,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jaylen), - .party = {.NoItemDefaultMoves = sParty_Jaylen}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jaylen), }, [TRAINER_DILLON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4587,13 +3934,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dillon), - .party = {.NoItemDefaultMoves = sParty_Dillon}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dillon), }, [TRAINER_CALVIN_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4601,13 +3946,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Calvin2), - .party = {.NoItemDefaultMoves = sParty_Calvin2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Calvin2), }, [TRAINER_CALVIN_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4615,13 +3958,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Calvin3), - .party = {.NoItemDefaultMoves = sParty_Calvin3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Calvin3), }, [TRAINER_CALVIN_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4629,13 +3970,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Calvin4), - .party = {.NoItemDefaultMoves = sParty_Calvin4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Calvin4), }, [TRAINER_CALVIN_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4643,13 +3982,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Calvin5), - .party = {.NoItemDefaultMoves = sParty_Calvin5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Calvin5), }, [TRAINER_EDDIE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4657,13 +3994,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Eddie), - .party = {.NoItemDefaultMoves = sParty_Eddie}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Eddie), }, [TRAINER_ALLEN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4671,13 +4006,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Allen), - .party = {.NoItemDefaultMoves = sParty_Allen}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Allen), }, [TRAINER_TIMMY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -4685,13 +4018,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Timmy), - .party = {.NoItemDefaultMoves = sParty_Timmy}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Timmy), }, [TRAINER_WALLACE] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_CHAMPION, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CHAMPION_WALLACE, @@ -4699,13 +4030,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wallace), - .party = {.ItemCustomMoves = sParty_Wallace}, + .party = ITEM_CUSTOM_MOVES(sParty_Wallace), }, [TRAINER_ANDREW] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4713,13 +4042,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Andrew), - .party = {.NoItemDefaultMoves = sParty_Andrew}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Andrew), }, [TRAINER_IVAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4727,13 +4054,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ivan), - .party = {.NoItemDefaultMoves = sParty_Ivan}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ivan), }, [TRAINER_CLAUDE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4741,13 +4066,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Claude), - .party = {.NoItemDefaultMoves = sParty_Claude}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Claude), }, [TRAINER_ELLIOT_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4755,13 +4078,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Elliot1), - .party = {.NoItemDefaultMoves = sParty_Elliot1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Elliot1), }, [TRAINER_NED] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4769,13 +4090,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ned), - .party = {.NoItemDefaultMoves = sParty_Ned}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ned), }, [TRAINER_DALE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4783,13 +4102,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dale), - .party = {.NoItemDefaultMoves = sParty_Dale}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dale), }, [TRAINER_NOLAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4797,13 +4114,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nolan), - .party = {.NoItemDefaultMoves = sParty_Nolan}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nolan), }, [TRAINER_BARNY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4811,13 +4126,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Barny), - .party = {.NoItemDefaultMoves = sParty_Barny}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Barny), }, [TRAINER_WADE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4825,13 +4138,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Wade), - .party = {.NoItemDefaultMoves = sParty_Wade}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Wade), }, [TRAINER_CARTER] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4839,13 +4150,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Carter), - .party = {.NoItemDefaultMoves = sParty_Carter}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Carter), }, [TRAINER_ELLIOT_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4853,13 +4162,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Elliot2), - .party = {.NoItemDefaultMoves = sParty_Elliot2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Elliot2), }, [TRAINER_ELLIOT_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4867,13 +4174,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Elliot3), - .party = {.NoItemDefaultMoves = sParty_Elliot3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Elliot3), }, [TRAINER_ELLIOT_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4881,13 +4186,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Elliot4), - .party = {.NoItemDefaultMoves = sParty_Elliot4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Elliot4), }, [TRAINER_ELLIOT_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4895,13 +4198,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, - .partySize = ARRAY_COUNT(sParty_Elliot5), - .party = {.NoItemDefaultMoves = sParty_Elliot5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Elliot5), }, [TRAINER_RONALD] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -4909,13 +4210,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ronald), - .party = {.NoItemDefaultMoves = sParty_Ronald}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ronald), }, [TRAINER_JACOB] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, @@ -4923,13 +4222,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jacob), - .party = {.NoItemDefaultMoves = sParty_Jacob}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jacob), }, [TRAINER_ANTHONY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, @@ -4937,13 +4234,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Anthony), - .party = {.NoItemDefaultMoves = sParty_Anthony}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Anthony), }, [TRAINER_BENJAMIN_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, @@ -4951,13 +4246,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Benjamin1), - .party = {.NoItemDefaultMoves = sParty_Benjamin1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Benjamin1), }, [TRAINER_BENJAMIN_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, @@ -4965,13 +4258,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Benjamin2), - .party = {.NoItemDefaultMoves = sParty_Benjamin2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Benjamin2), }, [TRAINER_BENJAMIN_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, @@ -4979,13 +4270,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Benjamin3), - .party = {.NoItemDefaultMoves = sParty_Benjamin3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Benjamin3), }, [TRAINER_BENJAMIN_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, @@ -4993,13 +4282,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Benjamin4), - .party = {.NoItemDefaultMoves = sParty_Benjamin4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Benjamin4), }, [TRAINER_BENJAMIN_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, @@ -5007,13 +4294,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Benjamin5), - .party = {.NoItemDefaultMoves = sParty_Benjamin5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Benjamin5), }, [TRAINER_ABIGAIL_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, @@ -5021,13 +4306,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Abigail1), - .party = {.NoItemDefaultMoves = sParty_Abigail1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Abigail1), }, [TRAINER_JASMINE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, @@ -5035,13 +4318,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jasmine), - .party = {.NoItemDefaultMoves = sParty_Jasmine}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jasmine), }, [TRAINER_ABIGAIL_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, @@ -5049,13 +4330,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Abigail2), - .party = {.NoItemDefaultMoves = sParty_Abigail2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Abigail2), }, [TRAINER_ABIGAIL_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, @@ -5063,13 +4342,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Abigail3), - .party = {.NoItemDefaultMoves = sParty_Abigail3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Abigail3), }, [TRAINER_ABIGAIL_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, @@ -5077,13 +4354,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Abigail4), - .party = {.NoItemDefaultMoves = sParty_Abigail4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Abigail4), }, [TRAINER_ABIGAIL_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, @@ -5091,13 +4366,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Abigail5), - .party = {.NoItemDefaultMoves = sParty_Abigail5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Abigail5), }, [TRAINER_DYLAN_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, @@ -5105,13 +4378,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dylan1), - .party = {.NoItemDefaultMoves = sParty_Dylan1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dylan1), }, [TRAINER_DYLAN_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, @@ -5119,13 +4390,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dylan2), - .party = {.NoItemDefaultMoves = sParty_Dylan2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dylan2), }, [TRAINER_DYLAN_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, @@ -5133,13 +4402,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dylan3), - .party = {.NoItemDefaultMoves = sParty_Dylan3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dylan3), }, [TRAINER_DYLAN_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, @@ -5147,13 +4414,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dylan4), - .party = {.NoItemDefaultMoves = sParty_Dylan4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dylan4), }, [TRAINER_DYLAN_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, @@ -5161,13 +4426,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dylan5), - .party = {.NoItemDefaultMoves = sParty_Dylan5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dylan5), }, [TRAINER_MARIA_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, @@ -5175,13 +4438,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Maria1), - .party = {.NoItemDefaultMoves = sParty_Maria1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Maria1), }, [TRAINER_MARIA_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, @@ -5189,13 +4450,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Maria2), - .party = {.NoItemDefaultMoves = sParty_Maria2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Maria2), }, [TRAINER_MARIA_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, @@ -5203,13 +4462,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Maria3), - .party = {.NoItemDefaultMoves = sParty_Maria3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Maria3), }, [TRAINER_MARIA_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, @@ -5217,13 +4474,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Maria4), - .party = {.NoItemDefaultMoves = sParty_Maria4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Maria4), }, [TRAINER_MARIA_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, @@ -5231,13 +4486,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Maria5), - .party = {.NoItemDefaultMoves = sParty_Maria5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Maria5), }, [TRAINER_CAMDEN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -5245,13 +4498,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Camden), - .party = {.NoItemDefaultMoves = sParty_Camden}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Camden), }, [TRAINER_DEMETRIUS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -5259,13 +4510,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Demetrius), - .party = {.NoItemDefaultMoves = sParty_Demetrius}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Demetrius), }, [TRAINER_ISAIAH_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -5273,13 +4522,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isaiah1), - .party = {.NoItemDefaultMoves = sParty_Isaiah1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaiah1), }, [TRAINER_PABLO_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -5287,13 +4534,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Pablo1), - .party = {.NoItemDefaultMoves = sParty_Pablo1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Pablo1), }, [TRAINER_CHASE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -5301,13 +4546,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Chase), - .party = {.NoItemDefaultMoves = sParty_Chase}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Chase), }, [TRAINER_ISAIAH_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -5315,13 +4558,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isaiah2), - .party = {.NoItemDefaultMoves = sParty_Isaiah2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaiah2), }, [TRAINER_ISAIAH_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -5329,13 +4570,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isaiah3), - .party = {.NoItemDefaultMoves = sParty_Isaiah3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaiah3), }, [TRAINER_ISAIAH_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -5343,13 +4582,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isaiah4), - .party = {.NoItemDefaultMoves = sParty_Isaiah4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaiah4), }, [TRAINER_ISAIAH_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -5357,13 +4594,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isaiah5), - .party = {.NoItemDefaultMoves = sParty_Isaiah5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaiah5), }, [TRAINER_ISOBEL] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, @@ -5371,13 +4606,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isobel), - .party = {.NoItemDefaultMoves = sParty_Isobel}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isobel), }, [TRAINER_DONNY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, @@ -5385,13 +4618,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Donny), - .party = {.NoItemDefaultMoves = sParty_Donny}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Donny), }, [TRAINER_TALIA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, @@ -5399,13 +4630,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Talia), - .party = {.NoItemDefaultMoves = sParty_Talia}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Talia), }, [TRAINER_KATELYN_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, @@ -5413,13 +4642,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Katelyn1), - .party = {.NoItemDefaultMoves = sParty_Katelyn1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Katelyn1), }, [TRAINER_ALLISON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, @@ -5427,13 +4654,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Allison), - .party = {.NoItemDefaultMoves = sParty_Allison}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Allison), }, [TRAINER_KATELYN_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, @@ -5441,13 +4666,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Katelyn2), - .party = {.NoItemDefaultMoves = sParty_Katelyn2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Katelyn2), }, [TRAINER_KATELYN_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, @@ -5455,13 +4678,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Katelyn3), - .party = {.NoItemDefaultMoves = sParty_Katelyn3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Katelyn3), }, [TRAINER_KATELYN_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, @@ -5469,13 +4690,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Katelyn4), - .party = {.NoItemDefaultMoves = sParty_Katelyn4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Katelyn4), }, [TRAINER_KATELYN_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, @@ -5483,13 +4702,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Katelyn5), - .party = {.NoItemDefaultMoves = sParty_Katelyn5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Katelyn5), }, [TRAINER_NICOLAS_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_DRAGON_TAMER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_DRAGON_TAMER, @@ -5497,13 +4714,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nicolas1), - .party = {.NoItemDefaultMoves = sParty_Nicolas1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nicolas1), }, [TRAINER_NICOLAS_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_DRAGON_TAMER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_DRAGON_TAMER, @@ -5511,13 +4726,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nicolas2), - .party = {.NoItemDefaultMoves = sParty_Nicolas2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nicolas2), }, [TRAINER_NICOLAS_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_DRAGON_TAMER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_DRAGON_TAMER, @@ -5525,13 +4738,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nicolas3), - .party = {.NoItemDefaultMoves = sParty_Nicolas3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nicolas3), }, [TRAINER_NICOLAS_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_DRAGON_TAMER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_DRAGON_TAMER, @@ -5539,13 +4750,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nicolas4), - .party = {.NoItemDefaultMoves = sParty_Nicolas4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nicolas4), }, [TRAINER_NICOLAS_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_DRAGON_TAMER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_DRAGON_TAMER, @@ -5553,13 +4762,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nicolas5), - .party = {.ItemDefaultMoves = sParty_Nicolas5}, + .party = ITEM_DEFAULT_MOVES(sParty_Nicolas5), }, [TRAINER_AARON] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_DRAGON_TAMER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_DRAGON_TAMER, @@ -5567,13 +4774,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Aaron), - .party = {.NoItemCustomMoves = sParty_Aaron}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Aaron), }, [TRAINER_PERRY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5581,13 +4786,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Perry), - .party = {.NoItemDefaultMoves = sParty_Perry}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Perry), }, [TRAINER_HUGH] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5595,13 +4798,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Hugh), - .party = {.NoItemDefaultMoves = sParty_Hugh}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Hugh), }, [TRAINER_PHIL] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5609,13 +4810,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Phil), - .party = {.NoItemDefaultMoves = sParty_Phil}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Phil), }, [TRAINER_JARED] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5623,13 +4822,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jared), - .party = {.NoItemDefaultMoves = sParty_Jared}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jared), }, [TRAINER_HUMBERTO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5637,13 +4834,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Humberto), - .party = {.NoItemDefaultMoves = sParty_Humberto}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Humberto), }, [TRAINER_PRESLEY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5651,13 +4846,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Presley), - .party = {.NoItemDefaultMoves = sParty_Presley}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Presley), }, [TRAINER_EDWARDO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5665,13 +4858,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Edwardo), - .party = {.NoItemDefaultMoves = sParty_Edwardo}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Edwardo), }, [TRAINER_COLIN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5679,13 +4870,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Colin), - .party = {.NoItemDefaultMoves = sParty_Colin}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Colin), }, [TRAINER_ROBERT_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5693,13 +4882,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Robert1), - .party = {.NoItemDefaultMoves = sParty_Robert1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Robert1), }, [TRAINER_BENNY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5707,13 +4894,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Benny), - .party = {.NoItemDefaultMoves = sParty_Benny}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Benny), }, [TRAINER_CHESTER] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5721,13 +4906,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Chester), - .party = {.NoItemDefaultMoves = sParty_Chester}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Chester), }, [TRAINER_ROBERT_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5735,13 +4918,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Robert2), - .party = {.NoItemDefaultMoves = sParty_Robert2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Robert2), }, [TRAINER_ROBERT_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5749,13 +4930,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Robert3), - .party = {.NoItemDefaultMoves = sParty_Robert3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Robert3), }, [TRAINER_ROBERT_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5763,13 +4942,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Robert4), - .party = {.NoItemDefaultMoves = sParty_Robert4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Robert4), }, [TRAINER_ROBERT_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5777,13 +4954,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Robert5), - .party = {.NoItemDefaultMoves = sParty_Robert5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Robert5), }, [TRAINER_ALEX] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5791,13 +4966,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Alex), - .party = {.NoItemDefaultMoves = sParty_Alex}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Alex), }, [TRAINER_BECK] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -5805,13 +4978,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Beck), - .party = {.NoItemDefaultMoves = sParty_Beck}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Beck), }, [TRAINER_YASU] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -5819,13 +4990,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, - .partySize = ARRAY_COUNT(sParty_Yasu), - .party = {.NoItemDefaultMoves = sParty_Yasu}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Yasu), }, [TRAINER_TAKASHI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -5833,13 +5002,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, - .partySize = ARRAY_COUNT(sParty_Takashi), - .party = {.NoItemDefaultMoves = sParty_Takashi}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Takashi), }, [TRAINER_DIANNE] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -5847,13 +5014,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Dianne), - .party = {.ItemCustomMoves = sParty_Dianne}, + .party = ITEM_CUSTOM_MOVES(sParty_Dianne), }, [TRAINER_JANI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TUBER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, @@ -5861,13 +5026,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Jani), - .party = {.NoItemDefaultMoves = sParty_Jani}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jani), }, [TRAINER_LAO_1] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -5875,13 +5038,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Lao1), - .party = {.NoItemCustomMoves = sParty_Lao1}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Lao1), }, [TRAINER_LUNG] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -5889,13 +5050,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Lung), - .party = {.NoItemDefaultMoves = sParty_Lung}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lung), }, [TRAINER_LAO_2] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -5903,13 +5062,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Lao2), - .party = {.NoItemCustomMoves = sParty_Lao2}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Lao2), }, [TRAINER_LAO_3] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -5917,13 +5074,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Lao3), - .party = {.NoItemCustomMoves = sParty_Lao3}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Lao3), }, [TRAINER_LAO_4] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -5931,13 +5086,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Lao4), - .party = {.NoItemCustomMoves = sParty_Lao4}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Lao4), }, [TRAINER_LAO_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -5945,13 +5098,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Lao5), - .party = {.ItemCustomMoves = sParty_Lao5}, + .party = ITEM_CUSTOM_MOVES(sParty_Lao5), }, [TRAINER_JOCELYN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -5959,13 +5110,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jocelyn), - .party = {.NoItemDefaultMoves = sParty_Jocelyn}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jocelyn), }, [TRAINER_LAURA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -5973,13 +5122,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Laura), - .party = {.NoItemDefaultMoves = sParty_Laura}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Laura), }, [TRAINER_CYNDY_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -5987,13 +5134,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cyndy1), - .party = {.NoItemDefaultMoves = sParty_Cyndy1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cyndy1), }, [TRAINER_CORA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -6001,13 +5146,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cora), - .party = {.NoItemDefaultMoves = sParty_Cora}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cora), }, [TRAINER_PAULA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -6015,13 +5158,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Paula), - .party = {.NoItemDefaultMoves = sParty_Paula}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Paula), }, [TRAINER_CYNDY_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -6029,13 +5170,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cyndy2), - .party = {.NoItemDefaultMoves = sParty_Cyndy2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cyndy2), }, [TRAINER_CYNDY_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -6043,13 +5182,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cyndy3), - .party = {.NoItemDefaultMoves = sParty_Cyndy3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cyndy3), }, [TRAINER_CYNDY_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -6057,13 +5194,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cyndy4), - .party = {.NoItemDefaultMoves = sParty_Cyndy4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cyndy4), }, [TRAINER_CYNDY_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -6071,13 +5206,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cyndy5), - .party = {.NoItemDefaultMoves = sParty_Cyndy5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cyndy5), }, [TRAINER_MADELINE_1] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PARASOL_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, @@ -6085,13 +5218,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Madeline1), - .party = {.NoItemCustomMoves = sParty_Madeline1}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Madeline1), }, [TRAINER_CLARISSA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PARASOL_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, @@ -6099,13 +5230,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Clarissa), - .party = {.NoItemDefaultMoves = sParty_Clarissa}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Clarissa), }, [TRAINER_ANGELICA] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PARASOL_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, @@ -6113,13 +5242,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Angelica), - .party = {.NoItemCustomMoves = sParty_Angelica}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Angelica), }, [TRAINER_MADELINE_2] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PARASOL_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, @@ -6127,13 +5254,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Madeline2), - .party = {.NoItemCustomMoves = sParty_Madeline2}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Madeline2), }, [TRAINER_MADELINE_3] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PARASOL_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, @@ -6141,13 +5266,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Madeline3), - .party = {.NoItemCustomMoves = sParty_Madeline3}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Madeline3), }, [TRAINER_MADELINE_4] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PARASOL_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, @@ -6155,13 +5278,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Madeline4), - .party = {.NoItemCustomMoves = sParty_Madeline4}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Madeline4), }, [TRAINER_MADELINE_5] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PARASOL_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, @@ -6169,13 +5290,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Madeline5), - .party = {.NoItemCustomMoves = sParty_Madeline5}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Madeline5), }, [TRAINER_BEVERLY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6183,13 +5302,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Beverly), - .party = {.NoItemDefaultMoves = sParty_Beverly}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Beverly), }, [TRAINER_IMANI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6197,13 +5314,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Imani), - .party = {.NoItemDefaultMoves = sParty_Imani}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Imani), }, [TRAINER_KYLA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6211,13 +5326,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kyla), - .party = {.NoItemDefaultMoves = sParty_Kyla}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Kyla), }, [TRAINER_DENISE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6225,13 +5338,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Denise), - .party = {.NoItemDefaultMoves = sParty_Denise}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Denise), }, [TRAINER_BETH] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6239,13 +5350,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Beth), - .party = {.NoItemDefaultMoves = sParty_Beth}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Beth), }, [TRAINER_TARA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6253,13 +5362,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tara), - .party = {.NoItemDefaultMoves = sParty_Tara}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tara), }, [TRAINER_MISSY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6267,13 +5374,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Missy), - .party = {.NoItemDefaultMoves = sParty_Missy}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Missy), }, [TRAINER_ALICE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6281,13 +5386,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Alice), - .party = {.NoItemDefaultMoves = sParty_Alice}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Alice), }, [TRAINER_JENNY_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6295,13 +5398,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jenny1), - .party = {.NoItemDefaultMoves = sParty_Jenny1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jenny1), }, [TRAINER_GRACE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6309,13 +5410,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grace), - .party = {.NoItemDefaultMoves = sParty_Grace}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Grace), }, [TRAINER_TANYA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6323,13 +5422,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tanya), - .party = {.NoItemDefaultMoves = sParty_Tanya}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tanya), }, [TRAINER_SHARON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6337,13 +5434,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Sharon), - .party = {.NoItemDefaultMoves = sParty_Sharon}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sharon), }, [TRAINER_NIKKI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6351,13 +5446,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nikki), - .party = {.NoItemDefaultMoves = sParty_Nikki}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nikki), }, [TRAINER_BRENDA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6365,13 +5458,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Brenda), - .party = {.NoItemDefaultMoves = sParty_Brenda}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Brenda), }, [TRAINER_KATIE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6379,13 +5470,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Katie), - .party = {.NoItemDefaultMoves = sParty_Katie}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Katie), }, [TRAINER_SUSIE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6393,13 +5482,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Susie), - .party = {.NoItemDefaultMoves = sParty_Susie}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Susie), }, [TRAINER_KARA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6407,13 +5494,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kara), - .party = {.NoItemDefaultMoves = sParty_Kara}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Kara), }, [TRAINER_DANA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6421,13 +5506,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dana), - .party = {.NoItemDefaultMoves = sParty_Dana}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dana), }, [TRAINER_SIENNA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6435,13 +5518,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Sienna), - .party = {.NoItemDefaultMoves = sParty_Sienna}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sienna), }, [TRAINER_DEBRA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6449,13 +5530,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Debra), - .party = {.NoItemDefaultMoves = sParty_Debra}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Debra), }, [TRAINER_LINDA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6463,13 +5542,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Linda), - .party = {.NoItemDefaultMoves = sParty_Linda}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Linda), }, [TRAINER_KAYLEE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6477,13 +5554,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kaylee), - .party = {.NoItemDefaultMoves = sParty_Kaylee}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Kaylee), }, [TRAINER_LAUREL] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6491,13 +5566,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Laurel), - .party = {.NoItemDefaultMoves = sParty_Laurel}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Laurel), }, [TRAINER_CARLEE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6505,13 +5578,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Carlee), - .party = {.NoItemDefaultMoves = sParty_Carlee}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Carlee), }, [TRAINER_JENNY_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6519,13 +5590,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jenny2), - .party = {.NoItemDefaultMoves = sParty_Jenny2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jenny2), }, [TRAINER_JENNY_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6533,13 +5602,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jenny3), - .party = {.NoItemDefaultMoves = sParty_Jenny3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jenny3), }, [TRAINER_JENNY_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6547,13 +5614,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jenny4), - .party = {.NoItemDefaultMoves = sParty_Jenny4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jenny4), }, [TRAINER_JENNY_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -6561,13 +5626,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jenny5), - .party = {.NoItemDefaultMoves = sParty_Jenny5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jenny5), }, [TRAINER_HEIDI] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -6575,13 +5638,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Heidi), - .party = {.NoItemCustomMoves = sParty_Heidi}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Heidi), }, [TRAINER_BECKY] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -6589,13 +5650,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Becky), - .party = {.NoItemCustomMoves = sParty_Becky}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Becky), }, [TRAINER_CAROL] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -6603,13 +5662,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Carol), - .party = {.NoItemDefaultMoves = sParty_Carol}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Carol), }, [TRAINER_NANCY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -6617,13 +5674,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nancy), - .party = {.NoItemDefaultMoves = sParty_Nancy}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nancy), }, [TRAINER_MARTHA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -6631,13 +5686,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Martha), - .party = {.NoItemDefaultMoves = sParty_Martha}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Martha), }, [TRAINER_DIANA_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -6645,13 +5698,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Diana1), - .party = {.NoItemDefaultMoves = sParty_Diana1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Diana1), }, [TRAINER_CEDRIC] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -6659,13 +5710,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cedric), - .party = {.NoItemCustomMoves = sParty_Cedric}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Cedric), }, [TRAINER_IRENE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -6673,13 +5722,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Irene), - .party = {.NoItemDefaultMoves = sParty_Irene}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Irene), }, [TRAINER_DIANA_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -6687,13 +5734,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Diana2), - .party = {.NoItemDefaultMoves = sParty_Diana2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Diana2), }, [TRAINER_DIANA_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -6701,13 +5746,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Diana3), - .party = {.NoItemDefaultMoves = sParty_Diana3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Diana3), }, [TRAINER_DIANA_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -6715,13 +5758,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Diana4), - .party = {.NoItemDefaultMoves = sParty_Diana4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Diana4), }, [TRAINER_DIANA_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -6729,13 +5770,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Diana5), - .party = {.NoItemDefaultMoves = sParty_Diana5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Diana5), }, [TRAINER_AMY_AND_LIV_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TWINS, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, @@ -6743,13 +5782,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_AmyAndLiv1), - .party = {.NoItemDefaultMoves = sParty_AmyAndLiv1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_AmyAndLiv1), }, [TRAINER_AMY_AND_LIV_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TWINS, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, @@ -6757,13 +5794,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_AmyAndLiv2), - .party = {.NoItemDefaultMoves = sParty_AmyAndLiv2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_AmyAndLiv2), }, [TRAINER_GINA_AND_MIA_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TWINS, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, @@ -6771,13 +5806,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GinaAndMia1), - .party = {.NoItemDefaultMoves = sParty_GinaAndMia1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GinaAndMia1), }, [TRAINER_MIU_AND_YUKI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TWINS, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, @@ -6785,13 +5818,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_MiuAndYuki), - .party = {.NoItemDefaultMoves = sParty_MiuAndYuki}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MiuAndYuki), }, [TRAINER_AMY_AND_LIV_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TWINS, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, @@ -6799,13 +5830,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_AmyAndLiv3), - .party = {.NoItemDefaultMoves = sParty_AmyAndLiv3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_AmyAndLiv3), }, [TRAINER_GINA_AND_MIA_2] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_TWINS, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, @@ -6813,13 +5842,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GinaAndMia2), - .party = {.NoItemCustomMoves = sParty_GinaAndMia2}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_GinaAndMia2), }, [TRAINER_AMY_AND_LIV_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TWINS, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, @@ -6827,13 +5854,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_AmyAndLiv4), - .party = {.NoItemDefaultMoves = sParty_AmyAndLiv4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_AmyAndLiv4), }, [TRAINER_AMY_AND_LIV_5] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_TWINS, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, @@ -6841,13 +5866,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_AmyAndLiv5), - .party = {.NoItemCustomMoves = sParty_AmyAndLiv5}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_AmyAndLiv5), }, [TRAINER_AMY_AND_LIV_6] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_TWINS, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, @@ -6855,13 +5878,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_AmyAndLiv6), - .party = {.NoItemCustomMoves = sParty_AmyAndLiv6}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_AmyAndLiv6), }, [TRAINER_HUEY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -6869,13 +5890,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Huey), - .party = {.NoItemDefaultMoves = sParty_Huey}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Huey), }, [TRAINER_EDMOND] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -6883,13 +5902,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Edmond), - .party = {.NoItemDefaultMoves = sParty_Edmond}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Edmond), }, [TRAINER_ERNEST_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -6897,13 +5914,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ernest1), - .party = {.NoItemDefaultMoves = sParty_Ernest1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ernest1), }, [TRAINER_DWAYNE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -6911,13 +5926,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dwayne), - .party = {.NoItemDefaultMoves = sParty_Dwayne}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dwayne), }, [TRAINER_PHILLIP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -6925,13 +5938,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Phillip), - .party = {.NoItemDefaultMoves = sParty_Phillip}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Phillip), }, [TRAINER_LEONARD] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -6939,13 +5950,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Leonard), - .party = {.NoItemDefaultMoves = sParty_Leonard}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Leonard), }, [TRAINER_DUNCAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -6953,13 +5962,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Duncan), - .party = {.NoItemDefaultMoves = sParty_Duncan}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Duncan), }, [TRAINER_ERNEST_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -6967,13 +5974,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ernest2), - .party = {.NoItemDefaultMoves = sParty_Ernest2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ernest2), }, [TRAINER_ERNEST_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -6981,13 +5986,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ernest3), - .party = {.NoItemDefaultMoves = sParty_Ernest3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ernest3), }, [TRAINER_ERNEST_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -6995,13 +5998,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ernest4), - .party = {.NoItemDefaultMoves = sParty_Ernest4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ernest4), }, [TRAINER_ERNEST_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -7009,13 +6010,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ernest5), - .party = {.NoItemDefaultMoves = sParty_Ernest5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ernest5), }, [TRAINER_ELI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -7023,13 +6022,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Eli), - .party = {.NoItemDefaultMoves = sParty_Eli}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Eli), }, [TRAINER_ANNIKA] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_F, @@ -7037,13 +6034,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Annika), - .party = {.ItemCustomMoves = sParty_Annika}, + .party = ITEM_CUSTOM_MOVES(sParty_Annika), }, [TRAINER_JAZMYN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER_2, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -7051,13 +6046,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Jazmyn), - .party = {.NoItemDefaultMoves = sParty_Jazmyn}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jazmyn), }, [TRAINER_JONAS] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -7065,13 +6058,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Jonas), - .party = {.NoItemCustomMoves = sParty_Jonas}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Jonas), }, [TRAINER_KAYLEY] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PARASOL_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, @@ -7079,13 +6070,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kayley), - .party = {.NoItemCustomMoves = sParty_Kayley}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Kayley), }, [TRAINER_AURON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, @@ -7093,13 +6082,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Auron), - .party = {.NoItemDefaultMoves = sParty_Auron}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Auron), }, [TRAINER_KELVIN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -7107,13 +6094,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kelvin), - .party = {.NoItemDefaultMoves = sParty_Kelvin}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Kelvin), }, [TRAINER_MARLEY] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -7121,13 +6106,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Marley), - .party = {.ItemCustomMoves = sParty_Marley}, + .party = ITEM_CUSTOM_MOVES(sParty_Marley), }, [TRAINER_REYNA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -7135,13 +6118,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Reyna), - .party = {.NoItemDefaultMoves = sParty_Reyna}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Reyna), }, [TRAINER_HUDSON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -7149,13 +6130,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Hudson), - .party = {.NoItemDefaultMoves = sParty_Hudson}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Hudson), }, [TRAINER_CONOR] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, @@ -7163,13 +6142,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Conor), - .party = {.NoItemDefaultMoves = sParty_Conor}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Conor), }, [TRAINER_EDWIN_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COLLECTOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, @@ -7177,13 +6154,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Edwin1), - .party = {.NoItemDefaultMoves = sParty_Edwin1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Edwin1), }, [TRAINER_HECTOR] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COLLECTOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, @@ -7191,13 +6166,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Hector), - .party = {.NoItemDefaultMoves = sParty_Hector}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Hector), }, [TRAINER_TABITHA_MOSSDEEP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_ADMIN, @@ -7205,13 +6178,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_TabithaMossdeep), - .party = {.NoItemDefaultMoves = sParty_TabithaMossdeep}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_TabithaMossdeep), }, [TRAINER_EDWIN_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COLLECTOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, @@ -7219,13 +6190,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Edwin2), - .party = {.NoItemDefaultMoves = sParty_Edwin2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Edwin2), }, [TRAINER_EDWIN_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COLLECTOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, @@ -7233,13 +6202,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Edwin3), - .party = {.NoItemDefaultMoves = sParty_Edwin3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Edwin3), }, [TRAINER_EDWIN_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COLLECTOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, @@ -7247,13 +6214,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Edwin4), - .party = {.NoItemDefaultMoves = sParty_Edwin4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Edwin4), }, [TRAINER_EDWIN_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COLLECTOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, @@ -7261,13 +6226,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Edwin5), - .party = {.NoItemDefaultMoves = sParty_Edwin5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Edwin5), }, [TRAINER_WALLY_VR_1] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_WALLY, @@ -7275,13 +6238,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_WallyVR1), - .party = {.NoItemCustomMoves = sParty_WallyVR1}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_WallyVR1), }, [TRAINER_BRENDAN_ROUTE_103_MUDKIP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -7289,13 +6250,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_BrendanRoute103Mudkip), - .party = {.NoItemDefaultMoves = sParty_BrendanRoute103Mudkip}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute103Mudkip), }, [TRAINER_BRENDAN_ROUTE_110_MUDKIP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -7303,13 +6262,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_BrendanRoute110Mudkip), - .party = {.NoItemDefaultMoves = sParty_BrendanRoute110Mudkip}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute110Mudkip), }, [TRAINER_BRENDAN_ROUTE_119_MUDKIP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -7317,13 +6274,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_BrendanRoute119Mudkip), - .party = {.NoItemDefaultMoves = sParty_BrendanRoute119Mudkip}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute119Mudkip), }, [TRAINER_BRENDAN_ROUTE_103_TREECKO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -7331,13 +6286,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_BrendanRoute103Treecko), - .party = {.NoItemDefaultMoves = sParty_BrendanRoute103Treecko}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute103Treecko), }, [TRAINER_BRENDAN_ROUTE_110_TREECKO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -7345,13 +6298,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_BrendanRoute110Treecko), - .party = {.NoItemDefaultMoves = sParty_BrendanRoute110Treecko}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute110Treecko), }, [TRAINER_BRENDAN_ROUTE_119_TREECKO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -7359,13 +6310,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_BrendanRoute119Treecko), - .party = {.NoItemDefaultMoves = sParty_BrendanRoute119Treecko}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute119Treecko), }, [TRAINER_BRENDAN_ROUTE_103_TORCHIC] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -7373,13 +6322,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_BrendanRoute103Torchic), - .party = {.NoItemDefaultMoves = sParty_BrendanRoute103Torchic}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute103Torchic), }, [TRAINER_BRENDAN_ROUTE_110_TORCHIC] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -7387,13 +6334,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_BrendanRoute110Torchic), - .party = {.NoItemDefaultMoves = sParty_BrendanRoute110Torchic}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute110Torchic), }, [TRAINER_BRENDAN_ROUTE_119_TORCHIC] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -7401,13 +6346,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_BrendanRoute119Torchic), - .party = {.NoItemDefaultMoves = sParty_BrendanRoute119Torchic}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute119Torchic), }, [TRAINER_MAY_ROUTE_103_MUDKIP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -7415,13 +6358,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayRoute103Mudkip), - .party = {.NoItemDefaultMoves = sParty_MayRoute103Mudkip}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute103Mudkip), }, [TRAINER_MAY_ROUTE_110_MUDKIP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -7429,13 +6370,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayRoute110Mudkip), - .party = {.NoItemDefaultMoves = sParty_MayRoute110Mudkip}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute110Mudkip), }, [TRAINER_MAY_ROUTE_119_MUDKIP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -7443,13 +6382,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayRoute119Mudkip), - .party = {.NoItemDefaultMoves = sParty_MayRoute119Mudkip}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute119Mudkip), }, [TRAINER_MAY_ROUTE_103_TREECKO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -7457,13 +6394,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayRoute103Treecko), - .party = {.NoItemDefaultMoves = sParty_MayRoute103Treecko}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute103Treecko), }, [TRAINER_MAY_ROUTE_110_TREECKO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -7471,13 +6406,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayRoute110Treecko), - .party = {.NoItemDefaultMoves = sParty_MayRoute110Treecko}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute110Treecko), }, [TRAINER_MAY_ROUTE_119_TREECKO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -7485,13 +6418,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayRoute119Treecko), - .party = {.NoItemDefaultMoves = sParty_MayRoute119Treecko}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute119Treecko), }, [TRAINER_MAY_ROUTE_103_TORCHIC] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -7499,13 +6430,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayRoute103Torchic), - .party = {.NoItemDefaultMoves = sParty_MayRoute103Torchic}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute103Torchic), }, [TRAINER_MAY_ROUTE_110_TORCHIC] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -7513,13 +6442,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayRoute110Torchic), - .party = {.NoItemDefaultMoves = sParty_MayRoute110Torchic}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute110Torchic), }, [TRAINER_MAY_ROUTE_119_TORCHIC] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -7527,13 +6454,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayRoute119Torchic), - .party = {.NoItemDefaultMoves = sParty_MayRoute119Torchic}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute119Torchic), }, [TRAINER_ISAAC_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, @@ -7541,13 +6466,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isaac1), - .party = {.NoItemDefaultMoves = sParty_Isaac1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaac1), }, [TRAINER_DAVIS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_CATCHER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, @@ -7555,13 +6478,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Davis), - .party = {.NoItemDefaultMoves = sParty_Davis}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Davis), }, [TRAINER_MITCHELL] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -7569,13 +6490,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Mitchell), - .party = {.NoItemCustomMoves = sParty_Mitchell}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Mitchell), }, [TRAINER_ISAAC_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, @@ -7583,13 +6502,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isaac2), - .party = {.NoItemDefaultMoves = sParty_Isaac2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaac2), }, [TRAINER_ISAAC_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, @@ -7597,13 +6514,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isaac3), - .party = {.NoItemDefaultMoves = sParty_Isaac3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaac3), }, [TRAINER_ISAAC_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, @@ -7611,13 +6526,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isaac4), - .party = {.NoItemDefaultMoves = sParty_Isaac4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaac4), }, [TRAINER_ISAAC_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, @@ -7625,13 +6538,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isaac5), - .party = {.NoItemDefaultMoves = sParty_Isaac5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaac5), }, [TRAINER_LYDIA_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, @@ -7639,13 +6550,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lydia1), - .party = {.NoItemDefaultMoves = sParty_Lydia1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lydia1), }, [TRAINER_HALLE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -7653,13 +6562,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Halle), - .party = {.NoItemDefaultMoves = sParty_Halle}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Halle), }, [TRAINER_GARRISON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -7667,13 +6574,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Garrison), - .party = {.NoItemDefaultMoves = sParty_Garrison}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Garrison), }, [TRAINER_LYDIA_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, @@ -7681,13 +6586,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lydia2), - .party = {.NoItemDefaultMoves = sParty_Lydia2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lydia2), }, [TRAINER_LYDIA_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, @@ -7695,13 +6598,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lydia3), - .party = {.NoItemDefaultMoves = sParty_Lydia3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lydia3), }, [TRAINER_LYDIA_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, @@ -7709,13 +6610,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lydia4), - .party = {.NoItemDefaultMoves = sParty_Lydia4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lydia4), }, [TRAINER_LYDIA_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, @@ -7723,13 +6622,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lydia5), - .party = {.NoItemDefaultMoves = sParty_Lydia5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lydia5), }, [TRAINER_JACKSON_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, @@ -7737,13 +6634,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Jackson1), - .party = {.NoItemDefaultMoves = sParty_Jackson1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jackson1), }, [TRAINER_LORENZO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, @@ -7751,13 +6646,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Lorenzo), - .party = {.NoItemDefaultMoves = sParty_Lorenzo}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lorenzo), }, [TRAINER_SEBASTIAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, @@ -7765,13 +6658,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Sebastian), - .party = {.NoItemDefaultMoves = sParty_Sebastian}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sebastian), }, [TRAINER_JACKSON_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, @@ -7779,13 +6670,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Jackson2), - .party = {.NoItemDefaultMoves = sParty_Jackson2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jackson2), }, [TRAINER_JACKSON_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, @@ -7793,13 +6682,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Jackson3), - .party = {.NoItemDefaultMoves = sParty_Jackson3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jackson3), }, [TRAINER_JACKSON_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, @@ -7807,13 +6694,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Jackson4), - .party = {.NoItemDefaultMoves = sParty_Jackson4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jackson4), }, [TRAINER_JACKSON_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, @@ -7821,13 +6706,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Jackson5), - .party = {.NoItemDefaultMoves = sParty_Jackson5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jackson5), }, [TRAINER_CATHERINE_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, @@ -7835,13 +6718,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Catherine1), - .party = {.NoItemDefaultMoves = sParty_Catherine1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Catherine1), }, [TRAINER_JENNA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, @@ -7849,13 +6730,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Jenna), - .party = {.NoItemDefaultMoves = sParty_Jenna}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jenna), }, [TRAINER_SOPHIA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, @@ -7863,13 +6742,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Sophia), - .party = {.NoItemDefaultMoves = sParty_Sophia}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sophia), }, [TRAINER_CATHERINE_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, @@ -7877,13 +6754,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Catherine2), - .party = {.NoItemDefaultMoves = sParty_Catherine2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Catherine2), }, [TRAINER_CATHERINE_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, @@ -7891,13 +6766,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Catherine3), - .party = {.NoItemDefaultMoves = sParty_Catherine3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Catherine3), }, [TRAINER_CATHERINE_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, @@ -7905,13 +6778,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Catherine4), - .party = {.NoItemDefaultMoves = sParty_Catherine4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Catherine4), }, [TRAINER_CATHERINE_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_RANGER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, @@ -7919,13 +6790,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Catherine5), - .party = {.NoItemDefaultMoves = sParty_Catherine5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Catherine5), }, [TRAINER_JULIO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, @@ -7933,13 +6802,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Julio), - .party = {.NoItemDefaultMoves = sParty_Julio}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Julio), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, @@ -7947,13 +6814,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern5), - .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSeafloorCavern5), }, [TRAINER_GRUNT_UNUSED] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, @@ -7961,13 +6826,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntUnused), - .party = {.NoItemDefaultMoves = sParty_GruntUnused}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntUnused), }, [TRAINER_GRUNT_MT_PYRE_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, @@ -7975,13 +6838,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMtPyre4), - .party = {.NoItemDefaultMoves = sParty_GruntMtPyre4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMtPyre4), }, [TRAINER_GRUNT_JAGGED_PASS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -7989,13 +6850,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntJaggedPass), - .party = {.NoItemDefaultMoves = sParty_GruntJaggedPass}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntJaggedPass), }, [TRAINER_MARC] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8003,13 +6862,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Marc), - .party = {.NoItemDefaultMoves = sParty_Marc}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Marc), }, [TRAINER_BRENDEN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -8017,13 +6874,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Brenden), - .party = {.NoItemDefaultMoves = sParty_Brenden}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Brenden), }, [TRAINER_LILITH] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -8031,13 +6886,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lilith), - .party = {.NoItemDefaultMoves = sParty_Lilith}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lilith), }, [TRAINER_CRISTIAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -8045,13 +6898,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cristian), - .party = {.NoItemDefaultMoves = sParty_Cristian}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cristian), }, [TRAINER_SYLVIA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HEX_MANIAC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, @@ -8059,13 +6910,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Sylvia), - .party = {.NoItemDefaultMoves = sParty_Sylvia}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sylvia), }, [TRAINER_LEONARDO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -8073,13 +6922,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Leonardo), - .party = {.NoItemDefaultMoves = sParty_Leonardo}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Leonardo), }, [TRAINER_ATHENA] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -8087,13 +6934,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Athena), - .party = {.ItemCustomMoves = sParty_Athena}, + .party = ITEM_CUSTOM_MOVES(sParty_Athena), }, [TRAINER_HARRISON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -8101,13 +6946,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Harrison), - .party = {.NoItemDefaultMoves = sParty_Harrison}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Harrison), }, [TRAINER_GRUNT_MT_CHIMNEY_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -8115,13 +6958,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMtChimney2), - .party = {.NoItemDefaultMoves = sParty_GruntMtChimney2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMtChimney2), }, [TRAINER_CLARENCE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -8129,13 +6970,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Clarence), - .party = {.NoItemDefaultMoves = sParty_Clarence}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Clarence), }, [TRAINER_TERRY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -8143,13 +6982,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Terry), - .party = {.NoItemDefaultMoves = sParty_Terry}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Terry), }, [TRAINER_NATE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GENTLEMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, @@ -8157,13 +6994,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nate), - .party = {.NoItemDefaultMoves = sParty_Nate}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nate), }, [TRAINER_KATHLEEN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HEX_MANIAC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, @@ -8171,13 +7006,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kathleen), - .party = {.NoItemDefaultMoves = sParty_Kathleen}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Kathleen), }, [TRAINER_CLIFFORD] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GENTLEMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, @@ -8185,13 +7018,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Clifford), - .party = {.NoItemDefaultMoves = sParty_Clifford}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Clifford), }, [TRAINER_NICHOLAS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -8199,13 +7030,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Nicholas), - .party = {.NoItemDefaultMoves = sParty_Nicholas}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Nicholas), }, [TRAINER_GRUNT_SPACE_CENTER_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, @@ -8213,13 +7042,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter3), - .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter3), }, [TRAINER_GRUNT_SPACE_CENTER_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -8227,13 +7054,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter4), - .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter4), }, [TRAINER_GRUNT_SPACE_CENTER_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -8241,13 +7066,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter5), - .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter5), }, [TRAINER_GRUNT_SPACE_CENTER_6] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -8255,13 +7078,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter6), - .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter6}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter6), }, [TRAINER_GRUNT_SPACE_CENTER_7] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -8269,13 +7090,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter7), - .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter7}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter7), }, [TRAINER_MACEY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -8283,13 +7102,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Macey), - .party = {.NoItemDefaultMoves = sParty_Macey}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Macey), }, [TRAINER_BRENDAN_RUSTBORO_TREECKO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -8297,13 +7114,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_BrendanRustboroTreecko), - .party = {.NoItemDefaultMoves = sParty_BrendanRustboroTreecko}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRustboroTreecko), }, [TRAINER_BRENDAN_RUSTBORO_MUDKIP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -8311,13 +7126,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_BrendanRustboroMudkip), - .party = {.NoItemDefaultMoves = sParty_BrendanRustboroMudkip}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRustboroMudkip), }, [TRAINER_PAXTON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, @@ -8325,13 +7138,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Paxton), - .party = {.NoItemDefaultMoves = sParty_Paxton}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Paxton), }, [TRAINER_ISABELLA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, @@ -8339,13 +7150,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isabella), - .party = {.NoItemDefaultMoves = sParty_Isabella}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isabella), }, [TRAINER_GRUNT_WEATHER_INST_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, @@ -8353,13 +7162,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntWeatherInst5), - .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntWeatherInst5), }, [TRAINER_TABITHA_MT_CHIMNEY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_ADMIN, @@ -8367,13 +7174,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_TabithaMtChimney), - .party = {.NoItemDefaultMoves = sParty_TabithaMtChimney}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_TabithaMtChimney), }, [TRAINER_JONATHAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -8381,13 +7186,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Jonathan), - .party = {.NoItemDefaultMoves = sParty_Jonathan}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jonathan), }, [TRAINER_BRENDAN_RUSTBORO_TORCHIC] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -8395,13 +7198,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_BrendanRustboroTorchic), - .party = {.NoItemDefaultMoves = sParty_BrendanRustboroTorchic}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRustboroTorchic), }, [TRAINER_MAY_RUSTBORO_MUDKIP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -8409,13 +7210,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_MayRustboroMudkip), - .party = {.NoItemDefaultMoves = sParty_MayRustboroMudkip}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRustboroMudkip), }, [TRAINER_MAXIE_MAGMA_HIDEOUT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_LEADER_MAXIE, @@ -8423,13 +7222,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MaxieMagmaHideout), - .party = {.NoItemDefaultMoves = sParty_MaxieMagmaHideout}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MaxieMagmaHideout), }, [TRAINER_MAXIE_MT_CHIMNEY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_LEADER_MAXIE, @@ -8437,13 +7234,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MaxieMtChimney), - .party = {.NoItemDefaultMoves = sParty_MaxieMtChimney}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MaxieMtChimney), }, [TRAINER_TIANA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_LASS, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, @@ -8451,13 +7246,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tiana), - .party = {.NoItemDefaultMoves = sParty_Tiana}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tiana), }, [TRAINER_HALEY_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_LASS, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, @@ -8465,13 +7258,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Haley1), - .party = {.NoItemDefaultMoves = sParty_Haley1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Haley1), }, [TRAINER_JANICE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_LASS, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, @@ -8479,13 +7270,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Janice), - .party = {.NoItemDefaultMoves = sParty_Janice}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Janice), }, [TRAINER_VIVI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_WINSTRATE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, @@ -8493,13 +7282,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Vivi), - .party = {.NoItemDefaultMoves = sParty_Vivi}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Vivi), }, [TRAINER_HALEY_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_LASS, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, @@ -8507,13 +7294,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Haley2), - .party = {.NoItemDefaultMoves = sParty_Haley2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Haley2), }, [TRAINER_HALEY_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_LASS, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, @@ -8521,13 +7306,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Haley3), - .party = {.NoItemDefaultMoves = sParty_Haley3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Haley3), }, [TRAINER_HALEY_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_LASS, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, @@ -8535,13 +7318,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Haley4), - .party = {.NoItemDefaultMoves = sParty_Haley4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Haley4), }, [TRAINER_HALEY_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_LASS, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, @@ -8549,13 +7330,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Haley5), - .party = {.NoItemDefaultMoves = sParty_Haley5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Haley5), }, [TRAINER_SALLY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_LASS, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, @@ -8563,13 +7342,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Sally), - .party = {.NoItemDefaultMoves = sParty_Sally}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sally), }, [TRAINER_ROBIN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_LASS, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, @@ -8577,13 +7354,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Robin), - .party = {.NoItemDefaultMoves = sParty_Robin}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Robin), }, [TRAINER_ANDREA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_LASS, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, @@ -8591,13 +7366,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Andrea), - .party = {.NoItemDefaultMoves = sParty_Andrea}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Andrea), }, [TRAINER_CRISSY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_LASS, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, @@ -8605,13 +7378,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Crissy), - .party = {.NoItemDefaultMoves = sParty_Crissy}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Crissy), }, [TRAINER_RICK] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_CATCHER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, @@ -8619,13 +7390,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Rick), - .party = {.NoItemDefaultMoves = sParty_Rick}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Rick), }, [TRAINER_LYLE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_CATCHER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, @@ -8633,13 +7402,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lyle), - .party = {.NoItemDefaultMoves = sParty_Lyle}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lyle), }, [TRAINER_JOSE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_CATCHER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, @@ -8647,13 +7414,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jose), - .party = {.NoItemDefaultMoves = sParty_Jose}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jose), }, [TRAINER_DOUG] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_CATCHER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, @@ -8661,13 +7426,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Doug), - .party = {.NoItemDefaultMoves = sParty_Doug}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Doug), }, [TRAINER_GREG] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_CATCHER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, @@ -8675,13 +7438,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Greg), - .party = {.NoItemDefaultMoves = sParty_Greg}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Greg), }, [TRAINER_KENT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_CATCHER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, @@ -8689,13 +7450,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kent), - .party = {.NoItemDefaultMoves = sParty_Kent}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Kent), }, [TRAINER_JAMES_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_CATCHER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, @@ -8703,13 +7462,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_James1), - .party = {.NoItemDefaultMoves = sParty_James1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_James1), }, [TRAINER_JAMES_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_CATCHER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, @@ -8717,13 +7474,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_James2), - .party = {.NoItemDefaultMoves = sParty_James2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_James2), }, [TRAINER_JAMES_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_CATCHER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, @@ -8731,13 +7486,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_James3), - .party = {.NoItemDefaultMoves = sParty_James3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_James3), }, [TRAINER_JAMES_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_CATCHER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, @@ -8745,13 +7498,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_James4), - .party = {.NoItemDefaultMoves = sParty_James4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_James4), }, [TRAINER_JAMES_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_CATCHER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, @@ -8759,13 +7510,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_James5), - .party = {.NoItemDefaultMoves = sParty_James5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_James5), }, [TRAINER_BRICE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8773,13 +7522,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Brice), - .party = {.NoItemDefaultMoves = sParty_Brice}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Brice), }, [TRAINER_TRENT_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8787,13 +7534,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Trent1), - .party = {.NoItemDefaultMoves = sParty_Trent1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Trent1), }, [TRAINER_LENNY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8801,13 +7546,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lenny), - .party = {.NoItemDefaultMoves = sParty_Lenny}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lenny), }, [TRAINER_LUCAS_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8815,13 +7558,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lucas1), - .party = {.NoItemDefaultMoves = sParty_Lucas1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lucas1), }, [TRAINER_ALAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8829,13 +7570,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Alan), - .party = {.NoItemDefaultMoves = sParty_Alan}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Alan), }, [TRAINER_CLARK] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8843,13 +7582,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Clark), - .party = {.NoItemDefaultMoves = sParty_Clark}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Clark), }, [TRAINER_ERIC] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8857,13 +7594,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Eric), - .party = {.NoItemDefaultMoves = sParty_Eric}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Eric), }, [TRAINER_LUCAS_2] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8871,13 +7606,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lucas2), - .party = {.NoItemCustomMoves = sParty_Lucas2}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Lucas2), }, [TRAINER_MIKE_1] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8885,13 +7618,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Mike1), - .party = {.NoItemCustomMoves = sParty_Mike1}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Mike1), }, [TRAINER_MIKE_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8899,13 +7630,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Mike2), - .party = {.NoItemDefaultMoves = sParty_Mike2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Mike2), }, [TRAINER_TRENT_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8913,13 +7642,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Trent2), - .party = {.NoItemDefaultMoves = sParty_Trent2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Trent2), }, [TRAINER_TRENT_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8927,13 +7654,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Trent3), - .party = {.NoItemDefaultMoves = sParty_Trent3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Trent3), }, [TRAINER_TRENT_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8941,13 +7666,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Trent4), - .party = {.NoItemDefaultMoves = sParty_Trent4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Trent4), }, [TRAINER_TRENT_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -8955,13 +7678,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Trent5), - .party = {.NoItemDefaultMoves = sParty_Trent5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Trent5), }, [TRAINER_DEZ_AND_LUKE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, @@ -8969,13 +7690,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_DezAndLuke), - .party = {.NoItemDefaultMoves = sParty_DezAndLuke}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_DezAndLuke), }, [TRAINER_LEA_AND_JED] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, @@ -8983,13 +7702,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_LeaAndJed), - .party = {.NoItemDefaultMoves = sParty_LeaAndJed}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_LeaAndJed), }, [TRAINER_KIRA_AND_DAN_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, @@ -8997,13 +7714,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_KiraAndDan1), - .party = {.NoItemDefaultMoves = sParty_KiraAndDan1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_KiraAndDan1), }, [TRAINER_KIRA_AND_DAN_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, @@ -9011,13 +7726,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_KiraAndDan2), - .party = {.NoItemDefaultMoves = sParty_KiraAndDan2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_KiraAndDan2), }, [TRAINER_KIRA_AND_DAN_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, @@ -9025,13 +7738,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_KiraAndDan3), - .party = {.NoItemDefaultMoves = sParty_KiraAndDan3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_KiraAndDan3), }, [TRAINER_KIRA_AND_DAN_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, @@ -9039,13 +7750,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_KiraAndDan4), - .party = {.NoItemDefaultMoves = sParty_KiraAndDan4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_KiraAndDan4), }, [TRAINER_KIRA_AND_DAN_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, @@ -9053,13 +7762,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_KiraAndDan5), - .party = {.NoItemDefaultMoves = sParty_KiraAndDan5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_KiraAndDan5), }, [TRAINER_JOHANNA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -9067,13 +7774,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Johanna), - .party = {.NoItemDefaultMoves = sParty_Johanna}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Johanna), }, [TRAINER_GERALD] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -9081,13 +7786,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Gerald), - .party = {.NoItemCustomMoves = sParty_Gerald}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Gerald), }, [TRAINER_VIVIAN] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -9095,13 +7798,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Vivian), - .party = {.NoItemCustomMoves = sParty_Vivian}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Vivian), }, [TRAINER_DANIELLE] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -9109,13 +7810,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Danielle), - .party = {.NoItemCustomMoves = sParty_Danielle}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Danielle), }, [TRAINER_HIDEO] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -9123,13 +7822,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, - .partySize = ARRAY_COUNT(sParty_Hideo), - .party = {.NoItemCustomMoves = sParty_Hideo}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Hideo), }, [TRAINER_KEIGO] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -9137,13 +7834,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, - .partySize = ARRAY_COUNT(sParty_Keigo), - .party = {.NoItemCustomMoves = sParty_Keigo}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Keigo), }, [TRAINER_RILEY] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -9151,13 +7846,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, - .partySize = ARRAY_COUNT(sParty_Riley), - .party = {.NoItemCustomMoves = sParty_Riley}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Riley), }, [TRAINER_FLINT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -9165,13 +7858,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Flint), - .party = {.NoItemDefaultMoves = sParty_Flint}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Flint), }, [TRAINER_ASHLEY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -9179,13 +7870,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Ashley), - .party = {.NoItemDefaultMoves = sParty_Ashley}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ashley), }, [TRAINER_WALLY_MAUVILLE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_WALLY, @@ -9193,13 +7882,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_WallyMauville), - .party = {.NoItemDefaultMoves = sParty_WallyMauville}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_WallyMauville), }, [TRAINER_WALLY_VR_2] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_WALLY, @@ -9207,13 +7894,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_WallyVR2), - .party = {.NoItemCustomMoves = sParty_WallyVR2}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_WallyVR2), }, [TRAINER_WALLY_VR_3] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_WALLY, @@ -9221,13 +7906,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_WallyVR3), - .party = {.NoItemCustomMoves = sParty_WallyVR3}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_WallyVR3), }, [TRAINER_WALLY_VR_4] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_WALLY, @@ -9235,13 +7918,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_WallyVR4), - .party = {.NoItemCustomMoves = sParty_WallyVR4}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_WallyVR4), }, [TRAINER_WALLY_VR_5] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_WALLY, @@ -9249,13 +7930,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_WallyVR5), - .party = {.NoItemCustomMoves = sParty_WallyVR5}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_WallyVR5), }, [TRAINER_BRENDAN_LILYCOVE_MUDKIP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -9263,13 +7942,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_BrendanLilycoveMudkip), - .party = {.NoItemDefaultMoves = sParty_BrendanLilycoveMudkip}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanLilycoveMudkip), }, [TRAINER_BRENDAN_LILYCOVE_TREECKO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -9277,13 +7954,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_BrendanLilycoveTreecko), - .party = {.NoItemDefaultMoves = sParty_BrendanLilycoveTreecko}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanLilycoveTreecko), }, [TRAINER_BRENDAN_LILYCOVE_TORCHIC] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, @@ -9291,13 +7966,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_BrendanLilycoveTorchic), - .party = {.NoItemDefaultMoves = sParty_BrendanLilycoveTorchic}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanLilycoveTorchic), }, [TRAINER_MAY_LILYCOVE_MUDKIP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -9305,13 +7978,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayLilycoveMudkip), - .party = {.NoItemDefaultMoves = sParty_MayLilycoveMudkip}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayLilycoveMudkip), }, [TRAINER_MAY_LILYCOVE_TREECKO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -9319,13 +7990,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayLilycoveTreecko), - .party = {.NoItemDefaultMoves = sParty_MayLilycoveTreecko}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayLilycoveTreecko), }, [TRAINER_MAY_LILYCOVE_TORCHIC] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -9333,13 +8002,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayLilycoveTorchic), - .party = {.NoItemDefaultMoves = sParty_MayLilycoveTorchic}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayLilycoveTorchic), }, [TRAINER_JONAH] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -9347,13 +8014,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jonah), - .party = {.NoItemDefaultMoves = sParty_Jonah}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jonah), }, [TRAINER_HENRY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -9361,13 +8026,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Henry), - .party = {.NoItemDefaultMoves = sParty_Henry}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Henry), }, [TRAINER_ROGER] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -9375,13 +8038,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Roger), - .party = {.NoItemDefaultMoves = sParty_Roger}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Roger), }, [TRAINER_ALEXA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -9389,13 +8050,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Alexa), - .party = {.NoItemDefaultMoves = sParty_Alexa}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Alexa), }, [TRAINER_RUBEN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -9403,13 +8062,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Ruben), - .party = {.NoItemDefaultMoves = sParty_Ruben}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Ruben), }, [TRAINER_KOJI_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -9417,13 +8074,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Koji1), - .party = {.NoItemDefaultMoves = sParty_Koji1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Koji1), }, [TRAINER_WAYNE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -9431,13 +8086,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Wayne), - .party = {.NoItemDefaultMoves = sParty_Wayne}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Wayne), }, [TRAINER_AIDAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -9445,13 +8098,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Aidan), - .party = {.NoItemDefaultMoves = sParty_Aidan}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Aidan), }, [TRAINER_REED] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -9459,13 +8110,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Reed), - .party = {.NoItemDefaultMoves = sParty_Reed}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Reed), }, [TRAINER_TISHA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -9473,13 +8122,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tisha), - .party = {.NoItemDefaultMoves = sParty_Tisha}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tisha), }, [TRAINER_TORI_AND_TIA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TWINS, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, @@ -9487,13 +8134,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_ToriAndTia), - .party = {.NoItemDefaultMoves = sParty_ToriAndTia}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_ToriAndTia), }, [TRAINER_KIM_AND_IRIS] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_SR_AND_JR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, @@ -9501,13 +8146,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_KimAndIris), - .party = {.NoItemCustomMoves = sParty_KimAndIris}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_KimAndIris), }, [TRAINER_TYRA_AND_IVY] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_SR_AND_JR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, @@ -9515,13 +8158,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_TyraAndIvy), - .party = {.NoItemCustomMoves = sParty_TyraAndIvy}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_TyraAndIvy), }, [TRAINER_MEL_AND_PAUL] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, @@ -9529,13 +8170,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_MelAndPaul), - .party = {.NoItemCustomMoves = sParty_MelAndPaul}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_MelAndPaul), }, [TRAINER_JOHN_AND_JAY_1] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_OLD_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_OLD_COUPLE, @@ -9543,13 +8182,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_JohnAndJay1), - .party = {.NoItemCustomMoves = sParty_JohnAndJay1}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_JohnAndJay1), }, [TRAINER_JOHN_AND_JAY_2] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_OLD_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_OLD_COUPLE, @@ -9557,13 +8194,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_JohnAndJay2), - .party = {.NoItemCustomMoves = sParty_JohnAndJay2}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_JohnAndJay2), }, [TRAINER_JOHN_AND_JAY_3] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_OLD_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_OLD_COUPLE, @@ -9571,13 +8206,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_JohnAndJay3), - .party = {.NoItemCustomMoves = sParty_JohnAndJay3}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_JohnAndJay3), }, [TRAINER_JOHN_AND_JAY_4] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_OLD_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_OLD_COUPLE, @@ -9585,13 +8218,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_JohnAndJay4), - .party = {.NoItemCustomMoves = sParty_JohnAndJay4}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_JohnAndJay4), }, [TRAINER_JOHN_AND_JAY_5] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_OLD_COUPLE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_OLD_COUPLE, @@ -9599,13 +8230,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_JohnAndJay5), - .party = {.NoItemCustomMoves = sParty_JohnAndJay5}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_JohnAndJay5), }, [TRAINER_RELI_AND_IAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SIS_AND_BRO, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, @@ -9613,13 +8242,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_ReliAndIan), - .party = {.NoItemDefaultMoves = sParty_ReliAndIan}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_ReliAndIan), }, [TRAINER_LILA_AND_ROY_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SIS_AND_BRO, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, @@ -9627,13 +8254,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_LilaAndRoy1), - .party = {.NoItemDefaultMoves = sParty_LilaAndRoy1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_LilaAndRoy1), }, [TRAINER_LILA_AND_ROY_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SIS_AND_BRO, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, @@ -9641,13 +8266,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_LilaAndRoy2), - .party = {.NoItemDefaultMoves = sParty_LilaAndRoy2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_LilaAndRoy2), }, [TRAINER_LILA_AND_ROY_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SIS_AND_BRO, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, @@ -9655,13 +8278,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_LilaAndRoy3), - .party = {.NoItemDefaultMoves = sParty_LilaAndRoy3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_LilaAndRoy3), }, [TRAINER_LILA_AND_ROY_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SIS_AND_BRO, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, @@ -9669,13 +8290,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_LilaAndRoy4), - .party = {.NoItemDefaultMoves = sParty_LilaAndRoy4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_LilaAndRoy4), }, [TRAINER_LILA_AND_ROY_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SIS_AND_BRO, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, @@ -9683,13 +8302,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_LilaAndRoy5), - .party = {.NoItemDefaultMoves = sParty_LilaAndRoy5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_LilaAndRoy5), }, [TRAINER_LISA_AND_RAY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SIS_AND_BRO, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, @@ -9697,13 +8314,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_LisaAndRay), - .party = {.NoItemDefaultMoves = sParty_LisaAndRay}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_LisaAndRay), }, [TRAINER_CHRIS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -9711,13 +8326,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Chris), - .party = {.NoItemDefaultMoves = sParty_Chris}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Chris), }, [TRAINER_DAWSON] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_RICH_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_RICH_BOY, @@ -9725,13 +8338,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dawson), - .party = {.ItemDefaultMoves = sParty_Dawson}, + .party = ITEM_DEFAULT_MOVES(sParty_Dawson), }, [TRAINER_SARAH] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LADY, @@ -9739,13 +8350,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Sarah), - .party = {.ItemDefaultMoves = sParty_Sarah}, + .party = ITEM_DEFAULT_MOVES(sParty_Sarah), }, [TRAINER_DARIAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -9753,13 +8362,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Darian), - .party = {.NoItemDefaultMoves = sParty_Darian}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Darian), }, [TRAINER_HAILEY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TUBER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, @@ -9767,13 +8374,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Hailey), - .party = {.NoItemDefaultMoves = sParty_Hailey}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Hailey), }, [TRAINER_CHANDLER] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TUBER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, @@ -9781,13 +8386,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Chandler), - .party = {.NoItemDefaultMoves = sParty_Chandler}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Chandler), }, [TRAINER_KALEB] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM, .trainerClass = TRAINER_CLASS_POKEFAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_POKEFAN_M, @@ -9795,13 +8398,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kaleb), - .party = {.ItemDefaultMoves = sParty_Kaleb}, + .party = ITEM_DEFAULT_MOVES(sParty_Kaleb), }, [TRAINER_JOSEPH] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -9809,13 +8410,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Joseph), - .party = {.NoItemDefaultMoves = sParty_Joseph}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Joseph), }, [TRAINER_ALYSSA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, @@ -9823,13 +8422,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Alyssa), - .party = {.NoItemDefaultMoves = sParty_Alyssa}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Alyssa), }, [TRAINER_MARCOS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -9837,13 +8434,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Marcos), - .party = {.NoItemDefaultMoves = sParty_Marcos}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Marcos), }, [TRAINER_RHETT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -9851,13 +8446,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Rhett), - .party = {.NoItemDefaultMoves = sParty_Rhett}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Rhett), }, [TRAINER_TYRON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -9865,13 +8458,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tyron), - .party = {.NoItemDefaultMoves = sParty_Tyron}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tyron), }, [TRAINER_CELINA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AROMA_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, @@ -9879,13 +8470,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Celina), - .party = {.NoItemDefaultMoves = sParty_Celina}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Celina), }, [TRAINER_BIANCA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -9893,13 +8482,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Bianca), - .party = {.NoItemDefaultMoves = sParty_Bianca}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Bianca), }, [TRAINER_HAYDEN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -9907,13 +8494,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Hayden), - .party = {.NoItemDefaultMoves = sParty_Hayden}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Hayden), }, [TRAINER_SOPHIE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -9921,13 +8506,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Sophie), - .party = {.NoItemDefaultMoves = sParty_Sophie}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sophie), }, [TRAINER_COBY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -9935,13 +8518,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Coby), - .party = {.NoItemDefaultMoves = sParty_Coby}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Coby), }, [TRAINER_LAWRENCE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -9949,13 +8530,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Lawrence), - .party = {.NoItemDefaultMoves = sParty_Lawrence}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lawrence), }, [TRAINER_WYATT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_POKEMANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, @@ -9963,13 +8542,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Wyatt), - .party = {.NoItemDefaultMoves = sParty_Wyatt}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Wyatt), }, [TRAINER_ANGELINA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -9977,13 +8554,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Angelina), - .party = {.NoItemDefaultMoves = sParty_Angelina}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Angelina), }, [TRAINER_KAI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FISHERMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, @@ -9991,13 +8566,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kai), - .party = {.NoItemDefaultMoves = sParty_Kai}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Kai), }, [TRAINER_CHARLOTTE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -10005,13 +8578,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Charlotte), - .party = {.NoItemDefaultMoves = sParty_Charlotte}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Charlotte), }, [TRAINER_DEANDRE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -10019,13 +8590,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Deandre), - .party = {.NoItemDefaultMoves = sParty_Deandre}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Deandre), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10033,13 +8602,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout1), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout1), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10047,13 +8614,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout2), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout2), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10061,13 +8626,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout3), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout3), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10075,13 +8638,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout4), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout4), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10089,13 +8650,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout5), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout5), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_6] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10103,13 +8662,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout6), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout6}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout6), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_7] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10117,13 +8674,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout7), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout7}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout7), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_8] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10131,13 +8686,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout8), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout8}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout8), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_9] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10145,13 +8698,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout9), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout9}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout9), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_10] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10159,13 +8710,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout10), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout10}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout10), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_11] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10173,13 +8722,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout11), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout11}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout11), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_12] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10187,13 +8734,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout12), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout12}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout12), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_13] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, @@ -10201,13 +8746,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout13), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout13}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout13), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_14] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, @@ -10215,13 +8758,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout14), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout14}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout14), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_15] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, @@ -10229,13 +8770,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout15), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout15}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout15), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_16] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, @@ -10243,13 +8782,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout16), - .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout16}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout16), }, [TRAINER_TABITHA_MAGMA_HIDEOUT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_ADMIN, @@ -10257,13 +8794,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_TabithaMagmaHideout), - .party = {.NoItemDefaultMoves = sParty_TabithaMagmaHideout}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_TabithaMagmaHideout), }, [TRAINER_DARCY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -10271,13 +8806,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Darcy), - .party = {.NoItemDefaultMoves = sParty_Darcy}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Darcy), }, [TRAINER_MAXIE_MOSSDEEP] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_LEADER_MAXIE, @@ -10285,13 +8818,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MaxieMossdeep), - .party = {.NoItemDefaultMoves = sParty_MaxieMossdeep}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MaxieMossdeep), }, [TRAINER_PETE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_M, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, @@ -10299,13 +8830,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Pete), - .party = {.NoItemDefaultMoves = sParty_Pete}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Pete), }, [TRAINER_ISABELLE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SWIMMER_F, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, @@ -10313,13 +8842,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Isabelle), - .party = {.NoItemDefaultMoves = sParty_Isabelle}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Isabelle), }, [TRAINER_ANDRES_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -10327,13 +8854,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Andres1), - .party = {.NoItemDefaultMoves = sParty_Andres1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Andres1), }, [TRAINER_JOSUE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -10341,13 +8866,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Josue), - .party = {.NoItemDefaultMoves = sParty_Josue}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Josue), }, [TRAINER_CAMRON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -10355,13 +8878,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Camron), - .party = {.NoItemDefaultMoves = sParty_Camron}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Camron), }, [TRAINER_CORY_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -10369,13 +8890,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cory1), - .party = {.NoItemDefaultMoves = sParty_Cory1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cory1), }, [TRAINER_CAROLINA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -10383,13 +8902,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Carolina), - .party = {.NoItemDefaultMoves = sParty_Carolina}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Carolina), }, [TRAINER_ELIJAH] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -10397,13 +8914,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Elijah), - .party = {.NoItemDefaultMoves = sParty_Elijah}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Elijah), }, [TRAINER_CELIA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PICNICKER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, @@ -10411,13 +8926,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Celia), - .party = {.NoItemDefaultMoves = sParty_Celia}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Celia), }, [TRAINER_BRYAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -10425,13 +8938,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Bryan), - .party = {.NoItemDefaultMoves = sParty_Bryan}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Bryan), }, [TRAINER_BRANDEN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_CAMPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, @@ -10439,13 +8950,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Branden), - .party = {.NoItemDefaultMoves = sParty_Branden}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Branden), }, [TRAINER_BRYANT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -10453,13 +8962,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Bryant), - .party = {.NoItemDefaultMoves = sParty_Bryant}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Bryant), }, [TRAINER_SHAYLA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_AROMA_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, @@ -10467,13 +8974,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Shayla), - .party = {.NoItemDefaultMoves = sParty_Shayla}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Shayla), }, [TRAINER_KYRA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, @@ -10481,13 +8986,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Kyra), - .party = {.NoItemDefaultMoves = sParty_Kyra}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Kyra), }, [TRAINER_JAIDEN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_NINJA_BOY, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, @@ -10495,13 +8998,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Jaiden), - .party = {.NoItemDefaultMoves = sParty_Jaiden}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Jaiden), }, [TRAINER_ALIX] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -10509,13 +9010,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Alix), - .party = {.NoItemDefaultMoves = sParty_Alix}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Alix), }, [TRAINER_HELENE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -10523,13 +9022,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Helene), - .party = {.NoItemDefaultMoves = sParty_Helene}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Helene), }, [TRAINER_MARLENE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -10537,13 +9034,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Marlene), - .party = {.NoItemDefaultMoves = sParty_Marlene}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Marlene), }, [TRAINER_DEVAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -10551,13 +9046,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Devan), - .party = {.NoItemDefaultMoves = sParty_Devan}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Devan), }, [TRAINER_JOHNSON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_YOUNGSTER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, @@ -10565,13 +9058,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Johnson), - .party = {.NoItemDefaultMoves = sParty_Johnson}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Johnson), }, [TRAINER_MELINA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, @@ -10579,13 +9070,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Melina), - .party = {.NoItemDefaultMoves = sParty_Melina}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Melina), }, [TRAINER_BRANDI] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -10593,13 +9082,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Brandi), - .party = {.NoItemDefaultMoves = sParty_Brandi}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Brandi), }, [TRAINER_AISHA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -10607,13 +9094,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Aisha), - .party = {.NoItemDefaultMoves = sParty_Aisha}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Aisha), }, [TRAINER_MAKAYLA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_EXPERT, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, @@ -10621,13 +9106,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Makayla), - .party = {.NoItemDefaultMoves = sParty_Makayla}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Makayla), }, [TRAINER_FABIAN] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -10635,13 +9118,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Fabian), - .party = {.NoItemDefaultMoves = sParty_Fabian}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Fabian), }, [TRAINER_DAYTON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_KINDLER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, @@ -10649,13 +9130,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Dayton), - .party = {.NoItemDefaultMoves = sParty_Dayton}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Dayton), }, [TRAINER_RACHEL] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PARASOL_LADY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, @@ -10663,13 +9142,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Rachel), - .party = {.NoItemDefaultMoves = sParty_Rachel}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Rachel), }, [TRAINER_LEONEL] = { - .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_M, @@ -10677,13 +9154,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Leonel), - .party = {.NoItemCustomMoves = sParty_Leonel}, + .party = NO_ITEM_CUSTOM_MOVES(sParty_Leonel), }, [TRAINER_CALLIE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BATTLE_GIRL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, @@ -10691,13 +9166,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Callie), - .party = {.NoItemDefaultMoves = sParty_Callie}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Callie), }, [TRAINER_CALE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BUG_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, @@ -10705,13 +9178,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cale), - .party = {.NoItemDefaultMoves = sParty_Cale}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cale), }, [TRAINER_MYLES] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, @@ -10719,13 +9190,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Myles), - .party = {.NoItemDefaultMoves = sParty_Myles}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Myles), }, [TRAINER_PAT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, @@ -10733,13 +9202,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Pat), - .party = {.NoItemDefaultMoves = sParty_Pat}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Pat), }, [TRAINER_CRISTIN_1] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -10747,13 +9214,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Cristin1), - .party = {.NoItemDefaultMoves = sParty_Cristin1}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cristin1), }, [TRAINER_MAY_RUSTBORO_TREECKO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -10761,13 +9226,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayRustboroTreecko), - .party = {.NoItemDefaultMoves = sParty_MayRustboroTreecko}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRustboroTreecko), }, [TRAINER_MAY_RUSTBORO_TORCHIC] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, @@ -10775,13 +9238,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_MayRustboroTorchic), - .party = {.NoItemDefaultMoves = sParty_MayRustboroTorchic}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRustboroTorchic), }, [TRAINER_ROXANNE_2] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_ROXANNE, @@ -10789,13 +9250,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Roxanne2), - .party = {.ItemCustomMoves = sParty_Roxanne2}, + .party = ITEM_CUSTOM_MOVES(sParty_Roxanne2), }, [TRAINER_ROXANNE_3] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_ROXANNE, @@ -10803,13 +9262,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Roxanne3), - .party = {.ItemCustomMoves = sParty_Roxanne3}, + .party = ITEM_CUSTOM_MOVES(sParty_Roxanne3), }, [TRAINER_ROXANNE_4] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_ROXANNE, @@ -10817,13 +9274,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Roxanne4), - .party = {.ItemCustomMoves = sParty_Roxanne4}, + .party = ITEM_CUSTOM_MOVES(sParty_Roxanne4), }, [TRAINER_ROXANNE_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_ROXANNE, @@ -10831,13 +9286,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Roxanne5), - .party = {.ItemCustomMoves = sParty_Roxanne5}, + .party = ITEM_CUSTOM_MOVES(sParty_Roxanne5), }, [TRAINER_BRAWLY_2] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_BRAWLY, @@ -10845,13 +9298,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brawly2), - .party = {.ItemCustomMoves = sParty_Brawly2}, + .party = ITEM_CUSTOM_MOVES(sParty_Brawly2), }, [TRAINER_BRAWLY_3] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_BRAWLY, @@ -10859,13 +9310,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brawly3), - .party = {.ItemCustomMoves = sParty_Brawly3}, + .party = ITEM_CUSTOM_MOVES(sParty_Brawly3), }, [TRAINER_BRAWLY_4] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_BRAWLY, @@ -10873,13 +9322,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brawly4), - .party = {.ItemCustomMoves = sParty_Brawly4}, + .party = ITEM_CUSTOM_MOVES(sParty_Brawly4), }, [TRAINER_BRAWLY_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_BRAWLY, @@ -10887,13 +9334,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brawly5), - .party = {.ItemCustomMoves = sParty_Brawly5}, + .party = ITEM_CUSTOM_MOVES(sParty_Brawly5), }, [TRAINER_WATTSON_2] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_WATTSON, @@ -10901,13 +9346,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wattson2), - .party = {.ItemCustomMoves = sParty_Wattson2}, + .party = ITEM_CUSTOM_MOVES(sParty_Wattson2), }, [TRAINER_WATTSON_3] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_WATTSON, @@ -10915,13 +9358,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wattson3), - .party = {.ItemCustomMoves = sParty_Wattson3}, + .party = ITEM_CUSTOM_MOVES(sParty_Wattson3), }, [TRAINER_WATTSON_4] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_WATTSON, @@ -10929,13 +9370,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wattson4), - .party = {.ItemCustomMoves = sParty_Wattson4}, + .party = ITEM_CUSTOM_MOVES(sParty_Wattson4), }, [TRAINER_WATTSON_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_WATTSON, @@ -10943,13 +9382,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wattson5), - .party = {.ItemCustomMoves = sParty_Wattson5}, + .party = ITEM_CUSTOM_MOVES(sParty_Wattson5), }, [TRAINER_FLANNERY_2] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_FLANNERY, @@ -10957,13 +9394,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Flannery2), - .party = {.ItemCustomMoves = sParty_Flannery2}, + .party = ITEM_CUSTOM_MOVES(sParty_Flannery2), }, [TRAINER_FLANNERY_3] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_FLANNERY, @@ -10971,13 +9406,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Flannery3), - .party = {.ItemCustomMoves = sParty_Flannery3}, + .party = ITEM_CUSTOM_MOVES(sParty_Flannery3), }, [TRAINER_FLANNERY_4] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_FLANNERY, @@ -10985,13 +9418,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Flannery4), - .party = {.ItemCustomMoves = sParty_Flannery4}, + .party = ITEM_CUSTOM_MOVES(sParty_Flannery4), }, [TRAINER_FLANNERY_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_FLANNERY, @@ -10999,13 +9430,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Flannery5), - .party = {.ItemCustomMoves = sParty_Flannery5}, + .party = ITEM_CUSTOM_MOVES(sParty_Flannery5), }, [TRAINER_NORMAN_2] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_NORMAN, @@ -11013,13 +9442,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Norman2), - .party = {.ItemCustomMoves = sParty_Norman2}, + .party = ITEM_CUSTOM_MOVES(sParty_Norman2), }, [TRAINER_NORMAN_3] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_NORMAN, @@ -11027,13 +9454,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Norman3), - .party = {.ItemCustomMoves = sParty_Norman3}, + .party = ITEM_CUSTOM_MOVES(sParty_Norman3), }, [TRAINER_NORMAN_4] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_NORMAN, @@ -11041,13 +9466,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Norman4), - .party = {.ItemCustomMoves = sParty_Norman4}, + .party = ITEM_CUSTOM_MOVES(sParty_Norman4), }, [TRAINER_NORMAN_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_NORMAN, @@ -11055,13 +9478,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Norman5), - .party = {.ItemCustomMoves = sParty_Norman5}, + .party = ITEM_CUSTOM_MOVES(sParty_Norman5), }, [TRAINER_WINONA_2] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_WINONA, @@ -11069,13 +9490,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, - .partySize = ARRAY_COUNT(sParty_Winona2), - .party = {.ItemCustomMoves = sParty_Winona2}, + .party = ITEM_CUSTOM_MOVES(sParty_Winona2), }, [TRAINER_WINONA_3] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_WINONA, @@ -11083,13 +9502,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, - .partySize = ARRAY_COUNT(sParty_Winona3), - .party = {.ItemCustomMoves = sParty_Winona3}, + .party = ITEM_CUSTOM_MOVES(sParty_Winona3), }, [TRAINER_WINONA_4] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_WINONA, @@ -11097,13 +9514,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, - .partySize = ARRAY_COUNT(sParty_Winona4), - .party = {.ItemCustomMoves = sParty_Winona4}, + .party = ITEM_CUSTOM_MOVES(sParty_Winona4), }, [TRAINER_WINONA_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_WINONA, @@ -11111,13 +9526,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, - .partySize = ARRAY_COUNT(sParty_Winona5), - .party = {.ItemCustomMoves = sParty_Winona5}, + .party = ITEM_CUSTOM_MOVES(sParty_Winona5), }, [TRAINER_TATE_AND_LIZA_2] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_TATE_AND_LIZA, @@ -11125,13 +9538,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_TateAndLiza2), - .party = {.ItemCustomMoves = sParty_TateAndLiza2}, + .party = ITEM_CUSTOM_MOVES(sParty_TateAndLiza2), }, [TRAINER_TATE_AND_LIZA_3] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_TATE_AND_LIZA, @@ -11139,13 +9550,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_TateAndLiza3), - .party = {.ItemCustomMoves = sParty_TateAndLiza3}, + .party = ITEM_CUSTOM_MOVES(sParty_TateAndLiza3), }, [TRAINER_TATE_AND_LIZA_4] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_TATE_AND_LIZA, @@ -11153,13 +9562,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_TateAndLiza4), - .party = {.ItemCustomMoves = sParty_TateAndLiza4}, + .party = ITEM_CUSTOM_MOVES(sParty_TateAndLiza4), }, [TRAINER_TATE_AND_LIZA_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LEADER_TATE_AND_LIZA, @@ -11167,13 +9574,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_TateAndLiza5), - .party = {.ItemCustomMoves = sParty_TateAndLiza5}, + .party = ITEM_CUSTOM_MOVES(sParty_TateAndLiza5), }, [TRAINER_JUAN_2] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_JUAN, @@ -11181,13 +9586,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Juan2), - .party = {.ItemCustomMoves = sParty_Juan2}, + .party = ITEM_CUSTOM_MOVES(sParty_Juan2), }, [TRAINER_JUAN_3] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_JUAN, @@ -11195,13 +9598,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Juan3), - .party = {.ItemCustomMoves = sParty_Juan3}, + .party = ITEM_CUSTOM_MOVES(sParty_Juan3), }, [TRAINER_JUAN_4] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_JUAN, @@ -11209,13 +9610,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Juan4), - .party = {.ItemCustomMoves = sParty_Juan4}, + .party = ITEM_CUSTOM_MOVES(sParty_Juan4), }, [TRAINER_JUAN_5] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_LEADER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEADER_JUAN, @@ -11223,13 +9622,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Juan5), - .party = {.ItemCustomMoves = sParty_Juan5}, + .party = ITEM_CUSTOM_MOVES(sParty_Juan5), }, [TRAINER_ANGELO] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_BUG_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, @@ -11237,13 +9634,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Angelo), - .party = {.ItemCustomMoves = sParty_Angelo}, + .party = ITEM_CUSTOM_MOVES(sParty_Angelo), }, [TRAINER_DARIUS] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BIRD_KEEPER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, @@ -11251,13 +9646,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Darius), - .party = {.NoItemDefaultMoves = sParty_Darius}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Darius), }, [TRAINER_STEVEN] = { - .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_STEVEN, @@ -11265,13 +9658,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Steven), - .party = {.ItemCustomMoves = sParty_Steven}, + .party = ITEM_CUSTOM_MOVES(sParty_Steven), }, [TRAINER_ANABEL] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SALON_MAIDEN, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SALON_MAIDEN_ANABEL, @@ -11279,13 +9670,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Anabel), - .party = {.NoItemDefaultMoves = sParty_Anabel}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Anabel), }, [TRAINER_TUCKER] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_DOME_ACE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_DOME_ACE_TUCKER, @@ -11293,13 +9682,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Tucker), - .party = {.NoItemDefaultMoves = sParty_Tucker}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Tucker), }, [TRAINER_SPENSER] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PALACE_MAVEN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_PALACE_MAVEN_SPENSER, @@ -11307,13 +9694,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Spenser), - .party = {.NoItemDefaultMoves = sParty_Spenser}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Spenser), }, [TRAINER_GRETA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_ARENA_TYCOON, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_ARENA_TYCOON_GRETA, @@ -11321,13 +9706,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Greta), - .party = {.NoItemDefaultMoves = sParty_Greta}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Greta), }, [TRAINER_NOLAND] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_FACTORY_HEAD, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_FACTORY_HEAD_NOLAND, @@ -11335,13 +9718,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Noland), - .party = {.NoItemDefaultMoves = sParty_Noland}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Noland), }, [TRAINER_LUCY] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PIKE_QUEEN, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_PIKE_QUEEN_LUCY, @@ -11349,13 +9730,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Lucy), - .party = {.NoItemDefaultMoves = sParty_Lucy}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Lucy), }, [TRAINER_BRANDON] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PYRAMID_KING, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_PYRAMID_KING_BRANDON, @@ -11363,13 +9742,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brandon), - .party = {.NoItemDefaultMoves = sParty_Brandon}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Brandon), }, [TRAINER_ANDRES_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -11377,13 +9754,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Andres2), - .party = {.NoItemDefaultMoves = sParty_Andres2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Andres2), }, [TRAINER_ANDRES_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -11391,13 +9766,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Andres3), - .party = {.NoItemDefaultMoves = sParty_Andres3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Andres3), }, [TRAINER_ANDRES_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -11405,13 +9778,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Andres4), - .party = {.NoItemDefaultMoves = sParty_Andres4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Andres4), }, [TRAINER_ANDRES_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RUIN_MANIAC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, @@ -11419,13 +9790,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Andres5), - .party = {.NoItemDefaultMoves = sParty_Andres5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Andres5), }, [TRAINER_CORY_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -11433,13 +9802,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cory2), - .party = {.NoItemDefaultMoves = sParty_Cory2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cory2), }, [TRAINER_CORY_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -11447,13 +9814,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cory3), - .party = {.NoItemDefaultMoves = sParty_Cory3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cory3), }, [TRAINER_CORY_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -11461,13 +9826,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cory4), - .party = {.NoItemDefaultMoves = sParty_Cory4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cory4), }, [TRAINER_CORY_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_SAILOR, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, @@ -11475,13 +9838,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Cory5), - .party = {.NoItemDefaultMoves = sParty_Cory5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cory5), }, [TRAINER_PABLO_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -11489,13 +9850,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Pablo2), - .party = {.NoItemDefaultMoves = sParty_Pablo2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Pablo2), }, [TRAINER_PABLO_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -11503,13 +9862,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Pablo3), - .party = {.NoItemDefaultMoves = sParty_Pablo3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Pablo3), }, [TRAINER_PABLO_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -11517,13 +9874,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Pablo4), - .party = {.NoItemDefaultMoves = sParty_Pablo4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Pablo4), }, [TRAINER_PABLO_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_TRIATHLETE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, @@ -11531,13 +9886,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Pablo5), - .party = {.NoItemDefaultMoves = sParty_Pablo5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Pablo5), }, [TRAINER_KOJI_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -11545,13 +9898,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Koji2), - .party = {.NoItemDefaultMoves = sParty_Koji2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Koji2), }, [TRAINER_KOJI_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -11559,13 +9910,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Koji3), - .party = {.NoItemDefaultMoves = sParty_Koji3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Koji3), }, [TRAINER_KOJI_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -11573,13 +9922,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Koji4), - .party = {.NoItemDefaultMoves = sParty_Koji4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Koji4), }, [TRAINER_KOJI_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BLACK_BELT, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, @@ -11587,13 +9934,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Koji5), - .party = {.NoItemDefaultMoves = sParty_Koji5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Koji5), }, [TRAINER_CRISTIN_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -11601,13 +9946,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Cristin2), - .party = {.NoItemDefaultMoves = sParty_Cristin2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cristin2), }, [TRAINER_CRISTIN_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -11615,13 +9958,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Cristin3), - .party = {.NoItemDefaultMoves = sParty_Cristin3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cristin3), }, [TRAINER_CRISTIN_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -11629,13 +9970,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Cristin4), - .party = {.NoItemDefaultMoves = sParty_Cristin4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cristin4), }, [TRAINER_CRISTIN_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_COOLTRAINER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOLTRAINER_F, @@ -11643,13 +9982,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Cristin5), - .party = {.NoItemDefaultMoves = sParty_Cristin5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Cristin5), }, [TRAINER_FERNANDO_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -11657,13 +9994,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Fernando2), - .party = {.NoItemDefaultMoves = sParty_Fernando2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Fernando2), }, [TRAINER_FERNANDO_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -11671,13 +10006,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Fernando3), - .party = {.NoItemDefaultMoves = sParty_Fernando3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Fernando3), }, [TRAINER_FERNANDO_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -11685,13 +10018,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Fernando4), - .party = {.NoItemDefaultMoves = sParty_Fernando4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Fernando4), }, [TRAINER_FERNANDO_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GUITARIST, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, @@ -11699,13 +10030,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Fernando5), - .party = {.NoItemDefaultMoves = sParty_Fernando5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Fernando5), }, [TRAINER_SAWYER_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -11713,13 +10042,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Sawyer2), - .party = {.NoItemDefaultMoves = sParty_Sawyer2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sawyer2), }, [TRAINER_SAWYER_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -11727,13 +10054,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Sawyer3), - .party = {.NoItemDefaultMoves = sParty_Sawyer3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sawyer3), }, [TRAINER_SAWYER_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -11741,13 +10066,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Sawyer4), - .party = {.NoItemDefaultMoves = sParty_Sawyer4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sawyer4), }, [TRAINER_SAWYER_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_HIKER, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, @@ -11755,13 +10078,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Sawyer5), - .party = {.NoItemDefaultMoves = sParty_Sawyer5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Sawyer5), }, [TRAINER_GABRIELLE_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, @@ -11769,13 +10090,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Gabrielle2), - .party = {.NoItemDefaultMoves = sParty_Gabrielle2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Gabrielle2), }, [TRAINER_GABRIELLE_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, @@ -11783,13 +10102,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Gabrielle3), - .party = {.NoItemDefaultMoves = sParty_Gabrielle3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Gabrielle3), }, [TRAINER_GABRIELLE_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, @@ -11797,13 +10114,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Gabrielle4), - .party = {.NoItemDefaultMoves = sParty_Gabrielle4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Gabrielle4), }, [TRAINER_GABRIELLE_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_BREEDER, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, @@ -11811,13 +10126,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Gabrielle5), - .party = {.NoItemDefaultMoves = sParty_Gabrielle5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Gabrielle5), }, [TRAINER_THALIA_2] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -11825,13 +10138,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Thalia2), - .party = {.NoItemDefaultMoves = sParty_Thalia2}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Thalia2), }, [TRAINER_THALIA_3] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -11839,13 +10150,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Thalia3), - .party = {.NoItemDefaultMoves = sParty_Thalia3}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Thalia3), }, [TRAINER_THALIA_4] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -11853,13 +10162,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Thalia4), - .party = {.NoItemDefaultMoves = sParty_Thalia4}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Thalia4), }, [TRAINER_THALIA_5] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_BEAUTY, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, @@ -11867,13 +10174,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Thalia5), - .party = {.NoItemDefaultMoves = sParty_Thalia5}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Thalia5), }, [TRAINER_MARIELA] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, @@ -11881,13 +10186,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Mariela), - .party = {.NoItemDefaultMoves = sParty_Mariela}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Mariela), }, [TRAINER_ALVARO] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PSYCHIC, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, @@ -11895,13 +10198,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Alvaro), - .party = {.NoItemDefaultMoves = sParty_Alvaro}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Alvaro), }, [TRAINER_EVERETT] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_GENTLEMAN, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, @@ -11909,13 +10210,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Everett), - .party = {.NoItemDefaultMoves = sParty_Everett}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Everett), }, [TRAINER_RED] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RED, @@ -11923,13 +10222,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Red), - .party = {.NoItemDefaultMoves = sParty_Red}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Red), }, [TRAINER_LEAF] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RIVAL, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEAF, @@ -11937,13 +10234,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Leaf), - .party = {.NoItemDefaultMoves = sParty_Leaf}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_Leaf), }, [TRAINER_BRENDAN_PLACEHOLDER] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RS_PROTAG, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RS_BRENDAN, @@ -11951,13 +10246,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_BrendanLinkPlaceholder), - .party = {.NoItemDefaultMoves = sParty_BrendanLinkPlaceholder}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanLinkPlaceholder), }, [TRAINER_MAY_PLACEHOLDER] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_RS_PROTAG, .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RS_MAY, @@ -11965,7 +10258,6 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_MayLinkPlaceholder), - .party = {.NoItemDefaultMoves = sParty_MayLinkPlaceholder}, + .party = NO_ITEM_DEFAULT_MOVES(sParty_MayLinkPlaceholder), }, }; diff --git a/src/daycare.c b/src/daycare.c index ebbab762ad..19d5edbb2c 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1258,7 +1258,7 @@ static void Task_HandleDaycareLevelMenuInput(u8 taskId) ClearStdWindowAndFrame(gTasks[taskId].tWindowId, TRUE); RemoveWindow(gTasks[taskId].tWindowId); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } else if (JOY_NEW(B_BUTTON)) { @@ -1267,7 +1267,7 @@ static void Task_HandleDaycareLevelMenuInput(u8 taskId) ClearStdWindowAndFrame(gTasks[taskId].tWindowId, TRUE); RemoveWindow(gTasks[taskId].tWindowId); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } } diff --git a/src/decompress.c b/src/decompress.c index 92c840a638..6e94a54759 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -46,7 +46,7 @@ void LoadCompressedSpritePalette(const struct CompressedSpritePalette *src) struct SpritePalette dest; LZ77UnCompWram(src->data, gDecompressionBuffer); - dest.data = (void*) gDecompressionBuffer; + dest.data = (void *) gDecompressionBuffer; dest.tag = src->tag; LoadSpritePalette(&dest); } @@ -61,7 +61,7 @@ void LoadCompressedSpritePaletteOverrideBuffer(const struct CompressedSpritePale LoadSpritePalette(&dest); } -void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffer, s32 species) +void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void *buffer, s32 species) { if (species > NUM_SPECIES) LZ77UnCompWram(gMonFrontPicTable[0].data, buffer); @@ -263,12 +263,12 @@ u32 GetDecompressedDataSize(const u32 *ptr) return (ptr8[3] << 16) | (ptr8[2] << 8) | (ptr8[1]); } -bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet* src) +bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet *src) { struct SpriteSheet dest; - void* buffer; + void *buffer; - buffer = AllocZeroed(*((u32*)(&src->data[0])) >> 8); + buffer = AllocZeroed(*((u32 *)(&src->data[0])) >> 8); LZ77UnCompWram(src->data, buffer); dest.data = buffer; @@ -283,9 +283,9 @@ bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet* src bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette *src) { struct SpritePalette dest; - void* buffer; + void *buffer; - buffer = AllocZeroed(*((u32*)(&src->data[0])) >> 8); + buffer = AllocZeroed(*((u32 *)(&src->data[0])) >> 8); LZ77UnCompWram(src->data, buffer); dest.data = buffer; dest.tag = src->tag; @@ -295,7 +295,7 @@ bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette return FALSE; } -void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buffer, s32 species) // a copy of DecompressPicFromTable +void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void *buffer, s32 species) // a copy of DecompressPicFromTable { if (species > NUM_SPECIES) LZ77UnCompWram(gMonFrontPicTable[0].data, buffer); @@ -342,7 +342,7 @@ void HandleLoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *d LoadSpecialPokePic_2(src, dest, species, personality, isFrontPic); } -void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void* buffer, s32 species) +void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *buffer, s32 species) { if (species > NUM_SPECIES) LZ77UnCompWram(gMonFrontPicTable[0].data, buffer); diff --git a/src/decoration.c b/src/decoration.c index 547b05acf4..cd3e185da3 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -563,7 +563,7 @@ static void AddDecorationActionsWindow(void) static void InitDecorationActionsWindow(void) { sDecorationActionsCursorPos = 0; - ScriptContext2_Enable(); + LockPlayerFieldControls(); AddDecorationActionsWindow(); PrintCurMainMenuDescription(); } @@ -615,7 +615,7 @@ static void HandleDecorationActionsMenuInput(u8 taskId) static void PrintCurMainMenuDescription(void) { FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, sSecretBasePCMenuItemDescriptions[sDecorationActionsCursorPos], 0, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sSecretBasePCMenuItemDescriptions[sDecorationActionsCursorPos], 0, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); } static void DecorationMenuAction_Decorate(u8 taskId) @@ -643,7 +643,7 @@ static void DecorationMenuAction_PutAway(u8 taskId) else { RemoveDecorationWindow(WINDOW_MAIN_MENU); - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].tState = 0; gTasks[taskId].func = Task_ContinuePuttingAwayDecorations; @@ -670,7 +670,7 @@ static void DecorationMenuAction_Cancel(u8 taskId) RemoveDecorationWindow(WINDOW_MAIN_MENU); if (!sDecorationContext.isPlayerRoom) { - ScriptContext1_SetupScript(SecretBase_EventScript_PCCancel); + ScriptContext_SetupScript(SecretBase_EventScript_PCCancel); DestroyTask(taskId); } else @@ -688,7 +688,7 @@ static void ReturnToDecorationActionsAfterInvalidSelection(u8 taskId) static void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId) { LoadPalette(sDecorationMenuPalette, 0xd0, 0x20); - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); RemoveDecorationWindow(WINDOW_MAIN_MENU); InitDecorationCategoriesWindow(taskId); } @@ -810,7 +810,7 @@ static void SelectDecorationCategory(u8 taskId) static void ReturnToDecorationCategoriesAfterInvalidSelection(u8 taskId) { - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); InitDecorationCategoriesWindow(taskId); } @@ -834,7 +834,7 @@ static void ReturnToActionsMenuFromCategories(u8 taskId) void ShowDecorationCategoriesWindow(u8 taskId) { LoadPalette(sDecorationMenuPalette, 0xd0, 0x20); - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); gTasks[taskId].tDecorationMenuCommand = DECOR_MENU_TRADE; sCurDecorationCategory = DECORCAT_DESK; InitDecorationCategoriesWindow(taskId); @@ -1000,7 +1000,7 @@ static void HandleDecorationItemsMenuInput(u8 taskId) DestroyListMenuTask(tMenuTaskId, &sDecorationsScrollOffset, &sDecorationsCursorPos); RemoveDecorationWindow(WINDOW_DECORATION_CATEGORIES); RemoveDecorationItemsOtherWindows(); - free(sDecorationItemsMenu); + Free(sDecorationItemsMenu); sSecretBasePC_SelectedDecorationActions[tDecorationMenuCommand][0](taskId); break; } @@ -1141,7 +1141,7 @@ static void Task_ShowDecorationItemsWindow(u8 taskId) static void DontTossDecoration(u8 taskId) { - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); gTasks[taskId].func = Task_ShowDecorationItemsWindow; } @@ -1149,7 +1149,7 @@ static void ReturnToDecorationItemsAfterInvalidSelection(u8 taskId) { if (JOY_NEW(A_BUTTON | B_BUTTON)) { - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); AddDecorationWindow(WINDOW_DECORATION_CATEGORIES); ShowDecorationItemsWindow(taskId); } @@ -1161,7 +1161,7 @@ static void DecorationItemsMenuAction_Cancel(u8 taskId) RemoveDecorationItemsScrollIndicators(); RemoveDecorationItemsOtherWindows(); DestroyListMenuTask(tMenuTaskId, NULL, NULL); - free(sDecorationItemsMenu); + Free(sDecorationItemsMenu); ReinitDecorationCategoriesWindow(taskId); } @@ -1211,7 +1211,7 @@ static void ShowDecorationOnMap_(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, { x = mapX + i; attributes = GetMetatileAttributesById(NUM_TILES_IN_PRIMARY + gDecorations[decoration].tiles[j * decWidth + i]); - if (MetatileBehavior_IsSecretBaseImpassable(attributes & METATILE_ATTR_BEHAVIOR_MASK) == TRUE + if (MetatileBehavior_IsSecretBaseImpassable(attributes & METATILE_ATTR_BEHAVIOR_MASK) == TRUE || (gDecorations[decoration].permission != DECORPERM_PASS_FLOOR && (attributes >> METATILE_ATTR_LAYER_SHIFT) != METATILE_LAYER_TYPE_NORMAL)) impassableFlag = MAPGRID_COLLISION_MASK; else @@ -1482,7 +1482,7 @@ static bool8 IsSecretBaseTrainerSpot(u8 behaviorAt, u16 layerType) // Can't place decoration where the player was standing when they interacted with the PC static bool8 IsntInitialPosition(u8 taskId, s16 x, s16 y, u16 layerType) { - if (x == gTasks[taskId].tInitialX + MAP_OFFSET + if (x == gTasks[taskId].tInitialX + MAP_OFFSET && y == gTasks[taskId].tInitialY + MAP_OFFSET && layerType != METATILE_LAYER_TYPE_NORMAL) return FALSE; @@ -1640,7 +1640,7 @@ static void PlaceDecorationPrompt(u8 taskId) static void PlaceDecoration(u8 taskId) { - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); PlaceDecoration_(taskId); if (gDecorations[gCurDecorationItems[gCurDecorationIndex]].permission != DECORPERM_SPRITE) { @@ -1650,7 +1650,7 @@ static void PlaceDecoration(u8 taskId) { sCurDecorMapX = gTasks[taskId].tCursorX - MAP_OFFSET; sCurDecorMapY = gTasks[taskId].tCursorY - MAP_OFFSET; - ScriptContext1_SetupScript(SecretBase_EventScript_SetDecoration); + ScriptContext_SetupScript(SecretBase_EventScript_SetDecoration); } gSprites[sDecor_CameraSpriteObjectIdx1].y += 2; @@ -1706,7 +1706,7 @@ static void CancelDecoratingPrompt(u8 taskId) static void CancelDecorating(u8 taskId) { - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); CancelDecorating_(taskId); } @@ -1722,7 +1722,7 @@ static void c1_overworld_prev_quest(u8 taskId) switch (gTasks[taskId].tState) { case 0: - ScriptContext2_Enable(); + LockPlayerFieldControls(); if (!gPaletteFade.active) { WarpToInitialPosition(taskId); @@ -1749,11 +1749,11 @@ static void Task_InitDecorationItemsWindow(u8 taskId) tState++; break; case 1: - ScriptContext1_SetupScript(SecretBase_EventScript_InitDecorations); + ScriptContext_SetupScript(SecretBase_EventScript_InitDecorations); tState++; break; case 2: - ScriptContext2_Enable(); + LockPlayerFieldControls(); tState++; break; case 3: @@ -1767,7 +1767,7 @@ static void FieldCB_InitDecorationItemsWindow(void) { u8 taskId; - ScriptContext2_Enable(); + LockPlayerFieldControls(); FadeInFromBlack(); taskId = CreateTask(Task_InitDecorationItemsWindow, 8); AddDecorationItemsWindow(taskId); @@ -1891,7 +1891,7 @@ static void Task_SelectLocation(u8 taskId) static void ContinueDecorating(u8 taskId) { - ClearDialogWindowAndFrame(0, 1); + ClearDialogWindowAndFrame(0, TRUE); gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0; gTasks[taskId].tButton = 0; gTasks[taskId].func = Task_SelectLocation; @@ -1985,7 +1985,7 @@ static void SetDecorSelectionBoxOamAttributes(u8 decorShape) sDecorSelectorOam.y = 0; sDecorSelectorOam.affineMode = ST_OAM_AFFINE_OFF; sDecorSelectorOam.objMode = ST_OAM_OBJ_NORMAL; - sDecorSelectorOam.mosaic = 0; + sDecorSelectorOam.mosaic = FALSE; sDecorSelectorOam.bpp = ST_OAM_4BPP; sDecorSelectorOam.shape = sDecorationMovementInfo[decorShape].shape; sDecorSelectorOam.x = 0; @@ -2060,13 +2060,13 @@ static u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 palette.data = GetDecorationIconPicOrPalette(decor, 1); palette.tag = paletteTag; LoadCompressedSpritePalette(&palette); - template = malloc(sizeof(struct SpriteTemplate)); + template = Alloc(sizeof(struct SpriteTemplate)); *template = gItemIconSpriteTemplate; template->tileTag = tilesTag; template->paletteTag = paletteTag; spriteId = CreateSprite(template, 0, 0, 0); FreeItemIconTemporaryBuffers(); - free(template); + Free(template); return spriteId; } @@ -2105,7 +2105,7 @@ static u8 AddDecorationIconObjectFromObjectEvent(u16 tilesTag, u16 paletteTag, u template->tileTag = tilesTag; template->paletteTag = paletteTag; spriteId = CreateSprite(template, 0, 0, 0); - free(template); + Free(template); } else { @@ -2246,13 +2246,13 @@ static void Task_PutAwayDecoration(u8 taskId) case 1: if (!gPaletteFade.active) { DrawWholeMapView(); - ScriptContext1_SetupScript(SecretBase_EventScript_PutAwayDecoration); - ClearDialogWindowAndFrame(0, 1); + ScriptContext_SetupScript(SecretBase_EventScript_PutAwayDecoration); + ClearDialogWindowAndFrame(0, TRUE); gTasks[taskId].tState = 2; } break; case 2: - ScriptContext2_Enable(); + LockPlayerFieldControls(); IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); FadeInFromBlack(); gTasks[taskId].tState = 3; @@ -2331,7 +2331,7 @@ static void Task_ContinuePuttingAwayDecorations(u8 taskId) static void ContinuePuttingAwayDecorations(u8 taskId) { - ClearDialogWindowAndFrame(0, 1); + ClearDialogWindowAndFrame(0, TRUE); gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0; gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE; gSprites[sDecor_CameraSpriteObjectIdx1].callback = InitializeCameraSprite1; @@ -2604,7 +2604,7 @@ static void StopPuttingAwayDecorationsPrompt(u8 taskId) static void StopPuttingAwayDecorations(u8 taskId) { - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); StopPuttingAwayDecorations_(taskId); } @@ -2645,11 +2645,11 @@ static void Task_ReinitializeDecorationMenuHandler(u8 taskId) tState++; break; case 1: - ScriptContext1_SetupScript(SecretBase_EventScript_InitDecorations); + ScriptContext_SetupScript(SecretBase_EventScript_InitDecorations); tState++; break; case 2: - ScriptContext2_Enable(); + LockPlayerFieldControls(); tState++; break; case 3: diff --git a/src/digit_obj_util.c b/src/digit_obj_util.c index f887dafb95..f68f0446c3 100644 --- a/src/digit_obj_util.c +++ b/src/digit_obj_util.c @@ -138,7 +138,7 @@ bool32 DigitObjUtil_CreatePrinter(u32 id, s32 num, const struct DigitObjUtilTemp { struct CompressedSpriteSheet compSpriteSheet; - compSpriteSheet = *(struct CompressedSpriteSheet*)(template->spriteSheet); + compSpriteSheet = *(struct CompressedSpriteSheet *)(template->spriteSheet); compSpriteSheet.size = GetDecompressedDataSize(template->spriteSheet->data); sOamWork->array[id].tileStart = LoadCompressedSpriteSheet(&compSpriteSheet); } diff --git a/src/diploma.c b/src/diploma.c index ce31578dcb..a30d715546 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -73,7 +73,7 @@ void CB2_ShowDiploma(void) ResetPaletteFade(); FreeAllSpritePalettes(); LoadPalette(sDiplomaPalettes, 0, 64); - sDiplomaTilemapPtr = malloc(0x1000); + sDiplomaTilemapPtr = Alloc(0x1000); InitDiplomaBg(); InitDiplomaWindow(); ResetTempTileDataBuffers(); diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index b87fe3092b..a3710e04fb 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -323,7 +323,7 @@ static bool32 TryPickBerry(u8, u8, u8); static void UpdateFallingBerries(void); static void UpdateGame_Leader(void); static void UpdateGame_Member(void); -static void GetActiveBerryColumns(u8, u8*, u8*); +static void GetActiveBerryColumns(u8, u8 *, u8 *); static bool32 AllPlayersReadyToStart(void); static void ResetReadyToStart(void); static bool32 ReadyToEndGame_Leader(void); @@ -665,7 +665,7 @@ void StartDodrioBerryPicking(u16 partyId, void (*exitCallback)(void)) { sExitingGame = FALSE; - if (gReceivedRemoteLinkPlayers != 0 && (sGame = AllocZeroed(sizeof(*sGame)))) + if (gReceivedRemoteLinkPlayers && (sGame = AllocZeroed(sizeof(*sGame)))) { ResetTasksAndSprites(); InitDodrioGame(sGame); @@ -775,7 +775,7 @@ static void Task_StartDodrioGame(u8 taskId) case 3: if (IsLinkTaskFinished()) { - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); @@ -1795,7 +1795,7 @@ static void VBlankCB_DodrioGame(void) ProcessSpriteCopyRequests(); } -static void InitMonInfo(struct DodrioGame_MonInfo * monInfo, struct Pokemon * mon) +static void InitMonInfo(struct DodrioGame_MonInfo * monInfo, struct Pokemon *mon) { monInfo->isShiny = IsMonShiny(mon); } @@ -2988,7 +2988,7 @@ static void Task_ShowDodrioBerryPickingRecords(u8 taskId) { RemoveWindow(tWindowId); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } break; } @@ -3608,7 +3608,7 @@ static const struct OamData sOamData_Dodrio = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -3626,7 +3626,7 @@ static const struct OamData sOamData_16x16_Priority0 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -3643,7 +3643,7 @@ static const struct OamData sOamData_Berry = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -3660,7 +3660,7 @@ static const struct OamData sOamData_Cloud = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -5025,7 +5025,7 @@ static void Msg_SavingDontTurnOff(void) { case 0: DrawDialogueFrame(0, FALSE); - AddTextPrinterParameterized2(0, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); sGfx->state++; break; case 1: diff --git a/src/easy_chat.c b/src/easy_chat.c index 2bbd16cb27..054c65c0fb 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -932,7 +932,7 @@ static const struct OamData sOamData_TriangleCursor = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -944,7 +944,8 @@ static const struct OamData sOamData_TriangleCursor = { .affineParam = 0, }; -static const struct SpriteTemplate sSpriteTemplate_TriangleCursor = { +static const struct SpriteTemplate sSpriteTemplate_TriangleCursor = +{ .tileTag = PALTAG_TRIANGLE_CURSOR, .paletteTag = GFXTAG_TRIANGLE_CURSOR, .oam = &sOamData_TriangleCursor, @@ -958,7 +959,7 @@ static const struct OamData sOamData_RectangleCursor = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -1005,7 +1006,8 @@ static const union AnimCmd *const sAnims_RectangleCursor[] = { [RECTCURSOR_ANIM_ON_LETTER] = sAnim_RectangleCursor_OnLetter, }; -static const struct SpriteTemplate sSpriteTemplate_RectangleCursor = { +static const struct SpriteTemplate sSpriteTemplate_RectangleCursor = +{ .tileTag = GFXTAG_RECTANGLE_CURSOR, .paletteTag = PALTAG_RECTANGLE_CURSOR, .oam = &sOamData_RectangleCursor, @@ -1019,7 +1021,7 @@ static const struct OamData sOamData_ModeWindow = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -1075,7 +1077,8 @@ static const union AnimCmd *const sAnims_ModeWindow[] = { [MODEWINDOW_ANIM_TRANSITION] = sAnim_ModeWindow_Transition, }; -static const struct SpriteTemplate sSpriteTemplate_ModeWindow = { +static const struct SpriteTemplate sSpriteTemplate_ModeWindow = +{ .tileTag = GFXTAG_MODE_WINDOW, .paletteTag = PALTAG_MISC_UI, .oam = &sOamData_ModeWindow, @@ -1089,7 +1092,7 @@ static const struct OamData sOamData_ButtonWindow = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -1101,7 +1104,8 @@ static const struct OamData sOamData_ButtonWindow = { .affineParam = 0, }; -static const struct SpriteTemplate sSpriteTemplate_ButtonWindow = { +static const struct SpriteTemplate sSpriteTemplate_ButtonWindow = +{ .tileTag = GFXTAG_BUTTON_WINDOW, .paletteTag = PALTAG_MISC_UI, .oam = &sOamData_ButtonWindow, @@ -1115,7 +1119,7 @@ static const struct OamData sOamData_StartSelectButton = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, @@ -1131,7 +1135,7 @@ static const struct OamData sOamData_ScrollIndicator = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -1159,7 +1163,8 @@ static const union AnimCmd *const sAnims_TwoFrame[] = { sAnim_Frame1, }; -static const struct SpriteTemplate sSpriteTemplate_StartSelectButton = { +static const struct SpriteTemplate sSpriteTemplate_StartSelectButton = +{ .tileTag = GFXTAG_START_SELECT_BUTTONS, .paletteTag = PALTAG_MISC_UI, .oam = &sOamData_StartSelectButton, @@ -1169,7 +1174,8 @@ static const struct SpriteTemplate sSpriteTemplate_StartSelectButton = { .callback = SpriteCallbackDummy, }; -static const struct SpriteTemplate sSpriteTemplate_ScrollIndicator = { +static const struct SpriteTemplate sSpriteTemplate_ScrollIndicator = +{ .tileTag = GFXTAG_SCROLL_INDICATOR, .paletteTag = PALTAG_MISC_UI, .oam = &sOamData_ScrollIndicator, @@ -1621,7 +1627,7 @@ static bool8 InitEasyChatScreenStruct(u8 type, u16 *words, u8 displayedPersonTyp u8 templateId; int i; - sEasyChatScreen = malloc(sizeof(*sEasyChatScreen)); + sEasyChatScreen = Alloc(sizeof(*sEasyChatScreen)); if (sEasyChatScreen == NULL) return FALSE; diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 5dd83c9b1f..d714fb9505 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -69,14 +69,14 @@ extern const u8 gText_NicknameHatchPrompt[]; static void Task_EggHatch(u8); static void CB2_LoadEggHatch(void); static void CB2_EggHatch(void); -static void SpriteCB_Egg_Shake1(struct Sprite*); -static void SpriteCB_Egg_Shake2(struct Sprite*); -static void SpriteCB_Egg_Shake3(struct Sprite*); -static void SpriteCB_Egg_WaitHatch(struct Sprite*); -static void SpriteCB_Egg_Hatch(struct Sprite*); -static void SpriteCB_Egg_Reveal(struct Sprite*); -static void SpriteCB_EggShard(struct Sprite*); -static void EggHatchPrintMessage(u8, u8*, u8, u8, u8); +static void SpriteCB_Egg_Shake1(struct Sprite *); +static void SpriteCB_Egg_Shake2(struct Sprite *); +static void SpriteCB_Egg_Shake3(struct Sprite *); +static void SpriteCB_Egg_WaitHatch(struct Sprite *); +static void SpriteCB_Egg_Hatch(struct Sprite *); +static void SpriteCB_Egg_Reveal(struct Sprite *); +static void SpriteCB_EggShard(struct Sprite *); +static void EggHatchPrintMessage(u8, u8 *, u8, u8, u8); static void CreateRandomEggShardSprite(void); static void CreateEggShardSprite(u8, u8, s16, s16, s16, u8); @@ -91,7 +91,7 @@ static const struct OamData sOamData_Egg = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -178,7 +178,7 @@ static const struct OamData sOamData_EggShard = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -363,7 +363,7 @@ static void AddHatchedMonToParty(u8 id) u16 ball; u16 metLevel; u8 metLocation; - struct Pokemon* mon = &gPlayerParty[id]; + struct Pokemon *mon = &gPlayerParty[id]; CreateHatchedMon(mon, &gEnemyParty[0]); SetMonData(mon, MON_DATA_IS_EGG, &isEgg); @@ -420,11 +420,11 @@ bool8 CheckDaycareMonReceivedMail(void) return _CheckDaycareMonReceivedMail(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004); } -static u8 EggHatchCreateMonSprite(u8 useAlt, u8 state, u8 partyId, u16* speciesLoc) +static u8 EggHatchCreateMonSprite(u8 useAlt, u8 state, u8 partyId, u16 *speciesLoc) { u8 position = 0; u8 spriteId = 0; - struct Pokemon* mon = NULL; + struct Pokemon *mon = NULL; if (useAlt == FALSE) { @@ -471,7 +471,7 @@ static void VBlankCB_EggHatch(void) void EggHatch(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); CreateTask(Task_EggHatch, 10); FadeScreen(FADE_TO_BLACK, 0); } @@ -728,7 +728,7 @@ static void CB2_EggHatch(void) #define sSinIdx data[1] #define sDelayTimer data[2] -static void SpriteCB_Egg_Shake1(struct Sprite* sprite) +static void SpriteCB_Egg_Shake1(struct Sprite *sprite) { if (++sprite->sTimer > 20) { @@ -750,7 +750,7 @@ static void SpriteCB_Egg_Shake1(struct Sprite* sprite) } } -static void SpriteCB_Egg_Shake2(struct Sprite* sprite) +static void SpriteCB_Egg_Shake2(struct Sprite *sprite) { if (++sprite->sDelayTimer > 30) { @@ -775,7 +775,7 @@ static void SpriteCB_Egg_Shake2(struct Sprite* sprite) } } -static void SpriteCB_Egg_Shake3(struct Sprite* sprite) +static void SpriteCB_Egg_Shake3(struct Sprite *sprite) { if (++sprite->sDelayTimer > 30) { @@ -813,7 +813,7 @@ static void SpriteCB_Egg_Shake3(struct Sprite* sprite) } } -static void SpriteCB_Egg_WaitHatch(struct Sprite* sprite) +static void SpriteCB_Egg_WaitHatch(struct Sprite *sprite) { if (++sprite->sTimer > 50) { @@ -822,7 +822,7 @@ static void SpriteCB_Egg_WaitHatch(struct Sprite* sprite) } } -static void SpriteCB_Egg_Hatch(struct Sprite* sprite) +static void SpriteCB_Egg_Hatch(struct Sprite *sprite) { s16 i; @@ -849,7 +849,7 @@ static void SpriteCB_Egg_Hatch(struct Sprite* sprite) } } -static void SpriteCB_Egg_Reveal(struct Sprite* sprite) +static void SpriteCB_Egg_Reveal(struct Sprite *sprite) { if (sprite->sTimer == 0) { @@ -877,7 +877,7 @@ static void SpriteCB_Egg_Reveal(struct Sprite* sprite) #define sDeltaX data[4] #define sDeltaY data[5] -static void SpriteCB_EggShard(struct Sprite* sprite) +static void SpriteCB_EggShard(struct Sprite *sprite) { sprite->sDeltaX += sprite->sVelocX; sprite->sDeltaY += sprite->sVelocY; @@ -914,7 +914,7 @@ static void CreateEggShardSprite(u8 x, u8 y, s16 velocityX, s16 velocityY, s16 a StartSpriteAnim(&gSprites[spriteId], spriteAnimIndex); } -static void EggHatchPrintMessage(u8 windowId, u8* string, u8 x, u8 y, u8 speed) +static void EggHatchPrintMessage(u8 windowId, u8 *string, u8 x, u8 y, u8 speed) { FillWindowPixelBuffer(windowId, PIXEL_FILL(15)); sEggHatchData->textColor[0] = 0; diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index cf3ca16c31..894ad00123 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -15,7 +15,8 @@ #include "constants/items.h" #include "constants/trainer_hill.h" -STATIC_ASSERT(sizeof(struct TrainerHillChallenge) <= SECTOR_DATA_SIZE, TrainerHillChallengeFreeSpace); +// Save data using TryWriteSpecialSaveSector is allowed to exceed SECTOR_DATA_SIZE (up to the counter field) +STATIC_ASSERT(sizeof(struct TrainerHillChallenge) <= SECTOR_COUNTER_OFFSET, TrainerHillChallengeFreeSpace); struct SendRecvMgr { diff --git a/src/ereader_screen.c b/src/ereader_screen.c index a22b85babd..b6bf7133a0 100755 --- a/src/ereader_screen.c +++ b/src/ereader_screen.c @@ -112,7 +112,7 @@ static bool32 ValidateEReaderConnection(void) REG_IME = 0; *(u64 *)handshakes = *(u64 *)gLink.handshakeBuffer; REG_IME = backupIME; - + // Validate that we are player 1, the EReader is player 2, // and that players 3 and 4 are empty. if (handshakes[0] == SLAVE_HANDSHAKE && handshakes[1] == EREADER_HANDSHAKE @@ -154,8 +154,8 @@ enum { static u32 TryReceiveCard(u8 *state, u16 *timer) { - if (*state >= RECV_STATE_EXCHANGE - && *state <= RECV_STATE_WAIT_DISCONNECT + if (*state >= RECV_STATE_EXCHANGE + && *state <= RECV_STATE_WAIT_DISCONNECT && HasLinkErrorOccurred()) { // Return error status if an error occurs @@ -397,8 +397,8 @@ static void Task_EReader(u8 taskId) break; case ER_STATE_CONNECTING: AddTextPrinterToWindow1(gJPText_Connecting); - // XXX: This (u32*) cast is discarding the const qualifier from gMultiBootProgram_EReader_Start - EReader_Load(&gEReaderData, gMultiBootProgram_EReader_End - gMultiBootProgram_EReader_Start, (u32*)gMultiBootProgram_EReader_Start); + // XXX: This (u32 *) cast is discarding the const qualifier from gMultiBootProgram_EReader_Start + EReader_Load(&gEReaderData, gMultiBootProgram_EReader_End - gMultiBootProgram_EReader_Start, (u32 *)gMultiBootProgram_EReader_Start); data->state = ER_STATE_TRANSFER; break; case ER_STATE_TRANSFER: diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 90e713e638..1e8668d55c 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -93,33 +93,33 @@ static bool8 IsMetatileDirectionallyImpassable(struct ObjectEvent *, s16, s16, u static bool8 DoesObjectCollideWithObjectAt(struct ObjectEvent *, s16, s16); static void UpdateObjectEventOffscreen(struct ObjectEvent *, struct Sprite *); static void UpdateObjectEventSpriteVisibility(struct ObjectEvent *, struct Sprite *); -static void ObjectEventUpdateMetatileBehaviors(struct ObjectEvent*); -static void GetGroundEffectFlags_Reflection(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_TallGrassOnSpawn(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_LongGrassOnSpawn(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_SandHeap(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_ShallowFlowingWater(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_ShortGrass(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_HotSprings(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_TallGrassOnBeginStep(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_LongGrassOnBeginStep(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_Tracks(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_Puddle(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_Ripple(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_Seaweed(struct ObjectEvent*, u32*); -static void GetGroundEffectFlags_JumpLanding(struct ObjectEvent*, u32*); -static u8 ObjectEventGetNearbyReflectionType(struct ObjectEvent*); +static void ObjectEventUpdateMetatileBehaviors(struct ObjectEvent *); +static void GetGroundEffectFlags_Reflection(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_TallGrassOnSpawn(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_LongGrassOnSpawn(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_SandHeap(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_ShallowFlowingWater(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_ShortGrass(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_HotSprings(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_TallGrassOnBeginStep(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_LongGrassOnBeginStep(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_Tracks(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_Puddle(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_Ripple(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_Seaweed(struct ObjectEvent *, u32 *); +static void GetGroundEffectFlags_JumpLanding(struct ObjectEvent *, u32 *); +static u8 ObjectEventGetNearbyReflectionType(struct ObjectEvent *); static u8 GetReflectionTypeByMetatileBehavior(u32); static void InitObjectPriorityByElevation(struct Sprite *, u8); -static void ObjectEventUpdateSubpriority(struct ObjectEvent*, struct Sprite*); -static void DoTracksGroundEffect_None(struct ObjectEvent*, struct Sprite*, u8); -static void DoTracksGroundEffect_Footprints(struct ObjectEvent*, struct Sprite*, u8); -static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent*, struct Sprite*, u8); -static void DoRippleFieldEffect(struct ObjectEvent*, struct Sprite*); -static void DoGroundEffects_OnSpawn(struct ObjectEvent*, struct Sprite*); -static void DoGroundEffects_OnBeginStep(struct ObjectEvent*, struct Sprite*); -static void DoGroundEffects_OnFinishStep(struct ObjectEvent*, struct Sprite*); -static void VirtualObject_UpdateAnim(struct Sprite*); +static void ObjectEventUpdateSubpriority(struct ObjectEvent *, struct Sprite *); +static void DoTracksGroundEffect_None(struct ObjectEvent *, struct Sprite *, u8); +static void DoTracksGroundEffect_Footprints(struct ObjectEvent *, struct Sprite *, u8); +static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent *, struct Sprite *, u8); +static void DoRippleFieldEffect(struct ObjectEvent *, struct Sprite *); +static void DoGroundEffects_OnSpawn(struct ObjectEvent *, struct Sprite *); +static void DoGroundEffects_OnBeginStep(struct ObjectEvent *, struct Sprite *); +static void DoGroundEffects_OnFinishStep(struct ObjectEvent *, struct Sprite *); +static void VirtualObject_UpdateAnim(struct Sprite *); static void ApplyLevitateMovement(u8); static bool8 MovementType_Disguise_Callback(struct ObjectEvent *, struct Sprite *); static bool8 MovementType_Buried_Callback(struct ObjectEvent *, struct Sprite *); @@ -1537,13 +1537,13 @@ u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), struct Sprite *sprite; u8 spriteId; - spriteTemplate = malloc(sizeof(struct SpriteTemplate)); + spriteTemplate = Alloc(sizeof(struct SpriteTemplate)); CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, callback, spriteTemplate, &subspriteTables); if (spriteTemplate->paletteTag != TAG_NONE) LoadObjectEventPalette(spriteTemplate->paletteTag); spriteId = CreateSprite(spriteTemplate, x, y, subpriority); - free(spriteTemplate); + Free(spriteTemplate); if (spriteId != MAX_SPRITES && subspriteTables != NULL) { @@ -1911,9 +1911,9 @@ void SetObjectInvisibility(u8 localId, u8 mapNum, u8 mapGroup, bool8 invisible) void ObjectEventGetLocalIdAndMap(struct ObjectEvent *objectEvent, void *localId, void *mapNum, void *mapGroup) { - *(u8*)(localId) = objectEvent->localId; - *(u8*)(mapNum) = objectEvent->mapNum; - *(u8*)(mapGroup) = objectEvent->mapGroup; + *(u8 *)(localId) = objectEvent->localId; + *(u8 *)(mapNum) = objectEvent->mapNum; + *(u8 *)(mapGroup) = objectEvent->mapGroup; } void AllowObjectAtPosTriggerGroundEffects(s16 x, s16 y) @@ -2623,7 +2623,7 @@ bool8 ObjectEventIsTrainerAndCloseToPlayer(struct ObjectEvent *objectEvent) minY = objY - objectEvent->trainerRange_berryTreeId; maxX = objX + objectEvent->trainerRange_berryTreeId; maxY = objY + objectEvent->trainerRange_berryTreeId; - if (minX > playerX || maxX < playerX + if (minX > playerX || maxX < playerX || minY > playerY || maxY < playerY) return FALSE; @@ -4630,7 +4630,7 @@ u8 GetCollisionAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u32 dir) u8 direction = dir; if (IsCoordOutsideObjectEventMovementRange(objectEvent, x, y)) return COLLISION_OUTSIDE_RANGE; - else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == CONNECTION_INVALID || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction)) + else if (MapGridGetCollisionAt(x, y) || GetMapBorderIdAt(x, y) == CONNECTION_INVALID || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction)) return COLLISION_IMPASSABLE; else if (objectEvent->trackedByCamera && !CanCameraMoveInDirection(direction)) return COLLISION_IMPASSABLE; @@ -4647,7 +4647,7 @@ u8 GetCollisionFlagsAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 d if (IsCoordOutsideObjectEventMovementRange(objectEvent, x, y)) flags |= 1 << (COLLISION_OUTSIDE_RANGE - 1); - if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == CONNECTION_INVALID || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction) || (objectEvent->trackedByCamera && !CanCameraMoveInDirection(direction))) + if (MapGridGetCollisionAt(x, y) || GetMapBorderIdAt(x, y) == CONNECTION_INVALID || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction) || (objectEvent->trackedByCamera && !CanCameraMoveInDirection(direction))) flags |= 1 << (COLLISION_IMPASSABLE - 1); if (IsElevationMismatchAt(objectEvent->currentElevation, x, y)) flags |= 1 << (COLLISION_ELEVATION_MISMATCH - 1); @@ -8746,13 +8746,13 @@ static void DoRippleFieldEffect(struct ObjectEvent *objectEvent, struct Sprite * FieldEffectStart(FLDEFF_RIPPLE); } -u8 (*const gMovementActionFuncs_StoreAndLockAnim[])(struct ObjectEvent *, struct Sprite *) = { - MovementAction_StoreAndLockAnim_Step0, +u8 (*const gMovementActionFuncs_LockAnim[])(struct ObjectEvent *, struct Sprite *) = { + MovementAction_LockAnim_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_FreeAndUnlockAnim[])(struct ObjectEvent *, struct Sprite *) = { - MovementAction_FreeAndUnlockAnim_Step0, +u8 (*const gMovementActionFuncs_UnlockAnim[])(struct ObjectEvent *, struct Sprite *) = { + MovementAction_UnlockAnim_Step0, MovementAction_Finish, }; @@ -8768,36 +8768,36 @@ u8 (*const gMovementActionFuncs_FlyDown[])(struct ObjectEvent *, struct Sprite * MovementAction_Fly_Finish, }; -u8 MovementAction_StoreAndLockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 MovementAction_LockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { bool32 ableToStore = FALSE; if (sLockedAnimObjectEvents == NULL) { sLockedAnimObjectEvents = AllocZeroed(sizeof(struct LockedAnimObjectEvents)); - sLockedAnimObjectEvents->objectEventIds[0] = objectEvent->localId; + sLockedAnimObjectEvents->localIds[0] = objectEvent->localId; sLockedAnimObjectEvents->count = 1; ableToStore = TRUE; } else { u8 i; - u8 firstFreeSlot; - bool32 found; - for (firstFreeSlot = 16, found = FALSE, i = 0; i < 16; i++) + u8 firstFreeSlot = OBJECT_EVENTS_COUNT; + bool32 found = FALSE; + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (firstFreeSlot == 16 && sLockedAnimObjectEvents->objectEventIds[i] == 0) + if (firstFreeSlot == OBJECT_EVENTS_COUNT && sLockedAnimObjectEvents->localIds[i] == 0) firstFreeSlot = i; - if (sLockedAnimObjectEvents->objectEventIds[i] == objectEvent->localId) + if (sLockedAnimObjectEvents->localIds[i] == objectEvent->localId) { found = TRUE; break; } } - if (!found && firstFreeSlot != 16) + if (!found && firstFreeSlot != OBJECT_EVENTS_COUNT) { - sLockedAnimObjectEvents->objectEventIds[firstFreeSlot] = objectEvent->localId; + sLockedAnimObjectEvents->localIds[firstFreeSlot] = objectEvent->localId; sLockedAnimObjectEvents->count++; ableToStore = TRUE; } @@ -8813,7 +8813,7 @@ u8 MovementAction_StoreAndLockAnim_Step0(struct ObjectEvent *objectEvent, struct return TRUE; } -u8 MovementAction_FreeAndUnlockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 MovementAction_UnlockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { bool32 ableToStore; u8 index; @@ -8823,9 +8823,9 @@ u8 MovementAction_FreeAndUnlockAnim_Step0(struct ObjectEvent *objectEvent, struc { ableToStore = FALSE; index = FindLockedObjectEventIndex(objectEvent); - if (index != 16) + if (index != OBJECT_EVENTS_COUNT) { - sLockedAnimObjectEvents->objectEventIds[index] = 0; + sLockedAnimObjectEvents->localIds[index] = 0; sLockedAnimObjectEvents->count--; ableToStore = TRUE; } @@ -8848,7 +8848,7 @@ u8 FindLockedObjectEventIndex(struct ObjectEvent *objectEvent) for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (sLockedAnimObjectEvents->objectEventIds[i] == objectEvent->localId) + if (sLockedAnimObjectEvents->localIds[i] == objectEvent->localId) return i; } return OBJECT_EVENTS_COUNT; diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c index a6b558195b..a86f16201f 100644 --- a/src/evolution_graphics.c +++ b/src/evolution_graphics.c @@ -10,7 +10,7 @@ #include "palette.h" #include "constants/rgb.h" -static void SpriteCB_Sparkle_Dummy(struct Sprite* sprite); +static void SpriteCB_Sparkle_Dummy(struct Sprite *sprite); static void Task_Sparkles_SpiralUpward_Init(u8 taskId); static void Task_Sparkles_SpiralUpward(u8 taskId); @@ -58,7 +58,7 @@ static const struct OamData sOamData_EvoSparkle = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -127,7 +127,7 @@ static void SetEvoSparklesMatrices(void) #define sTrigIdx data[6] #define sTimer data[7] -static void SpriteCB_Sparkle_SpiralUpward(struct Sprite* sprite) +static void SpriteCB_Sparkle_SpiralUpward(struct Sprite *sprite) { if (sprite->y > 8) { @@ -167,7 +167,7 @@ static void CreateSparkle_SpiralUpward(u8 trigIdx) } } -static void SpriteCB_Sparkle_ArcDown(struct Sprite* sprite) +static void SpriteCB_Sparkle_ArcDown(struct Sprite *sprite) { if (sprite->y < 88) { @@ -196,7 +196,7 @@ static void CreateSparkle_ArcDown(u8 trigIdx) } } -static void SpriteCB_Sparkle_CircleInward(struct Sprite* sprite) +static void SpriteCB_Sparkle_CircleInward(struct Sprite *sprite) { if (sprite->sAmplitude > 8) { @@ -225,7 +225,7 @@ static void CreateSparkle_CircleInward(u8 trigIdx, u8 speed) } } -static void SpriteCB_Sparkle_Spray(struct Sprite* sprite) +static void SpriteCB_Sparkle_Spray(struct Sprite *sprite) { if (!(sprite->sTimer & 3)) sprite->y++; @@ -492,7 +492,7 @@ static void Task_Sparkles_SprayAndFlashTrade(u8 taskId) #undef tTimer #undef tSpecies -static void SpriteCB_EvolutionMonSprite(struct Sprite* sprite) +static void SpriteCB_EvolutionMonSprite(struct Sprite *sprite) { } diff --git a/src/evolution_scene.c b/src/evolution_scene.c index eb458d39d4..2c4e225c1b 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -170,7 +170,7 @@ static void CB2_BeginEvolutionScene(void) static void Task_BeginEvolutionScene(u8 taskId) { - struct Pokemon* mon = NULL; + struct Pokemon *mon = NULL; switch (gTasks[taskId].tState) { case 0: @@ -196,7 +196,7 @@ static void Task_BeginEvolutionScene(u8 taskId) } } -void BeginEvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u8 partyId) +void BeginEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u8 partyId) { u8 taskId = CreateTask(Task_BeginEvolutionScene, 0); gTasks[taskId].tState = 0; @@ -206,17 +206,17 @@ void BeginEvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopE SetMainCallback2(CB2_BeginEvolutionScene); } -void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u8 partyId) +void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u8 partyId) { u8 name[20]; u16 currSpecies; u32 trainerId, personality; const struct CompressedSpritePalette* pokePal; - u8 ID; + u8 id; SetHBlankCallback(NULL); SetVBlankCallback(NULL); - CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + CpuFill32(0, (void *)(VRAM), VRAM_SIZE); SetGpuReg(REG_OFFSET_MOSAIC, 0); SetGpuReg(REG_OFFSET_WIN0H, 0); @@ -267,11 +267,11 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u SetMultiuseSpriteTemplateToPokemon(currSpecies, B_POSITION_OPPONENT_LEFT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; - sEvoStructPtr->preEvoSpriteId = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); + sEvoStructPtr->preEvoSpriteId = id = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); - gSprites[ID].callback = SpriteCallbackDummy_2; - gSprites[ID].oam.paletteNum = 1; - gSprites[ID].invisible = TRUE; + gSprites[id].callback = SpriteCallbackDummy_2; + gSprites[id].oam.paletteNum = 1; + gSprites[id].invisible = TRUE; // postEvo sprite DecompressPicFromTable_2(&gMonFrontPicTable[postEvoSpecies], @@ -282,21 +282,21 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_RIGHT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; - sEvoStructPtr->postEvoSpriteId = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); - gSprites[ID].callback = SpriteCallbackDummy_2; - gSprites[ID].oam.paletteNum = 2; - gSprites[ID].invisible = TRUE; + sEvoStructPtr->postEvoSpriteId = id = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); + gSprites[id].callback = SpriteCallbackDummy_2; + gSprites[id].oam.paletteNum = 2; + gSprites[id].invisible = TRUE; LoadEvoSparkleSpriteAndPal(); - sEvoStructPtr->evoTaskId = ID = CreateTask(Task_EvolutionScene, 0); - gTasks[ID].tState = 0; - gTasks[ID].tPreEvoSpecies = currSpecies; - gTasks[ID].tPostEvoSpecies = postEvoSpecies; - gTasks[ID].tCanStop = canStopEvo; - gTasks[ID].tLearnsFirstMove = TRUE; - gTasks[ID].tEvoWasStopped = FALSE; - gTasks[ID].tPartyId = partyId; + sEvoStructPtr->evoTaskId = id = CreateTask(Task_EvolutionScene, 0); + gTasks[id].tState = 0; + gTasks[id].tPreEvoSpecies = currSpecies; + gTasks[id].tPostEvoSpecies = postEvoSpecies; + gTasks[id].tCanStop = canStopEvo; + gTasks[id].tLearnsFirstMove = TRUE; + gTasks[id].tEvoWasStopped = FALSE; + gTasks[id].tPartyId = partyId; memcpy(&sEvoStructPtr->savedPalette, &gPlttBufferUnfaded[0x20], sizeof(sEvoStructPtr->savedPalette)); @@ -310,11 +310,11 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u static void CB2_EvolutionSceneLoadGraphics(void) { - u8 ID; + u8 id; const struct CompressedSpritePalette* pokePal; u16 postEvoSpecies; u32 trainerId, personality; - struct Pokemon* mon = &gPlayerParty[gTasks[sEvoStructPtr->evoTaskId].tPartyId]; + struct Pokemon *mon = &gPlayerParty[gTasks[sEvoStructPtr->evoTaskId].tPartyId]; postEvoSpecies = gTasks[sEvoStructPtr->evoTaskId].tPostEvoSpecies; trainerId = GetMonData(mon, MON_DATA_OT_ID); @@ -322,7 +322,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) SetHBlankCallback(NULL); SetVBlankCallback(NULL); - CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + CpuFill32(0, (void *)(VRAM), VRAM_SIZE); SetGpuReg(REG_OFFSET_MOSAIC, 0); SetGpuReg(REG_OFFSET_WIN0H, 0); @@ -360,10 +360,10 @@ static void CB2_EvolutionSceneLoadGraphics(void) SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_RIGHT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; - sEvoStructPtr->postEvoSpriteId = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); + sEvoStructPtr->postEvoSpriteId = id = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); - gSprites[ID].callback = SpriteCallbackDummy_2; - gSprites[ID].oam.paletteNum = 2; + gSprites[id].callback = SpriteCallbackDummy_2; + gSprites[id].oam.paletteNum = 2; SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP); @@ -381,7 +381,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) static void CB2_TradeEvolutionSceneLoadGraphics(void) { - struct Pokemon* mon = &gPlayerParty[gTasks[sEvoStructPtr->evoTaskId].tPartyId]; + struct Pokemon *mon = &gPlayerParty[gTasks[sEvoStructPtr->evoTaskId].tPartyId]; u16 postEvoSpecies = gTasks[sEvoStructPtr->evoTaskId].tPostEvoSpecies; switch (gMain.state) @@ -410,7 +410,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) gMain.state++; break; case 2: - InitTradeBg(); + LoadTradeAnimGfx(); gMain.state++; break; case 3: @@ -433,14 +433,14 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) break; case 5: { - u8 ID; + u8 id; SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_LEFT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; - sEvoStructPtr->postEvoSpriteId = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); + sEvoStructPtr->postEvoSpriteId = id = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); - gSprites[ID].callback = SpriteCallbackDummy_2; - gSprites[ID].oam.paletteNum = 2; + gSprites[id].callback = SpriteCallbackDummy_2; + gSprites[id].oam.paletteNum = 2; gMain.state++; LinkTradeDrawWindow(); } @@ -451,7 +451,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } - BlendPalettes(PALETTES_ALL, 0x10, 0); + BlendPalettes(PALETTES_ALL, 0x10, RGB_BLACK); gMain.state++; break; case 7: @@ -465,13 +465,13 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) } } -void TradeEvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, u8 preEvoSpriteId, u8 partyId) +void TradeEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, u8 preEvoSpriteId, u8 partyId) { u8 name[20]; u16 currSpecies; u32 trainerId, personality; const struct CompressedSpritePalette* pokePal; - u8 ID; + u8 id; GetMonData(mon, MON_DATA_NICKNAME, name); StringCopy_Nickname(gStringVar1, name); @@ -496,21 +496,21 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, u8 preEvoSprit SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_LEFT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; - sEvoStructPtr->postEvoSpriteId = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); + sEvoStructPtr->postEvoSpriteId = id = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); - gSprites[ID].callback = SpriteCallbackDummy_2; - gSprites[ID].oam.paletteNum = 2; - gSprites[ID].invisible = TRUE; + gSprites[id].callback = SpriteCallbackDummy_2; + gSprites[id].oam.paletteNum = 2; + gSprites[id].invisible = TRUE; LoadEvoSparkleSpriteAndPal(); - sEvoStructPtr->evoTaskId = ID = CreateTask(Task_TradeEvolutionScene, 0); - gTasks[ID].tState = 0; - gTasks[ID].tPreEvoSpecies = currSpecies; - gTasks[ID].tPostEvoSpecies = postEvoSpecies; - gTasks[ID].tLearnsFirstMove = TRUE; - gTasks[ID].tEvoWasStopped = FALSE; - gTasks[ID].tPartyId = partyId; + sEvoStructPtr->evoTaskId = id = CreateTask(Task_TradeEvolutionScene, 0); + gTasks[id].tState = 0; + gTasks[id].tPreEvoSpecies = currSpecies; + gTasks[id].tPostEvoSpecies = postEvoSpecies; + gTasks[id].tLearnsFirstMove = TRUE; + gTasks[id].tEvoWasStopped = FALSE; + gTasks[id].tPartyId = partyId; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -521,7 +521,7 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, u8 preEvoSprit gBattle_BG3_X = 256; gBattle_BG3_Y = 0; - gTextFlags.useAlternateDownArrow = 1; + gTextFlags.useAlternateDownArrow = TRUE; SetVBlankCallback(VBlankCB_TradeEvolutionScene); SetMainCallback2(CB2_TradeEvolutionSceneUpdate); @@ -545,13 +545,13 @@ static void CB2_TradeEvolutionSceneUpdate(void) RunTasks(); } -static void CreateShedinja(u16 preEvoSpecies, struct Pokemon* mon) +static void CreateShedinja(u16 preEvoSpecies, struct Pokemon *mon) { u32 data = 0; if (gEvolutionTable[preEvoSpecies][0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < PARTY_SIZE) { s32 i; - struct Pokemon* shedinja = &gPlayerParty[gPlayerPartyCount]; + struct Pokemon *shedinja = &gPlayerParty[gPlayerPartyCount]; CopyMon(&gPlayerParty[gPlayerPartyCount], mon, sizeof(struct Pokemon)); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_SPECIES, &gEvolutionTable[preEvoSpecies][1].targetSpecies); @@ -632,7 +632,7 @@ enum { static void Task_EvolutionScene(u8 taskId) { u32 var; - struct Pokemon* mon = &gPlayerParty[gTasks[taskId].tPartyId]; + struct Pokemon *mon = &gPlayerParty[gTasks[taskId].tPartyId]; // check if B Button was held, so the evolution gets stopped if (gMain.heldKeys == B_BUTTON @@ -761,7 +761,7 @@ static void Task_EvolutionScene(u8 taskId) BattlePutTextOnWindow(gStringVar4, B_WIN_MSG); PlayBGM(MUS_EVOLVED); gTasks[taskId].tState++; - SetMonData(mon, MON_DATA_SPECIES, (void*)(&gTasks[taskId].tPostEvoSpecies)); + SetMonData(mon, MON_DATA_SPECIES, (void *)(&gTasks[taskId].tPostEvoSpecies)); CalculateMonStats(mon); EvolutionRenameMon(mon, gTasks[taskId].tPreEvoSpecies, gTasks[taskId].tPostEvoSpecies); GetSetPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskId].tPostEvoSpecies), FLAG_SET_SEEN); @@ -839,9 +839,9 @@ static void Task_EvolutionScene(u8 taskId) case EVOSTATE_CANCEL_MSG: if (EvoScene_IsMonAnimFinished(sEvoStructPtr->preEvoSpriteId)) { - if (gTasks[taskId].tEvoWasStopped) + if (gTasks[taskId].tEvoWasStopped) // FRLG auto cancellation StringExpandPlaceholders(gStringVar4, gText_EllipsisQuestionMark); - else // Fire Red leftover probably + else StringExpandPlaceholders(gStringVar4, gText_PkmnStoppedEvolving); BattlePutTextOnWindow(gStringVar4, B_WIN_MSG); @@ -899,7 +899,7 @@ static void Task_EvolutionScene(u8 taskId) case MVSTATE_PRINT_YES_NO: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); + HandleBattleWindow(YESNOBOX_X_Y, 0); BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gTasks[taskId].tLearnMoveState++; sEvoCursorPos = 0; @@ -928,7 +928,7 @@ static void Task_EvolutionScene(u8 taskId) } if (JOY_NEW(A_BUTTON)) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); PlaySE(SE_SELECT); if (sEvoCursorPos != 0) @@ -947,7 +947,7 @@ static void Task_EvolutionScene(u8 taskId) if (JOY_NEW(B_BUTTON)) { // Equivalent to selecting NO - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); PlaySE(SE_SELECT); gTasks[taskId].tLearnMoveState = gTasks[taskId].tLearnMoveNoState; } @@ -1081,7 +1081,7 @@ enum { static void Task_TradeEvolutionScene(u8 taskId) { u32 var = 0; - struct Pokemon* mon = &gPlayerParty[gTasks[taskId].tPartyId]; + struct Pokemon *mon = &gPlayerParty[gTasks[taskId].tPartyId]; switch (gTasks[taskId].tState) { @@ -1223,7 +1223,7 @@ static void Task_TradeEvolutionScene(u8 taskId) { DestroyTask(taskId); FREE_AND_SET_NULL(sEvoStructPtr); - gTextFlags.useAlternateDownArrow = 0; + gTextFlags.useAlternateDownArrow = FALSE; SetMainCallback2(gCB2_AfterEvolution); } break; @@ -1644,7 +1644,7 @@ static void PauseBgPaletteAnim(void) if (taskId != TASK_NONE) gTasks[taskId].tPaused = TRUE; - FillPalette(0, 0xA0, 0x20); + FillPalette(RGB_BLACK, 0xA0, 0x20); } #undef tPaused @@ -1658,7 +1658,7 @@ static void StopBgAnimation(void) if ((taskId = FindTaskIdByFunc(Task_AnimateBg)) != TASK_NONE) DestroyTask(taskId); - FillPalette(0, 0xA0, 0x20); + FillPalette(RGB_BLACK, 0xA0, 0x20); RestoreBgAfterAnim(); } diff --git a/src/faraway_island.c b/src/faraway_island.c index 9ddb66de5c..4f34cf30e6 100755 --- a/src/faraway_island.c +++ b/src/faraway_island.c @@ -10,10 +10,10 @@ #include "constants/metatile_behaviors.h" static u8 GetValidMewMoveDirection(u8); -static bool8 ShouldMewMoveNorth(struct ObjectEvent*, u8); -static bool8 ShouldMewMoveSouth(struct ObjectEvent*, u8); -static bool8 ShouldMewMoveEast(struct ObjectEvent*, u8); -static bool8 ShouldMewMoveWest(struct ObjectEvent*, u8); +static bool8 ShouldMewMoveNorth(struct ObjectEvent *, u8); +static bool8 ShouldMewMoveSouth(struct ObjectEvent *, u8); +static bool8 ShouldMewMoveEast(struct ObjectEvent *, u8); +static bool8 ShouldMewMoveWest(struct ObjectEvent *, u8); static u8 GetRandomMewDirectionCandidate(u8); static bool8 CanMewMoveToCoords(s16, s16); diff --git a/src/field_camera.c b/src/field_camera.c index 95c7ed9522..9b129e6b26 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -404,9 +404,9 @@ void CameraUpdate(void) } gFieldCamera.x += movementSpeedX; - gFieldCamera.x = gFieldCamera.x - 16 * (gFieldCamera.x / 16); + gFieldCamera.x %= 16; gFieldCamera.y += movementSpeedY; - gFieldCamera.y = gFieldCamera.y - 16 * (gFieldCamera.y / 16); + gFieldCamera.y %= 16; if (deltaX != 0 || deltaY != 0) { diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index cdb0db6d14..2ba4c29cd0 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -43,8 +43,8 @@ u8 gSelectedObjectEvent; static void GetPlayerPosition(struct MapPosition *); static void GetInFrontOfPlayerPosition(struct MapPosition *); static u16 GetPlayerCurMetatileBehavior(int); -static bool8 TryStartInteractionScript(struct MapPosition*, u16, u8); -static const u8 *GetInteractionScript(struct MapPosition*, u8, u8); +static bool8 TryStartInteractionScript(struct MapPosition *, u16, u8); +static const u8 *GetInteractionScript(struct MapPosition *, u8, u8); static const u8 *GetInteractedObjectEventScript(struct MapPosition *, u8, u8); static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *, u8, u8); static const u8 *GetInteractedMetatileScript(struct MapPosition *, u8, u8); @@ -233,7 +233,7 @@ static bool8 TryStartInteractionScript(struct MapPosition *position, u16 metatil && script != EventScript_PC) PlaySE(SE_SELECT); - ScriptContext1_SetupScript(script); + ScriptContext_SetupScript(script); return TRUE; } @@ -464,7 +464,7 @@ static bool32 TrySetupDiveDownScript(void) { if (FlagGet(FLAG_BADGE07_GET) && TrySetDiveWarp() == 2) { - ScriptContext1_SetupScript(EventScript_UseDive); + ScriptContext_SetupScript(EventScript_UseDive); return TRUE; } return FALSE; @@ -474,7 +474,7 @@ static bool32 TrySetupDiveEmergeScript(void) { if (FlagGet(FLAG_BADGE07_GET) && gMapHeader.mapType == MAP_TYPE_UNDERWATER && TrySetDiveWarp() == 1) { - ScriptContext1_SetupScript(EventScript_UseDiveUnderwater); + ScriptContext_SetupScript(EventScript_UseDiveUnderwater); return TRUE; } return FALSE; @@ -501,7 +501,7 @@ static bool8 TryStartCoordEventScript(struct MapPosition *position) if (script == NULL) return FALSE; - ScriptContext1_SetupScript(script); + ScriptContext_SetupScript(script); return TRUE; } @@ -511,12 +511,12 @@ static bool8 TryStartMiscWalkingScripts(u16 metatileBehavior) if (MetatileBehavior_IsCrackedFloorHole(metatileBehavior)) { - ScriptContext1_SetupScript(EventScript_FallDownHole); + ScriptContext_SetupScript(EventScript_FallDownHole); return TRUE; } else if (MetatileBehavior_IsBattlePyramidWarp(metatileBehavior)) { - ScriptContext1_SetupScript(BattlePyramid_WarpToNextFloor); + ScriptContext_SetupScript(BattlePyramid_WarpToNextFloor); return TRUE; } else if (MetatileBehavior_IsSecretBaseGlitterMat(metatileBehavior) == TRUE) @@ -548,48 +548,48 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior) { if (UpdatePoisonStepCounter() == TRUE) { - ScriptContext1_SetupScript(EventScript_FieldPoison); + ScriptContext_SetupScript(EventScript_FieldPoison); return TRUE; } if (ShouldEggHatch()) { IncrementGameStat(GAME_STAT_HATCHED_EGGS); - ScriptContext1_SetupScript(EventScript_EggHatch); + ScriptContext_SetupScript(EventScript_EggHatch); return TRUE; } if (AbnormalWeatherHasExpired() == TRUE) { - ScriptContext1_SetupScript(AbnormalWeather_EventScript_EndEventAndCleanup_1); + ScriptContext_SetupScript(AbnormalWeather_EventScript_EndEventAndCleanup_1); return TRUE; } if (ShouldDoBrailleRegicePuzzle() == TRUE) { - ScriptContext1_SetupScript(IslandCave_EventScript_OpenRegiEntrance); + ScriptContext_SetupScript(IslandCave_EventScript_OpenRegiEntrance); return TRUE; } if (ShouldDoWallyCall() == TRUE) { - ScriptContext1_SetupScript(MauvilleCity_EventScript_RegisterWallyCall); + ScriptContext_SetupScript(MauvilleCity_EventScript_RegisterWallyCall); return TRUE; } if (ShouldDoScottFortreeCall() == TRUE) { - ScriptContext1_SetupScript(Route119_EventScript_ScottWonAtFortreeGymCall); + ScriptContext_SetupScript(Route119_EventScript_ScottWonAtFortreeGymCall); return TRUE; } if (ShouldDoScottBattleFrontierCall() == TRUE) { - ScriptContext1_SetupScript(LittlerootTown_ProfessorBirchsLab_EventScript_ScottAboardSSTidalCall); + ScriptContext_SetupScript(LittlerootTown_ProfessorBirchsLab_EventScript_ScottAboardSSTidalCall); return TRUE; } if (ShouldDoRoxanneCall() == TRUE) { - ScriptContext1_SetupScript(RustboroCity_Gym_EventScript_RegisterRoxanne); + ScriptContext_SetupScript(RustboroCity_Gym_EventScript_RegisterRoxanne); return TRUE; } if (ShouldDoRivalRayquazaCall() == TRUE) { - ScriptContext1_SetupScript(MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall); + ScriptContext_SetupScript(MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall); return TRUE; } } @@ -598,7 +598,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior) return TRUE; if (CountSSTidalStep(1) == TRUE) { - ScriptContext1_SetupScript(SSTidalCorridor_EventScript_ReachedStepCount); + ScriptContext_SetupScript(SSTidalCorridor_EventScript_ReachedStepCount); return TRUE; } if (TryStartMatchCall()) @@ -735,7 +735,7 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB } if (MetatileBehavior_IsMtPyreHole(metatileBehavior) == TRUE) { - ScriptContext1_SetupScript(EventScript_FallDownHoleMtPyre); + ScriptContext_SetupScript(EventScript_FallDownHoleMtPyre); return TRUE; } if (MetatileBehavior_IsMossdeepGymWarp(metatileBehavior) == TRUE) @@ -886,7 +886,7 @@ static u8 *TryRunCoordEventScript(struct CoordEvent *coordEvent) } if (coordEvent->trigger == 0) { - ScriptContext2_RunNewScript(coordEvent->script); + RunScriptImmediately(coordEvent->script); return NULL; } if (VarGet(coordEvent->trigger) == (u8)coordEvent->index) diff --git a/src/field_effect.c b/src/field_effect.c index 369239f6b6..1ab45bb25c 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -146,10 +146,10 @@ static void EscapeRopeWarpInEffect_Init(struct Task *); static void EscapeRopeWarpInEffect_Spin(struct Task *); static void Task_TeleportWarpOut(u8); -static void TeleportWarpOutFieldEffect_Init(struct Task*); -static void TeleportWarpOutFieldEffect_SpinGround(struct Task*); -static void TeleportWarpOutFieldEffect_SpinExit(struct Task*); -static void TeleportWarpOutFieldEffect_End(struct Task*); +static void TeleportWarpOutFieldEffect_Init(struct Task *); +static void TeleportWarpOutFieldEffect_SpinGround(struct Task *); +static void TeleportWarpOutFieldEffect_SpinExit(struct Task *); +static void TeleportWarpOutFieldEffect_End(struct Task *); static void FieldCallback_TeleportWarpIn(void); static void Task_TeleportWarpIn(u8); @@ -223,11 +223,11 @@ static void FlyInFieldEffect_WaitBirdReturn(struct Task *); static void FlyInFieldEffect_End(struct Task *); static void Task_DestroyDeoxysRock(u8 taskId); -static void DestroyDeoxysRockEffect_CameraShake(s16*, u8); -static void DestroyDeoxysRockEffect_RockFragments(s16*, u8); -static void DestroyDeoxysRockEffect_WaitAndEnd(s16*, u8); -static void CreateDeoxysRockFragments(struct Sprite*); -static void SpriteCB_DeoxysRockFragment(struct Sprite* sprite); +static void DestroyDeoxysRockEffect_CameraShake(s16 *, u8); +static void DestroyDeoxysRockEffect_RockFragments(s16 *, u8); +static void DestroyDeoxysRockEffect_WaitAndEnd(s16 *, u8); +static void CreateDeoxysRockFragments(struct Sprite *); +static void SpriteCB_DeoxysRockFragment(struct Sprite *sprite); static void Task_MoveDeoxysRock(u8 taskId); @@ -904,7 +904,7 @@ u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority) u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority) { - s32 spriteId = CreateMonPicSprite_HandleDeoxys(species, 0, 0x8000, 1, x, y, 0, gMonPaletteTable[species].tag); + s32 spriteId = CreateMonPicSprite_HandleDeoxys(species, 0, 0x8000, TRUE, x, y, 0, gMonPaletteTable[species].tag); PreservePaletteInWeather(IndexOfSpritePaletteTag(gMonPaletteTable[species].tag) + 0x10); if (spriteId == 0xFFFF) return MAX_SPRITES; @@ -915,7 +915,7 @@ u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority) u8 CreateMonSprite_FieldMove(u16 species, u32 otId, u32 personality, s16 x, s16 y, u8 subpriority) { const struct CompressedSpritePalette *spritePalette = GetMonSpritePalStructFromOtIdPersonality(species, otId, personality); - u16 spriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, 1, x, y, 0, spritePalette->tag); + u16 spriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, x, y, 0, spritePalette->tag); PreservePaletteInWeather(IndexOfSpritePaletteTag(spritePalette->tag) + 0x10); if (spriteId == 0xFFFF) return MAX_SPRITES; @@ -1337,7 +1337,7 @@ static void FieldCallback_UseFly(void) { FadeInFromBlack(); CreateTask(Task_UseFly, 0); - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); gFieldCallback = NULL; } @@ -1378,7 +1378,7 @@ static void FieldCallback_FlyIntoMap(void) { ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], DIR_WEST); } - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); gFieldCallback = NULL; } @@ -1398,7 +1398,7 @@ static void Task_FlyIntoMap(u8 taskId) } if (!FieldEffectActiveListContains(FLDEFF_FLY_IN)) { - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); UnfreezeObjectEvents(); DestroyTask(taskId); } @@ -1417,7 +1417,7 @@ void FieldCB_FallWarpExit(void) { Overworld_PlaySpecialMapMusic(); WarpFadeInScreen(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); CreateTask(Task_FallWarpFieldEffect, 0); gFieldCallback = NULL; @@ -1531,7 +1531,7 @@ static bool8 FallWarpEffect_CameraShake(struct Task *task) static bool8 FallWarpEffect_End(struct Task *task) { gPlayerAvatar.preventStep = FALSE; - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); CameraObjectReset1(); UnfreezeObjectEvents(); InstallCameraPanAheadCallback(); @@ -1683,7 +1683,7 @@ static void FieldCallback_EscalatorWarpIn(void) { Overworld_PlaySpecialMapMusic(); WarpFadeInScreen(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); CreateTask(Task_EscalatorWarpIn, 0); gFieldCallback = NULL; } @@ -1804,7 +1804,7 @@ static bool8 EscalatorWarpIn_End(struct Task *task) if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { CameraObjectReset1(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); ObjectEventSetHeldMovement(objectEvent, GetWalkNormalMovementAction(DIR_EAST)); DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpIn)); } @@ -1832,7 +1832,7 @@ static void Task_UseWaterfall(u8 taskId) static bool8 WaterfallFieldEffect_Init(struct Task *task, struct ObjectEvent *objectEvent) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); gPlayerAvatar.preventStep = TRUE; task->tState++; return FALSE; @@ -1840,7 +1840,7 @@ static bool8 WaterfallFieldEffect_Init(struct Task *task, struct ObjectEvent *ob static bool8 WaterfallFieldEffect_ShowMon(struct Task *task, struct ObjectEvent *objectEvent) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); if (!ObjectEventIsMovementOverridden(objectEvent)) { ObjectEventClearHeldMovementIfFinished(objectEvent); @@ -1880,7 +1880,7 @@ static bool8 WaterfallFieldEffect_ContinueRideOrEnd(struct Task *task, struct Ob return TRUE; } - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); gPlayerAvatar.preventStep = FALSE; DestroyTask(FindTaskIdByFunc(Task_UseWaterfall)); FieldEffectActiveListRemove(FLDEFF_USE_WATERFALL); @@ -1914,7 +1914,7 @@ static bool8 DiveFieldEffect_Init(struct Task *task) static bool8 DiveFieldEffect_ShowMon(struct Task *task) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); gFieldEffectArguments[0] = task->data[15]; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); task->data[0]++; @@ -2052,7 +2052,7 @@ static void FieldCB_LavaridgeGymB1FWarpExit(void) { Overworld_PlaySpecialMapMusic(); WarpFadeInScreen(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); gFieldCallback = NULL; CreateTask(Task_LavaridgeGymB1FWarpExit, 0); } @@ -2105,7 +2105,7 @@ static bool8 LavaridgeGymB1FWarpExitEffect_End(struct Task *task, struct ObjectE if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { gPlayerAvatar.preventStep = FALSE; - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); UnfreezeObjectEvents(); DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarpExit)); } @@ -2229,7 +2229,7 @@ void SpriteCB_AshPuff(struct Sprite *sprite) void StartEscapeRopeFieldEffect(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); CreateTask(Task_EscapeRopeWarpOut, 80); } @@ -2286,7 +2286,7 @@ static void FieldCallback_EscapeRopeWarpIn(void) { Overworld_PlaySpecialMapMusic(); WarpFadeInScreen(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); gFieldCallback = NULL; gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; @@ -2320,7 +2320,7 @@ static void EscapeRopeWarpInEffect_Spin(struct Task *task) if (task->tNumTurns >= 32 && task->tStartDir == GetPlayerFacingDirection()) { objectEvent->invisible = FALSE; - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); UnfreezeObjectEvents(); DestroyTask(FindTaskIdByFunc(Task_EscapeRopeWarpIn)); return; @@ -2360,7 +2360,7 @@ static void Task_TeleportWarpOut(u8 taskId) static void TeleportWarpOutFieldEffect_Init(struct Task *task) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); CameraObjectReset2(); task->data[15] = GetPlayerFacingDirection(); @@ -2440,7 +2440,7 @@ static void FieldCallback_TeleportWarpIn(void) { Overworld_PlaySpecialMapMusic(); WarpFadeInScreen(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); gFieldCallback = NULL; gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; @@ -2527,7 +2527,7 @@ static void TeleportWarpInFieldEffect_SpinGround(struct Task *task) task->data[1] = 8; if ((++task->data[2]) > 4 && task->data[14] == objectEvent->facingDirection) { - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); CameraObjectReset1(); UnfreezeObjectEvents(); DestroyTask(FindTaskIdByFunc(Task_TeleportWarpIn)); @@ -2993,7 +2993,7 @@ static void Task_SurfFieldEffect(u8 taskId) static void SurfFieldEffect_Init(struct Task *task) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING); @@ -3054,7 +3054,7 @@ static void SurfFieldEffect_End(struct Task *task) ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(objectEvent->movementDirection)); SetSurfBlob_BobState(objectEvent->fieldEffectSpriteId, BOB_PLAYER_AND_MON); UnfreezeObjectEvents(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); FieldEffectActiveListRemove(FLDEFF_USE_SURF); DestroyTask(FindTaskIdByFunc(Task_SurfFieldEffect)); } @@ -3088,15 +3088,15 @@ u8 FldEff_RayquazaSpotlight(void) { for (j = 12; j < 18; j++) { - ((u16*)(BG_SCREEN_ADDR(31)))[i * 32 + j] = 0xBFF4 + i * 6 + j + 1; + ((u16 *)(BG_SCREEN_ADDR(31)))[i * 32 + j] = 0xBFF4 + i * 6 + j + 1; } } for (k = 0; k < 90; k++) { for (i = 0; i < 8; i++) { - *(u16*)(BG_CHAR_ADDR(2) + (k + 1) * 32 + i * 4) = (sSpotlight_Gfx[k * 32 + i * 4 + 1] << 8) + sSpotlight_Gfx[k * 32 + i * 4]; - *(u16*)(BG_CHAR_ADDR(2) + (k + 1) * 32 + i * 4 + 2) = (sSpotlight_Gfx[k * 32 + i * 4 + 3] << 8) + sSpotlight_Gfx[k * 32 + i * 4 + 2]; + *(u16 *)(BG_CHAR_ADDR(2) + (k + 1) * 32 + i * 4) = (sSpotlight_Gfx[k * 32 + i * 4 + 1] << 8) + sSpotlight_Gfx[k * 32 + i * 4]; + *(u16 *)(BG_CHAR_ADDR(2) + (k + 1) * 32 + i * 4 + 2) = (sSpotlight_Gfx[k * 32 + i * 4 + 3] << 8) + sSpotlight_Gfx[k * 32 + i * 4 + 2]; } } return spriteId; @@ -3675,7 +3675,7 @@ static void StartEndingDeoxysRockCameraShake(u8 taskId) #undef tEndDelay #undef tEnding -static void (*const sDestroyDeoxysRockEffectFuncs[])(s16*, u8) = { +static void (*const sDestroyDeoxysRockEffectFuncs[])(s16 *, u8) = { DestroyDeoxysRockEffect_CameraShake, DestroyDeoxysRockEffect_RockFragments, DestroyDeoxysRockEffect_WaitAndEnd, @@ -3689,7 +3689,7 @@ static void Task_DestroyDeoxysRock(u8 taskId) sDestroyDeoxysRockEffectFuncs[tState](data, taskId); } -static void DestroyDeoxysRockEffect_CameraShake(s16* data, u8 taskId) +static void DestroyDeoxysRockEffect_CameraShake(s16 *data, u8 taskId) { u8 newTaskId = CreateTask(Task_DeoxysRockCameraShake, 90); PlaySE(SE_THUNDER2); @@ -3697,7 +3697,7 @@ static void DestroyDeoxysRockEffect_CameraShake(s16* data, u8 taskId) tState++; } -static void DestroyDeoxysRockEffect_RockFragments(s16* data, u8 taskId) +static void DestroyDeoxysRockEffect_RockFragments(s16 *data, u8 taskId) { if (++tTimer > 120) { @@ -3713,7 +3713,7 @@ static void DestroyDeoxysRockEffect_RockFragments(s16* data, u8 taskId) } } -static void DestroyDeoxysRockEffect_WaitAndEnd(s16* data, u8 taskId) +static void DestroyDeoxysRockEffect_WaitAndEnd(s16 *data, u8 taskId) { if (!gPaletteFade.active && !FuncIsActiveTask(Task_DeoxysRockCameraShake)) { @@ -3766,7 +3766,8 @@ static const union AnimCmd *const sAnims_DeoxysRockFragment[] = { sAnim_RockFragment_BottomRight, }; -static const struct SpriteTemplate sSpriteTemplate_DeoxysRockFragment = { +static const struct SpriteTemplate sSpriteTemplate_DeoxysRockFragment = +{ .tileTag = TAG_NONE, .paletteTag = 4378, .oam = &sOam_8x8, @@ -3776,7 +3777,7 @@ static const struct SpriteTemplate sSpriteTemplate_DeoxysRockFragment = { .callback = SpriteCB_DeoxysRockFragment }; -static void CreateDeoxysRockFragments(struct Sprite* sprite) +static void CreateDeoxysRockFragments(struct Sprite *sprite) { int i; int xPos = (s16)gTotalCameraPixelOffsetX + sprite->x + sprite->x2; @@ -3794,7 +3795,7 @@ static void CreateDeoxysRockFragments(struct Sprite* sprite) } } -static void SpriteCB_DeoxysRockFragment(struct Sprite* sprite) +static void SpriteCB_DeoxysRockFragment(struct Sprite *sprite) { // 1 case for each fragment, fly off in 4 different directions switch (sprite->data[0]) @@ -3816,11 +3817,11 @@ static void SpriteCB_DeoxysRockFragment(struct Sprite* sprite) sprite->y += 12; break; } - if ((u16)(sprite->x + 4) > DISPLAY_WIDTH + 8 || sprite->y < -4 || sprite->y > DISPLAY_HEIGHT + 4) + if (sprite->x < -4 || sprite->x > DISPLAY_WIDTH + 4 || sprite->y < -4 || sprite->y > DISPLAY_HEIGHT + 4) DestroySprite(sprite); } -bool8 FldEff_MoveDeoxysRock(struct Sprite* sprite) +bool8 FldEff_MoveDeoxysRock(struct Sprite *sprite) { u8 objectEventIdBuffer; if (!TryGetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &objectEventIdBuffer)) diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index c3332c7fc6..5b8123a71d 100755 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -1525,7 +1525,7 @@ void UpdateRayquazaSpotlightEffect(struct Sprite *sprite) { for (j = 12; j < 18; j++) { - ((u16*)(BG_SCREEN_ADDR(31)))[i * 32 + j] = 0xBFF4 + i * 6 + j + 1; + ((u16 *)(BG_SCREEN_ADDR(31)))[i * 32 + j] = 0xBFF4 + i * 6 + j + 1; } } } @@ -1611,7 +1611,7 @@ void UpdateRayquazaSpotlightEffect(struct Sprite *sprite) { for (j = 12; j < 18; j++) { - ((u16*)(BG_SCREEN_ADDR(31)))[i * 32 + j] = 0; + ((u16 *)(BG_SCREEN_ADDR(31)))[i * 32 + j] = 0; } } SetGpuReg(REG_OFFSET_BG0VOFS, 0); diff --git a/src/field_message_box.c b/src/field_message_box.c index 95d0a94c96..64734cc209 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -8,7 +8,7 @@ static EWRAM_DATA u8 sFieldMessageBoxMode = 0; -static void ExpandStringAndStartDrawFieldMessage(const u8*, bool32); +static void ExpandStringAndStartDrawFieldMessage(const u8 *, bool32); static void StartDrawFieldMessage(void); void InitFieldMessageBox(void) @@ -116,7 +116,7 @@ bool8 ShowFieldMessageFromBuffer(void) return TRUE; } -static void ExpandStringAndStartDrawFieldMessage(const u8* str, bool32 allowSkippingDelayWithButtonPress) +static void ExpandStringAndStartDrawFieldMessage(const u8 *str, bool32 allowSkippingDelayWithButtonPress) { StringExpandPlaceholders(gStringVar4, str); AddTextPrinterForMessage(allowSkippingDelayWithButtonPress); @@ -132,7 +132,7 @@ static void StartDrawFieldMessage(void) void HideFieldMessageBox(void) { DestroyTask_DrawFieldMessage(); - ClearDialogWindowAndFrame(0, 1); + ClearDialogWindowAndFrame(0, TRUE); sFieldMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN; } @@ -152,7 +152,7 @@ bool8 IsFieldMessageBoxHidden(void) static void ReplaceFieldMessageWithFrame(void) { DestroyTask_DrawFieldMessage(); - DrawStdWindowFrame(0, 1); + DrawStdWindowFrame(0, TRUE); sFieldMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN; } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index b374e132d1..5f4573c533 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1468,7 +1468,7 @@ static void Task_PushBoulder(u8 taskId) static bool8 PushBoulder_Start(struct Task *task, struct ObjectEvent *player, struct ObjectEvent *boulder) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); gPlayerAvatar.preventStep = TRUE; task->tState++; return FALSE; @@ -1508,7 +1508,7 @@ static bool8 PushBoulder_End(struct Task *task, struct ObjectEvent *player, stru ObjectEventClearHeldMovementIfFinished(player); ObjectEventClearHeldMovementIfFinished(boulder); gPlayerAvatar.preventStep = FALSE; - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(FindTaskIdByFunc(Task_PushBoulder)); } return FALSE; @@ -1570,7 +1570,7 @@ static bool8 PlayerAvatar_SecretBaseMatSpinStep0(struct Task *task, struct Objec task->data[0]++; task->data[1] = objectEvent->movementDirection; gPlayerAvatar.preventStep = TRUE; - ScriptContext2_Enable(); + LockPlayerFieldControls(); PlaySE(SE_WARP_IN); return TRUE; } @@ -1616,7 +1616,7 @@ static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct Objec if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { ObjectEventSetHeldMovement(objectEvent, GetWalkSlowMovementAction(GetOppositeDirection(task->data[1]))); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); gPlayerAvatar.preventStep = FALSE; DestroyTask(FindTaskIdByFunc(PlayerAvatar_DoSecretBaseMatSpin)); } @@ -1627,7 +1627,7 @@ static void CreateStopSurfingTask(u8 direction) { u8 taskId; - ScriptContext2_Enable(); + LockPlayerFieldControls(); Overworld_ClearSavedMusic(); Overworld_ChangeMusicToDefault(); gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_SURFING; @@ -1661,7 +1661,7 @@ static void Task_WaitStopSurfing(u8 taskId) ObjectEventSetGraphicsId(playerObjEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); ObjectEventSetHeldMovement(playerObjEvent, GetFaceDirectionMovementAction(playerObjEvent->facingDirection)); gPlayerAvatar.preventStep = FALSE; - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroySprite(&gSprites[playerObjEvent->fieldEffectSpriteId]); DestroyTask(taskId); } @@ -1720,7 +1720,7 @@ static void Task_Fishing(u8 taskId) static bool8 Fishing_Init(struct Task *task) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); gPlayerAvatar.preventStep = TRUE; task->tStep++; return FALSE; @@ -1911,7 +1911,7 @@ static bool8 Fishing_MonOnHook(struct Task *task) { AlignFishingAnimationFrames(); FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, gText_PokemonOnHook, 1, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gText_PokemonOnHook, 1, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); task->tStep++; task->tFrameCounter = 0; return FALSE; @@ -1945,7 +1945,7 @@ static bool8 Fishing_StartEncounter(struct Task *task) if (task->tFrameCounter != 0) { gPlayerAvatar.preventStep = FALSE; - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); FishingWildEncounter(task->tFishingRod); RecordFishingAttemptForTV(TRUE); DestroyTask(FindTaskIdByFunc(Task_Fishing)); @@ -1958,7 +1958,7 @@ static bool8 Fishing_NotEvenNibble(struct Task *task) AlignFishingAnimationFrames(); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingNoCatchDirectionAnimNum(GetPlayerFacingDirection())); FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, gText_NotEvenANibble, 1, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gText_NotEvenANibble, 1, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); task->tStep = FISHING_SHOW_RESULT; return TRUE; } @@ -1968,7 +1968,7 @@ static bool8 Fishing_GotAway(struct Task *task) AlignFishingAnimationFrames(); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingNoCatchDirectionAnimNum(GetPlayerFacingDirection())); FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, gText_ItGotAway, 1, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gText_ItGotAway, 1, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); task->tStep++; return TRUE; } @@ -2004,7 +2004,7 @@ static bool8 Fishing_EndNoMon(struct Task *task) if (!IsTextPrinterActive(0)) { gPlayerAvatar.preventStep = FALSE; - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); UnfreezeObjectEvents(); ClearDialogWindowAndFrame(0, TRUE); RecordFishingAttemptForTV(FALSE); diff --git a/src/field_poison.c b/src/field_poison.c index 90013243cd..fcb47acdb8 100644 --- a/src/field_poison.c +++ b/src/field_poison.c @@ -21,9 +21,8 @@ static bool32 IsMonValidSpecies(struct Pokemon *pokemon) { u16 species = GetMonData(pokemon, MON_DATA_SPECIES2); if (species == SPECIES_NONE || species == SPECIES_EGG) - { return FALSE; - } + return TRUE; } @@ -35,16 +34,14 @@ static bool32 AllMonsFainted(void) for (i = 0; i < PARTY_SIZE; i++, pokemon++) { if (IsMonValidSpecies(pokemon) && GetMonData(pokemon, MON_DATA_HP) != 0) - { return FALSE; - } } return TRUE; } static void FaintFromFieldPoison(u8 partyIdx) { - struct Pokemon *pokemon = gPlayerParty + partyIdx; + struct Pokemon *pokemon = &gPlayerParty[partyIdx]; u32 status = STATUS1_NONE; AdjustFriendship(pokemon, FRIENDSHIP_EVENT_FAINT_FIELD_PSN); @@ -55,64 +52,65 @@ static void FaintFromFieldPoison(u8 partyIdx) static bool32 MonFaintedFromPoison(u8 partyIdx) { - struct Pokemon *pokemon = gPlayerParty + partyIdx; + struct Pokemon *pokemon = &gPlayerParty[partyIdx]; if (IsMonValidSpecies(pokemon) && GetMonData(pokemon, MON_DATA_HP) == 0 && GetAilmentFromStatus(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN) - { return TRUE; - } + return FALSE; } +#define tState data[0] +#define tPartyIdx data[1] + static void Task_TryFieldPoisonWhiteOut(u8 taskId) { s16 *data = gTasks[taskId].data; - switch (data[0]) + switch (tState) { - case 0: - for (; data[1] < PARTY_SIZE; data[1]++) + case 0: + for (; tPartyIdx < PARTY_SIZE; tPartyIdx++) + { + if (MonFaintedFromPoison(tPartyIdx)) { - if (MonFaintedFromPoison(data[1])) - { - FaintFromFieldPoison(data[1]); - ShowFieldMessage(gText_PkmnFainted3); - data[0]++; - return; - } - } - data[0] = 2; - break; - case 1: - if (IsFieldMessageBoxHidden()) - { - data[0]--; - } - break; - case 2: - if (AllMonsFainted()) - { - if (InBattlePyramid() | InBattlePike() || InTrainerHillChallenge()) - { - gSpecialVar_Result = FLDPSN_FRONTIER_WHITEOUT; - } - else - { - gSpecialVar_Result = FLDPSN_WHITEOUT; - } + FaintFromFieldPoison(tPartyIdx); + ShowFieldMessage(gText_PkmnFainted_FldPsn); + tState++; + return; } + } + tState = 2; // Finished checking party + break; + case 1: + // Wait for "{mon} fainted" message, then return to party loop + if (IsFieldMessageBoxHidden()) + tState--; + break; + case 2: + if (AllMonsFainted()) + { + // Battle facilities have their own white out script to handle the challenge loss + if (InBattlePyramid() | InBattlePike() || InTrainerHillChallenge()) + gSpecialVar_Result = FLDPSN_FRONTIER_WHITEOUT; else - { - gSpecialVar_Result = FLDPSN_NO_WHITEOUT; - } - EnableBothScriptContexts(); - DestroyTask(taskId); - break; + gSpecialVar_Result = FLDPSN_WHITEOUT; + } + else + { + gSpecialVar_Result = FLDPSN_NO_WHITEOUT; + } + ScriptContext_Enable(); + DestroyTask(taskId); + break; } } +#undef tState +#undef tPartyIdx + void TryFieldPoisonWhiteOut(void) { CreateTask(Task_TryFieldPoisonWhiteOut, 80); - ScriptContext1_Stop(); + ScriptContext_Stop(); } s32 DoPoisonFieldEffect(void) @@ -122,31 +120,31 @@ s32 DoPoisonFieldEffect(void) struct Pokemon *pokemon = gPlayerParty; u32 numPoisoned = 0; u32 numFainted = 0; + for (i = 0; i < PARTY_SIZE; i++) { if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && GetAilmentFromStatus(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN) { + // Apply poison damage hp = GetMonData(pokemon, MON_DATA_HP); if (hp == 0 || --hp == 0) - { numFainted++; - } + SetMonData(pokemon, MON_DATA_HP, &hp); numPoisoned++; } pokemon++; } + + // Do screen flash effect if (numFainted != 0 || numPoisoned != 0) - { FldEffPoison_Start(); - } + if (numFainted != 0) - { return FLDPSN_FNT; - } + if (numPoisoned != 0) - { return FLDPSN_PSN; - } + return FLDPSN_NONE; } diff --git a/src/field_region_map.c b/src/field_region_map.c index adf5e4ed7a..43055174fa 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -92,7 +92,7 @@ static const struct WindowTemplate sFieldRegionMapWindowTemplates[] = void FieldInitRegionMap(MainCallback callback) { SetVBlankCallback(NULL); - sFieldRegionMapHandler = malloc(sizeof(*sFieldRegionMapHandler)); + sFieldRegionMapHandler = Alloc(sizeof(*sFieldRegionMapHandler)); sFieldRegionMapHandler->state = 0; sFieldRegionMapHandler->callback = callback; SetMainCallback2(MCB2_InitRegionMapRegisters); @@ -150,11 +150,11 @@ static void FieldUpdateRegionMap(void) sFieldRegionMapHandler->state++; break; case 1: - DrawStdFrameWithCustomTileAndPalette(1, 0, 0x27, 0xd); + DrawStdFrameWithCustomTileAndPalette(1, FALSE, 0x27, 0xd); offset = GetStringCenterAlignXOffset(FONT_NORMAL, gText_Hoenn, 0x38); AddTextPrinterParameterized(1, FONT_NORMAL, gText_Hoenn, offset, 1, 0, NULL); ScheduleBgCopyTilemapToVram(0); - DrawStdFrameWithCustomTileAndPalette(0, 0, 0x27, 0xd); + DrawStdFrameWithCustomTileAndPalette(0, FALSE, 0x27, 0xd); PrintRegionMapSecName(); BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); sFieldRegionMapHandler->state++; diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 77978c2690..948d812e81 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -124,7 +124,7 @@ static void Task_WaitForUnionRoomFade(u8 taskId) void FieldCB_ContinueScriptUnionRoom(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); Overworld_PlaySpecialMapMusic(); FadeInFromBlack(); CreateTask(Task_WaitForUnionRoomFade, 10); @@ -135,13 +135,13 @@ static void Task_WaitForFadeAndEnableScriptCtx(u8 taskID) if (WaitForWeatherFadeIn() == TRUE) { DestroyTask(taskID); - EnableBothScriptContexts(); + ScriptContext_Enable(); } } void FieldCB_ContinueScriptHandleMusic(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); Overworld_PlaySpecialMapMusic(); FadeInFromBlack(); CreateTask(Task_WaitForFadeAndEnableScriptCtx, 10); @@ -149,7 +149,7 @@ void FieldCB_ContinueScriptHandleMusic(void) void FieldCB_ContinueScript(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FadeInFromBlack(); CreateTask(Task_WaitForFadeAndEnableScriptCtx, 10); } @@ -174,7 +174,7 @@ static void Task_ReturnToFieldCableLink(u8 taskId) case 2: if (WaitForWeatherFadeIn() == TRUE) { - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); } break; @@ -183,7 +183,7 @@ static void Task_ReturnToFieldCableLink(u8 taskId) void FieldCB_ReturnToFieldCableLink(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); Overworld_PlaySpecialMapMusic(); FillPalBufferBlack(); CreateTask(Task_ReturnToFieldCableLink, 10); @@ -215,7 +215,7 @@ static void Task_ReturnToFieldWirelessLink(u8 taskId) if (WaitForWeatherFadeIn() == TRUE) { StartSendingKeysToLink(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); } break; @@ -239,7 +239,7 @@ void Task_ReturnToFieldRecordMixing(u8 taskId) case 2: StartSendingKeysToLink(); ResetAllMultiplayerState(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); break; } @@ -247,7 +247,7 @@ void Task_ReturnToFieldRecordMixing(u8 taskId) void FieldCB_ReturnToFieldWirelessLink(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); Overworld_PlaySpecialMapMusic(); FillPalBufferBlack(); CreateTask(Task_ReturnToFieldWirelessLink, 10); @@ -275,7 +275,7 @@ void FieldCB_DefaultWarpExit(void) Overworld_PlaySpecialMapMusic(); WarpFadeInScreen(); SetUpWarpExitTask(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } void FieldCB_WarpExitFadeFromWhite(void) @@ -283,7 +283,7 @@ void FieldCB_WarpExitFadeFromWhite(void) Overworld_PlaySpecialMapMusic(); FadeInFromWhite(); SetUpWarpExitTask(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } void FieldCB_WarpExitFadeFromBlack(void) @@ -292,7 +292,7 @@ void FieldCB_WarpExitFadeFromBlack(void) Overworld_PlaySpecialMapMusic(); FadeInFromBlack(); SetUpWarpExitTask(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } static void FieldCB_SpinEnterWarp(void) @@ -301,7 +301,7 @@ static void FieldCB_SpinEnterWarp(void) WarpFadeInScreen(); PlaySE(SE_WARP_OUT); CreateTask(Task_SpinEnterWarp, 10); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } static void FieldCB_MossdeepGymWarpExit(void) @@ -310,7 +310,7 @@ static void FieldCB_MossdeepGymWarpExit(void) WarpFadeInScreen(); PlaySE(SE_WARP_OUT); CreateTask(Task_ExitNonDoor, 10); - ScriptContext2_Enable(); + LockPlayerFieldControls(); SetObjectEventLoadFlag((~SKIP_OBJECT_EVENT_LOAD) & 0xF); } @@ -357,7 +357,7 @@ static void Task_ExitDoor(u8 taskId) } break; case 4: - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); break; } @@ -395,7 +395,7 @@ static void Task_ExitNonAnimDoor(u8 taskId) } break; case 3: - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); break; } @@ -407,14 +407,14 @@ static void Task_ExitNonDoor(u8 taskId) { case 0: FreezeObjectEvents(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); gTasks[taskId].tState++; break; case 1: if (WaitForWeatherFadeIn()) { UnfreezeObjectEvents(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); } break; @@ -434,7 +434,7 @@ void ReturnToFieldOpenStartMenu(void) { FadeInFromBlack(); CreateTask(Task_WaitForFadeShowStartMenu, 0x50); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } bool8 FieldCB_ReturnToFieldOpenStartMenu(void) @@ -447,7 +447,7 @@ static void Task_ReturnToFieldNoScript(u8 taskId) { if (WaitForWeatherFadeIn() == 1) { - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); ScriptUnfreezeObjectEvents(); } @@ -455,14 +455,14 @@ static void Task_ReturnToFieldNoScript(u8 taskId) void FieldCB_ReturnToFieldNoScript(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FadeInFromBlack(); CreateTask(Task_ReturnToFieldNoScript, 10); } void FieldCB_ReturnToFieldNoScriptCheckMusic(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); Overworld_PlaySpecialMapMusic(); FadeInFromBlack(); CreateTask(Task_ReturnToFieldNoScript, 10); @@ -483,7 +483,7 @@ static bool32 WaitForWeatherFadeIn(void) void DoWarp(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); TryFadeOutOldMapMusic(); WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); @@ -494,7 +494,7 @@ void DoWarp(void) void DoDiveWarp(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); TryFadeOutOldMapMusic(); WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); @@ -504,7 +504,7 @@ void DoDiveWarp(void) void DoWhiteFadeWarp(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); TryFadeOutOldMapMusic(); FadeScreen(FADE_TO_WHITE, 8); PlayRainStoppingSoundEffect(); @@ -514,7 +514,7 @@ void DoWhiteFadeWarp(void) void DoDoorWarp(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); gFieldCallback = FieldCB_DefaultWarpExit; CreateTask(Task_DoDoorWarp, 10); } @@ -527,19 +527,19 @@ void DoFallWarp(void) void DoEscalatorWarp(u8 metatileBehavior) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); StartEscalatorWarp(metatileBehavior, 10); } void DoLavaridgeGymB1FWarp(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); StartLavaridgeGymB1FWarp(10); } void DoLavaridgeGym1FWarp(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); StartLavaridgeGym1FWarp(10); } @@ -548,7 +548,7 @@ void DoLavaridgeGym1FWarp(void) // Used by teleporting tiles, e.g. in Aqua Hideout (For the move Teleport see FldEff_TeleportWarpOut) void DoTeleportTileWarp(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); TryFadeOutOldMapMusic(); WarpFadeOutScreen(); PlaySE(SE_WARP_IN); @@ -559,7 +559,7 @@ void DoTeleportTileWarp(void) void DoMossdeepGymWarp(void) { SetObjectEventLoadFlag(SKIP_OBJECT_EVENT_LOAD); - ScriptContext2_Enable(); + LockPlayerFieldControls(); SaveObjectEvents(); TryFadeOutOldMapMusic(); WarpFadeOutScreen(); @@ -570,7 +570,7 @@ void DoMossdeepGymWarp(void) void DoPortholeWarp(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); WarpFadeOutScreen(); CreateTask(Task_WarpAndLoadMap, 10); gFieldCallback = FieldCB_ShowPortholeView; @@ -583,7 +583,7 @@ static void Task_DoCableClubWarp(u8 taskId) switch (task->tState) { case 0: - ScriptContext2_Enable(); + LockPlayerFieldControls(); task->tState++; break; case 1: @@ -600,7 +600,7 @@ static void Task_DoCableClubWarp(u8 taskId) void DoCableClubWarp(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); TryFadeOutOldMapMusic(); WarpFadeOutScreen(); PlaySE(SE_EXIT); @@ -651,7 +651,7 @@ static void Task_WarpAndLoadMap(u8 taskId) { case 0: FreezeObjectEvents(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); task->tState++; break; case 1: @@ -735,7 +735,7 @@ static void Task_DoContestHallWarp(u8 taskId) { case 0: FreezeObjectEvents(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); task->tState++; break; case 1: @@ -754,7 +754,7 @@ static void Task_DoContestHallWarp(u8 taskId) void DoContestHallWarp(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); TryFadeOutOldMapMusic(); WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); @@ -916,7 +916,7 @@ static void Task_WaitForFlashUpdate(u8 taskId) { if (!FuncIsActiveTask(UpdateFlashLevelEffect)) { - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } } @@ -979,7 +979,7 @@ void AnimateFlash(u8 newFlashLevel) fullBrightness = TRUE; StartUpdateFlashLevelEffect(DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, sFlashLevelToRadius[curFlashLevel], sFlashLevelToRadius[newFlashLevel], fullBrightness, 1); StartWaitForFlashUpdate(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } void WriteFlashScanlineEffectBuffer(u8 flashLevel) @@ -1003,7 +1003,7 @@ static void Task_SpinEnterWarp(u8 taskId) { case 0: FreezeObjectEvents(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); DoPlayerSpinEntrance(); gTasks[taskId].tState++; break; @@ -1011,7 +1011,7 @@ static void Task_SpinEnterWarp(u8 taskId) if (WaitForWeatherFadeIn() && IsPlayerSpinEntranceActive() != TRUE) { UnfreezeObjectEvents(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); } break; @@ -1026,7 +1026,7 @@ static void Task_SpinExitWarp(u8 taskId) { case 0: FreezeObjectEvents(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); PlaySE(SE_WARP_IN); DoPlayerSpinExit(); task->tState++; @@ -1054,7 +1054,7 @@ static void Task_SpinExitWarp(u8 taskId) // DoTeleportTileWarp is used instead void DoSpinEnterWarp(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); CreateTask(Task_WarpAndLoadMap, 10); gFieldCallback = FieldCB_SpinEnterWarp; } @@ -1063,7 +1063,7 @@ void DoSpinEnterWarp(void) // Player exits current map by spinning up offscreen, enters new map with a fade in void DoSpinExitWarp(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); gFieldCallback = FieldCB_DefaultWarpExit; CreateTask(Task_SpinExitWarp, 10); } @@ -1152,7 +1152,7 @@ static void Task_OrbEffect(u8 taskId) case 2: if (!FuncIsActiveTask(UpdateOrbFlashEffect)) { - EnableBothScriptContexts(); + ScriptContext_Enable(); tState = 3; } break; @@ -1200,7 +1200,7 @@ static void Task_OrbEffect(u8 taskId) SetGpuReg(REG_OFFSET_BLDALPHA, tBldAlpha); SetGpuReg(REG_OFFSET_WININ, tWinIn); SetGpuReg(REG_OFFSET_WINOUT, tWinOut); - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); break; } @@ -1263,6 +1263,6 @@ static void Task_EnableScriptAfterMusicFade(u8 taskId) if (BGMusicStopped() == TRUE) { DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } } diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 7493467288..7c98703c6b 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -251,7 +251,7 @@ static void Task_HandleTruckSequence(u8 taskId) DrawWholeMapView(); PlaySE(SE_TRUCK_DOOR); DestroyTask(taskId); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); } break; } @@ -263,7 +263,7 @@ void ExecuteTruckSequence(void) MapGridSetMetatileIdAt(4 + MAP_OFFSET, 2 + MAP_OFFSET, METATILE_InsideOfTruck_DoorClosedFloor_Mid); MapGridSetMetatileIdAt(4 + MAP_OFFSET, 3 + MAP_OFFSET, METATILE_InsideOfTruck_DoorClosedFloor_Bottom); DrawWholeMapView(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); CpuFastFill(0, gPlttBufferFaded, 0x400); CreateTask(Task_HandleTruckSequence, 0xA); } @@ -371,7 +371,7 @@ void FieldCB_ShowPortholeView(void) gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; FadeInFromBlack(); CreateTask(Task_HandlePorthole, 80); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } void LookThroughPorthole(void) diff --git a/src/field_specials.c b/src/field_specials.c index 4ed2a2e03d..2e33b443ca 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -132,14 +132,14 @@ static void BufferFanClubTrainerName_(struct LinkBattleRecords *, u8, u8); void Special_ShowDiploma(void) { SetMainCallback2(CB2_ShowDiploma); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } void Special_ViewWallClock(void) { gMain.savedCallback = CB2_ReturnToField; SetMainCallback2(CB2_ViewWallClock); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } void ResetCyclingRoadChallengeData(void) @@ -182,7 +182,7 @@ static void DetermineCyclingRoadResults(u32 numFrames, u8 numBikeCollisions) if (numFrames < 3600) { ConvertIntToDecimalStringN(gStringVar2, numFrames / 60, STR_CONV_MODE_RIGHT_ALIGN, 2); - gStringVar2[2] = CHAR_PERIOD; + gStringVar2[2] = CHAR_DEC_SEPARATOR; ConvertIntToDecimalStringN(&gStringVar2[3], ((numFrames % 60) * 100) / 60, STR_CONV_MODE_LEADING_ZEROS, 2); StringAppend(gStringVar2, gText_SpaceSeconds); } @@ -799,7 +799,7 @@ static void Task_PetalburgGymSlideOpenRoomDoors(u8 taskId) if ((++sSlidingDoorFrame) == ARRAY_COUNT(sPetalburgGymSlidingDoorMetatiles)) { DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } } else @@ -868,7 +868,7 @@ static void PetalburgGymSetDoorMetatiles(u8 roomNumber, u16 metatileId) for (i = 0; i < nDoors; i++) { MapGridSetMetatileIdAt(doorCoordsX[i] + MAP_OFFSET, doorCoordsY[i] + MAP_OFFSET, metatileId | MAPGRID_COLLISION_MASK); - MapGridSetMetatileIdAt(doorCoordsX[i] + MAP_OFFSET, doorCoordsY[i] + MAP_OFFSET + 1, (metatileId + 8) | MAPGRID_COLLISION_MASK); + MapGridSetMetatileIdAt(doorCoordsX[i] + MAP_OFFSET, doorCoordsY[i] + MAP_OFFSET + 1, (metatileId + METATILE_ROW_WIDTH) | MAPGRID_COLLISION_MASK); } DrawWholeMapView(); } @@ -941,19 +941,19 @@ u8 GetLeadMonFriendshipScore(void) { struct Pokemon *pokemon = &gPlayerParty[GetLeadMonIndex()]; if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) == MAX_FRIENDSHIP) - return 6; + return FRIENDSHIP_MAX; if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 200) - return 5; + return FRIENDSHIP_200_TO_254; if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 150) - return 4; + return FRIENDSHIP_150_TO_199; if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 100) - return 3; + return FRIENDSHIP_100_TO_149; if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 50) - return 2; + return FRIENDSHIP_50_TO_99; if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 1) - return 1; + return FRIENDSHIP_1_TO_49; - return 0; + return FRIENDSHIP_NONE; } static void CB2_FieldShowRegionMap(void) @@ -1412,7 +1412,7 @@ bool8 ScriptCheckFreePokemonStorageSpace(void) bool8 IsPokerusInParty(void) { - if (!CheckPartyPokerus(gPlayerParty, 0x3f)) + if (!CheckPartyPokerus(gPlayerParty, (1 << PARTY_SIZE) - 1)) return FALSE; return TRUE; @@ -1459,7 +1459,7 @@ static void Task_ShakeCamera(u8 taskId) static void StopCameraShake(u8 taskId) { DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } #undef horizontalPan @@ -1814,7 +1814,7 @@ static void Task_MoveElevator(u8 taskId) { PlaySE(SE_DING_DONG); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); InstallCameraPanAheadCallback(); } } @@ -1825,7 +1825,7 @@ void ShowDeptStoreElevatorFloorSelect(void) int xPos; sTutorMoveAndElevatorWindowId = AddWindow(&gElevatorFloor_WindowTemplate); - SetStandardWindowBorderStyle(sTutorMoveAndElevatorWindowId, 0); + SetStandardWindowBorderStyle(sTutorMoveAndElevatorWindowId, FALSE); xPos = GetStringCenterAlignXOffset(FONT_NORMAL, gText_ElevatorNowOn, 64); AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, FONT_NORMAL, gText_ElevatorNowOn, xPos, 1, TEXT_SKIP_DRAW, NULL); @@ -2476,7 +2476,7 @@ static void Task_ShowScrollableMultichoice(u8 taskId) struct WindowTemplate template; struct Task *task = &gTasks[taskId]; - ScriptContext2_Enable(); + LockPlayerFieldControls(); sScrollableMultichoice_ScrollOffset = 0; sScrollableMultichoice_ItemSpriteId = MAX_SPRITES; FillFrontierExchangeCornerWindowAndItemIcon(task->tScrollMultiId, 0); @@ -2507,7 +2507,7 @@ static void Task_ShowScrollableMultichoice(u8 taskId) template = CreateWindowTemplate(0, task->tLeft, task->tTop, task->tWidth, task->tHeight, 0xF, 0x64); windowId = AddWindow(&template); task->tWindowId = windowId; - SetStandardWindowBorderStyle(windowId, 0); + SetStandardWindowBorderStyle(windowId, FALSE); gScrollableMultichoice_ListMenuTemplate.totalItems = task->tNumItems; gScrollableMultichoice_ListMenuTemplate.maxShowed = task->tMaxItemsOnScreen; @@ -2591,7 +2591,7 @@ static void ScrollableMultichoice_ProcessInput(u8 taskId) // Handle selection while keeping the menu open ScrollableMultichoice_RemoveScrollArrows(taskId); task->func = Task_ScrollableMultichoice_WaitReturnToList; - EnableBothScriptContexts(); + ScriptContext_Enable(); } break; } @@ -2606,12 +2606,12 @@ static void CloseScrollableMultichoice(u8 taskId) ScrollableMultichoice_RemoveScrollArrows(taskId); DestroyListMenuTask(task->tListTaskId, NULL, NULL); Free(sScrollableMultichoice_ListMenuItem); - ClearStdWindowAndFrameToTransparent(task->tWindowId, 1); + ClearStdWindowAndFrameToTransparent(task->tWindowId, TRUE); FillWindowPixelBuffer(task->tWindowId, PIXEL_FILL(0)); CopyWindowToVram(task->tWindowId, COPYWIN_GFX); RemoveWindow(task->tWindowId); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } // Never run, tKeepOpenAfterSelect is FALSE for all scrollable multichoices. @@ -2634,14 +2634,14 @@ void ScrollableMultichoice_TryReturnToList(void) { u8 taskId = FindTaskIdByFunc(Task_ScrollableMultichoice_WaitReturnToList); if (taskId == TASK_NONE) - EnableBothScriptContexts(); + ScriptContext_Enable(); else gTasks[taskId].tKeepOpenAfterSelect++; // Return to list } static void Task_ScrollableMultichoice_ReturnToList(u8 taskId) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); ScrollableMultichoice_UpdateScrollArrows(taskId); gTasks[taskId].func = ScrollableMultichoice_ProcessInput; } @@ -2850,7 +2850,7 @@ void ShowBattlePointsWindow(void) }; sBattlePointsWindowId = AddWindow(&sBattlePoints_WindowTemplate); - SetStandardWindowBorderStyle(sBattlePointsWindowId, 0); + SetStandardWindowBorderStyle(sBattlePointsWindowId, FALSE); UpdateBattlePointsWindow(); CopyWindowToVram(sBattlePointsWindowId, COPYWIN_GFX); } @@ -2896,7 +2896,7 @@ void ShowFrontierExchangeCornerItemIconWindow(void) }; sFrontierExchangeCorner_ItemIconWindowId = AddWindow(&sFrontierExchangeCorner_ItemIconWindowTemplate); - SetStandardWindowBorderStyle(sFrontierExchangeCorner_ItemIconWindowId, 0); + SetStandardWindowBorderStyle(sFrontierExchangeCorner_ItemIconWindowId, FALSE); CopyWindowToVram(sFrontierExchangeCorner_ItemIconWindowId, COPYWIN_GFX); } @@ -2918,7 +2918,7 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) switch (menu) { case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1: - AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); if (sFrontierExchangeCorner_Decor1[selection] == 0xFFFF) { ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor1[selection]); @@ -2931,7 +2931,7 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) } break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: - AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); if (sFrontierExchangeCorner_Decor2[selection] == 0xFFFF) { ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor2[selection]); @@ -2944,11 +2944,11 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) } break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: - AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_VitaminsDescriptions[selection], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_VitaminsDescriptions[selection], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Vitamins[selection]); break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR: - AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_HoldItems[selection]); break; } @@ -3040,7 +3040,7 @@ static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection) if (gSpecialVar_0x8006 == 0) { sTutorMoveAndElevatorWindowId = AddWindow(&sBattleFrontierTutor_WindowTemplate); - SetStandardWindowBorderStyle(sTutorMoveAndElevatorWindowId, 0); + SetStandardWindowBorderStyle(sTutorMoveAndElevatorWindowId, FALSE); } ShowBattleFrontierTutorMoveDescription(menu, selection); } @@ -3104,7 +3104,7 @@ void ScrollableMultichoice_RedrawPersistentMenu(void) { struct Task *task = &gTasks[taskId]; ListMenuGetScrollAndRow(task->tListTaskId, &scrollOffset, &selectedRow); - SetStandardWindowBorderStyle(task->tWindowId, 0); + SetStandardWindowBorderStyle(task->tWindowId, FALSE); for (i = 0; i < MAX_SCROLL_MULTI_ON_SCREEN; i++) AddTextPrinterParameterized5(task->tWindowId, FONT_NORMAL, sScrollableMultichoiceOptions[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SKIP_DRAW, NULL, 0, 0); @@ -3228,7 +3228,7 @@ static void Task_DeoxysRockInteraction(u8 taskId) if (FlagGet(FLAG_DEOXYS_ROCK_COMPLETE) == TRUE) { gSpecialVar_Result = 3; - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } else @@ -3249,7 +3249,7 @@ static void Task_DeoxysRockInteraction(u8 taskId) { FlagSet(FLAG_DEOXYS_ROCK_COMPLETE); gSpecialVar_Result = 2; - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } else @@ -3294,7 +3294,7 @@ static void WaitForDeoxysRockMovement(u8 taskId) { if (FieldEffectActiveListContains(FLDEFF_MOVE_DEOXYS_ROCK) == FALSE) { - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } } @@ -3700,7 +3700,7 @@ static void Task_LinkRetireStatusWithBattleTowerPartner(u8 taskId) SetCloseLinkCallback(); gBattleTypeFlags = sBattleTowerMultiBattleTypeFlags; - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); break; } @@ -3786,7 +3786,7 @@ static void Task_CloseBattlePikeCurtain(u8 taskId) if (tCurrentFrame == 3) { DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } } } diff --git a/src/field_tasks.c b/src/field_tasks.c index 8e8875993d..dec5cba800 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -166,7 +166,7 @@ static void Task_RunTimeBasedEvents(u8 taskId) { s16 *data = gTasks[taskId].data; - if (!ScriptContext2_IsEnabled()) + if (!ArePlayerFieldControlsLocked()) { RunTimeBasedEvents(data); UpdateAmbientCry(&tAmbientCryState, &tAmbientCryDelay); @@ -251,7 +251,7 @@ static const struct PacifidlogMetatileOffsets *GetPacifidlogBridgeMetatileOffset static void TrySetPacifidlogBridgeMetatiles(const struct PacifidlogMetatileOffsets *offsets, s16 x, s16 y, bool32 redrawMap) { offsets = GetPacifidlogBridgeMetatileOffsets(offsets, MapGridGetMetatileBehaviorAt(x, y)); - + // If offsets is NULL, position is not a log (don't set it) if (offsets) { @@ -301,7 +301,7 @@ static bool32 ShouldRaisePacifidlogLogs(s16 newX, s16 newY, s16 oldX, s16 oldY) } else if (MetatileBehavior_IsPacifidlogHorizontalLogLeft(oldBehavior)) { - // Still on same one if moved from left to right + // Still on same one if moved from left to right if (newX > oldX) return FALSE; } @@ -340,13 +340,13 @@ static bool32 ShouldSinkPacifidlogLogs(s16 newX, s16 newY, s16 oldX, s16 oldY) } else if (MetatileBehavior_IsPacifidlogHorizontalLogLeft(newBehavior)) { - // Still on same one if moved from right to left + // Still on same one if moved from right to left if (newX < oldX) return FALSE; } else if (MetatileBehavior_IsPacifidlogHorizontalLogRight(newBehavior)) { - // Still on same one if moved from left to right + // Still on same one if moved from left to right if (newX > oldX) return FALSE; } @@ -371,7 +371,7 @@ static void PacifidlogBridgePerStepCallback(u8 taskId) case 0: tPrevX = x; tPrevY = y; - + // If player is already standing on a log when the callback // is set then immediately set it to submerged TrySetLogBridgeFullySubmerged(x, y, TRUE); @@ -424,7 +424,7 @@ static void PacifidlogBridgePerStepCallback(u8 taskId) { // If player's current position is a log submerge it fully. TrySetLogBridgeFullySubmerged(x, y, TRUE); - + // Player's previous position is not the other end of a log // they're standing on, try to raise their previous position. if (tToRaiseX != -1 && tToRaiseY != -1) @@ -499,7 +499,7 @@ static void FortreeBridgePerStepCallback(u8 taskId) case 0: tPrevX = x; tPrevY = y; - + // If player is already on bridge when callback is set then lower it immediately. if (MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y))) { @@ -518,7 +518,7 @@ static void FortreeBridgePerStepCallback(u8 taskId) isFortreeBridgeCur = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y)); isFortreeBridgePrev = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(prevX, prevY)); - + // Make sure player isn't below bridge elevation = PlayerGetElevation(); onBridgeElevation = FALSE; @@ -672,7 +672,7 @@ static void SootopolisGymIcePerStepCallback(u8 taskId) // End if player hasn't moved if (x == tPrevX && y == tPrevY) return; - + tPrevX = x; tPrevY = y; tileBehavior = MapGridGetMetatileBehaviorAt(x, y); diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 8349de559f..f5769cc230 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -58,7 +58,7 @@ static const struct OamData sCloudSpriteOamData = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -339,7 +339,7 @@ static void UpdateDroughtBlend(u8 taskId) task->tState++; break; case 4: - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); break; } @@ -393,7 +393,7 @@ static const struct OamData sRainSpriteOamData = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), .x = 0, @@ -596,8 +596,8 @@ static void UpdateRainSprite(struct Sprite *sprite) sprite->y = sprite->tPosY >> 4; if (sprite->tActive - && (sprite->x >= -8 && sprite->x <= 248) - && sprite->y >= -16 && sprite->y <= 176) + && (sprite->x >= -8 && sprite->x <= DISPLAY_WIDTH + 8) + && sprite->y >= -16 && sprite->y <= DISPLAY_HEIGHT + 16) sprite->invisible = FALSE; else sprite->invisible = TRUE; @@ -839,7 +839,7 @@ static const struct OamData sSnowflakeSpriteOamData = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -1272,7 +1272,7 @@ static const struct OamData sOamData_FogH = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -1442,9 +1442,9 @@ static void FogHorizontalSpriteCallback(struct Sprite *sprite) { sprite->y2 = (u8)gSpriteCoordOffsetY; sprite->x = gWeatherPtr->fogHScrollPosX + 32 + sprite->tSpriteColumn * 64; - if (sprite->x > 271) + if (sprite->x >= DISPLAY_WIDTH + 32) { - sprite->x = 480 + gWeatherPtr->fogHScrollPosX - (4 - sprite->tSpriteColumn) * 64; + sprite->x = (DISPLAY_WIDTH * 2) + gWeatherPtr->fogHScrollPosX - (4 - sprite->tSpriteColumn) * 64; sprite->x &= 0x1FF; } } @@ -1701,9 +1701,9 @@ static void UpdateAshSprite(struct Sprite *sprite) sprite->y = gSpriteCoordOffsetY + sprite->tOffsetY; sprite->x = gWeatherPtr->ashBaseSpritesX + 32 + sprite->tSpriteColumn * 64; - if (sprite->x > 271) + if (sprite->x >= DISPLAY_WIDTH + 32) { - sprite->x = gWeatherPtr->ashBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; + sprite->x = gWeatherPtr->ashBaseSpritesX + (DISPLAY_WIDTH * 2) - (4 - sprite->tSpriteColumn) * 64; sprite->x &= 0x1FF; } } @@ -1911,9 +1911,9 @@ static void UpdateFogDiagonalSprite(struct Sprite *sprite) { sprite->y2 = gWeatherPtr->fogDPosY; sprite->x = gWeatherPtr->fogDBaseSpritesX + 32 + sprite->tSpriteColumn * 64; - if (sprite->x > 271) + if (sprite->x >= DISPLAY_WIDTH + 32) { - sprite->x = gWeatherPtr->fogDBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; + sprite->x = gWeatherPtr->fogDBaseSpritesX + (DISPLAY_WIDTH * 2) - (4 - sprite->tSpriteColumn) * 64; sprite->x &= 0x1FF; } } @@ -2187,9 +2187,9 @@ static void UpdateSandstormSprite(struct Sprite *sprite) { sprite->y2 = gWeatherPtr->sandstormPosY; sprite->x = gWeatherPtr->sandstormBaseSpritesX + 32 + sprite->tSpriteColumn * 64; - if (sprite->x > 271) + if (sprite->x >= DISPLAY_WIDTH + 32) { - sprite->x = gWeatherPtr->sandstormBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; + sprite->x = gWeatherPtr->sandstormBaseSpritesX + (DISPLAY_WIDTH * 2) - (4 - sprite->tSpriteColumn) * 64; sprite->x &= 0x1FF; } } @@ -2206,7 +2206,7 @@ static void UpdateSandstormSwirlSprite(struct Sprite *sprite) if (--sprite->y < -48) { - sprite->y = 208; + sprite->y = DISPLAY_HEIGHT + 48; sprite->tRadius = 4; } @@ -2567,14 +2567,16 @@ void ResumePausedWeather(void) SetCurrentAndNextWeather(weather); } -static const u8 sWeatherCycleRoute119[] = +#define WEATHER_CYCLE_LENGTH 4 + +static const u8 sWeatherCycleRoute119[WEATHER_CYCLE_LENGTH] = { WEATHER_SUNNY, WEATHER_RAIN, WEATHER_RAIN_THUNDERSTORM, WEATHER_RAIN, }; -static const u8 sWeatherCycleRoute123[] = +static const u8 sWeatherCycleRoute123[WEATHER_CYCLE_LENGTH] = { WEATHER_SUNNY, WEATHER_SUNNY, @@ -2611,7 +2613,7 @@ static u8 TranslateWeatherNum(u8 weather) void UpdateWeatherPerDay(u16 increment) { u16 weatherStage = gSaveBlock1Ptr->weatherCycleStage + increment; - weatherStage %= 4; + weatherStage %= WEATHER_CYCLE_LENGTH; gSaveBlock1Ptr->weatherCycleStage = weatherStage; } diff --git a/src/fieldmap.c b/src/fieldmap.c index a02355e721..bcd2d1019a 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -43,7 +43,7 @@ static void FillWestConnection(struct MapHeader const *mapHeader, struct MapHead static void FillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader); static void LoadSavedMapView(void); -static bool8 SkipCopyingMetatileFromSavedMap(u16* mapBlock, u16 mapWidth, u8 yMode); +static bool8 SkipCopyingMetatileFromSavedMap(u16 *mapBlock, u16 mapWidth, u8 yMode); static struct MapConnection *GetIncomingConnection(u8 direction, int x, int y); static bool8 IsPosInIncomingConnectingMap(u8 direction, int x, int y, struct MapConnection *connection); static bool8 IsCoordInIncomingConnectingMap(int coord, int srcMax, int destMax, int offset); @@ -87,13 +87,13 @@ void InitMapFromSavedGame(void) void InitBattlePyramidMap(bool8 setPlayerPosition) { - CpuFastFill(MAPGRID_UNDEFINED << 16 | MAPGRID_UNDEFINED, sBackupMapData, sizeof(sBackupMapData)); + CpuFastFill16(MAPGRID_UNDEFINED, sBackupMapData, sizeof(sBackupMapData)); GenerateBattlePyramidFloorLayout(sBackupMapData, setPlayerPosition); } void InitTrainerHillMap(void) { - CpuFastFill(MAPGRID_UNDEFINED << 16 | MAPGRID_UNDEFINED, sBackupMapData, sizeof(sBackupMapData)); + CpuFastFill16(MAPGRID_UNDEFINED, sBackupMapData, sizeof(sBackupMapData)); GenerateTrainerHillFloorLayout(sBackupMapData); } @@ -352,7 +352,7 @@ u8 MapGridGetElevationAt(int x, int y) return block >> MAPGRID_ELEVATION_SHIFT; } -bool8 MapGridIsImpassableAt(int x, int y) +u8 MapGridGetCollisionAt(int x, int y) { u16 block = GetMapGridBlockAt(x, y); @@ -753,7 +753,7 @@ static int IsPosInConnectingMap(struct MapConnection *connection, int x, int y) return FALSE; } -struct MapConnection *GetConnectionAtCoords(s16 x, s16 y) +struct MapConnection *GetMapConnectionAtPos(s16 x, s16 y) { int count; struct MapConnection *connection; @@ -823,7 +823,7 @@ void MapGridSetMetatileImpassabilityAt(int x, int y, bool32 impassable) } } -static bool8 SkipCopyingMetatileFromSavedMap(u16* mapBlock, u16 mapWidth, u8 yMode) +static bool8 SkipCopyingMetatileFromSavedMap(u16 *mapBlock, u16 mapWidth, u8 yMode) { if (yMode == 0xFF) return FALSE; @@ -860,12 +860,13 @@ static void CopyTilesetToVramUsingHeap(struct Tileset const *tileset, u16 numTil } } -static void FieldmapPaletteDummy(u16 offset, u16 size) +// Below two are dummied functions from FRLG, used to tint the overworld palettes for the Quest Log +static void ApplyGlobalTintToPaletteEntries(u16 offset, u16 size) { } -static void FieldmapUnkDummy(void) +static void ApplyGlobalTintToPaletteSlot(u8 slot, u8 count) { } @@ -879,18 +880,18 @@ void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u16 size) if (tileset->isSecondary == FALSE) { LoadPalette(&black, destOffset, 2); - LoadPalette(((u16*)tileset->palettes) + 1, destOffset + 1, size - 2); - FieldmapPaletteDummy(destOffset + 1, (size - 2) >> 1); + LoadPalette(((u16 *)tileset->palettes) + 1, destOffset + 1, size - 2); + ApplyGlobalTintToPaletteEntries(destOffset + 1, (size - 2) >> 1); } else if (tileset->isSecondary == TRUE) { - LoadPalette(((u16*)tileset->palettes) + (NUM_PALS_IN_PRIMARY * 16), destOffset, size); - FieldmapPaletteDummy(destOffset, size >> 1); + LoadPalette(((u16 *)tileset->palettes) + (NUM_PALS_IN_PRIMARY * 16), destOffset, size); + ApplyGlobalTintToPaletteEntries(destOffset, size >> 1); } else { - LoadCompressedPalette((u32*)tileset->palettes, destOffset, size); - FieldmapPaletteDummy(destOffset, size >> 1); + LoadCompressedPalette((u32 *)tileset->palettes, destOffset, size); + ApplyGlobalTintToPaletteEntries(destOffset, size >> 1); } } } diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 9129c5208c..0fd9263e51 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -93,7 +93,7 @@ static const struct OamData sOamData_CutGrass = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -191,7 +191,12 @@ bool8 SetUpFieldMove_Cut(void) sHyperCutTiles[6 + (i * 5) + j] = TRUE; ret = TRUE; } - if (MapGridIsImpassableAt(x, y) == TRUE) + #ifdef BUGFIX + // Collision has a range 0-3, any value != 0 is impassable + if (MapGridGetCollisionAt(x, y)) + #else + if (MapGridGetCollisionAt(x, y) == 1) + #endif { cutTiles[i * 3 + j] = FALSE; } @@ -289,7 +294,7 @@ bool8 FldEff_UseCutOnGrass(void) static void FieldCallback_CutTree(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(EventScript_UseCut); + ScriptContext_SetupScript(EventScript_UseCut); } bool8 FldEff_UseCutOnTree(void) @@ -578,10 +583,10 @@ static void CutGrassSpriteCallbackEnd(struct Sprite *sprite) FieldEffectStop(&gSprites[sCutGrassSpriteArrayPtr[0]], FLDEFF_CUT_GRASS); FREE_AND_SET_NULL(sCutGrassSpriteArrayPtr); ScriptUnfreezeObjectEvents(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); if (IsMewPlayingHideAndSeek() == TRUE) - ScriptContext1_SetupScript(FarawayIsland_Interior_EventScript_HideMewWhenGrassCut); + ScriptContext_SetupScript(FarawayIsland_Interior_EventScript_HideMewWhenGrassCut); } void FixLongGrassMetatilesWindowTop(s16 x, s16 y) @@ -638,5 +643,5 @@ static void StartCutTreeFieldEffect(void) { PlaySE(SE_M_CUT); FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_TREE); - EnableBothScriptContexts(); + ScriptContext_Enable(); } diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index a303b8423b..abdca2a88a 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -102,7 +102,7 @@ static void FldEff_UseFlash(void) { PlaySE(SE_M_REFLECT); FlagSet(FLAG_SYS_USE_FLASH); - ScriptContext1_SetupScript(EventScript_UseFlash); + ScriptContext_SetupScript(EventScript_UseFlash); } static void CB2_ChangeMapMain(void) diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index 4f3f53fa60..c01e88b512 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -586,7 +586,7 @@ bool8 SetUpFieldMove_SecretPower(void) static void FieldCallback_SecretBaseCave(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(SecretBase_EventScript_CaveUseSecretPower); + ScriptContext_SetupScript(SecretBase_EventScript_CaveUseSecretPower); } bool8 FldEff_UseSecretPowerCave(void) @@ -640,13 +640,13 @@ static void SpriteCB_CaveEntranceOpen(struct Sprite *sprite) static void SpriteCB_CaveEntranceEnd(struct Sprite *sprite) { FieldEffectStop(sprite, FLDEFF_SECRET_POWER_CAVE); - EnableBothScriptContexts(); + ScriptContext_Enable(); } static void FieldCallback_SecretBaseTree(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(SecretBase_EventScript_TreeUseSecretPower); + ScriptContext_SetupScript(SecretBase_EventScript_TreeUseSecretPower); } bool8 FldEff_UseSecretPowerTree(void) @@ -714,13 +714,13 @@ static void SpriteCB_TreeEntranceOpen(struct Sprite *sprite) static void SpriteCB_TreeEntranceEnd(struct Sprite *sprite) { FieldEffectStop(sprite, FLDEFF_SECRET_POWER_TREE); - EnableBothScriptContexts(); + ScriptContext_Enable(); } static void FieldCallback_SecretBaseShrub(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(SecretBase_EventScript_ShrubUseSecretPower); + ScriptContext_SetupScript(SecretBase_EventScript_ShrubUseSecretPower); } bool8 FldEff_UseSecretPowerShrub(void) @@ -778,7 +778,7 @@ static void SpriteCB_ShrubEntranceOpen(struct Sprite *sprite) static void SpriteCB_ShrubEntranceEnd(struct Sprite *sprite) { FieldEffectStop(sprite, FLDEFF_SECRET_POWER_SHRUB); - EnableBothScriptContexts(); + ScriptContext_Enable(); } #define tX data[0] @@ -820,7 +820,7 @@ static void Task_SecretBasePCTurnOn(u8 taskId) MapGridSetMetatileIdAt(tX, tY, METATILE_SecretBase_PC_On); CurrentMapDrawMetatileAt(tX, tY); FieldEffectActiveListRemove(FLDEFF_PCTURN_ON); - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); return; } @@ -1034,7 +1034,7 @@ bool8 FldEff_SandPillar(void) { s16 x, y; - ScriptContext2_Enable(); + LockPlayerFieldControls(); GetXYCoordsOneStepInFrontOfPlayer(&x, &y); gFieldEffectArguments[5] = x; @@ -1113,7 +1113,7 @@ static void SpriteCB_SandPillar_BreakBase(struct Sprite *sprite) static void SpriteCB_SandPillar_End(struct Sprite *sprite) { FieldEffectStop(sprite, FLDEFF_SAND_PILLAR); - EnableBothScriptContexts(); + ScriptContext_Enable(); } void InteractWithShieldOrTVDecoration(void) @@ -1200,29 +1200,35 @@ bool8 IsLargeBreakableDecoration(u16 metatileId, bool8 checkBase) return FALSE; } +#define tState data[0] +#define tMosaic data[1] + static void Task_FieldPoisonEffect(u8 taskId) { s16 *data = gTasks[taskId].data; - switch (data[0]) + switch (tState) { case 0: - data[1] += 2; - if (data[1] > 8) - data[0]++; + tMosaic += 2; + if (tMosaic > 8) + tState++; break; case 1: - data[1] -= 2; - if (data[1] == 0) - data[0]++; + tMosaic -= 2; + if (tMosaic == 0) + tState++; break; case 2: DestroyTask(taskId); return; } - SetGpuReg(REG_OFFSET_MOSAIC, (data[1] << 4) | data[1]); + SetGpuReg(REG_OFFSET_MOSAIC, (tMosaic << 4) | tMosaic); } +#undef tState +#undef tMosaic + void FldEffPoison_Start(void) { PlaySE(SE_FIELD_POISON); @@ -1273,7 +1279,7 @@ static void Task_WateringBerryTreeAnim_End(u8 taskId) { SetPlayerAvatarTransitionFlags(GetPlayerAvatarFlags()); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } void DoWateringBerryTreeAnim(void) diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index a30000e526..27689b02e3 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -55,7 +55,7 @@ static void Task_DoFieldMove_Init(u8 taskId) { u8 objEventId; - ScriptContext2_Enable(); + LockPlayerFieldControls(); gPlayerAvatar.preventStep = TRUE; objEventId = gPlayerAvatar.objectEventId; if (!ObjectEventIsMovementOverridden(&gObjectEvents[objEventId]) @@ -144,7 +144,7 @@ bool8 SetUpFieldMove_RockSmash(void) static void FieldCallback_RockSmash(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(EventScript_UseRockSmash); + ScriptContext_SetupScript(EventScript_UseRockSmash); } bool8 FldEff_UseRockSmash(void) @@ -162,5 +162,5 @@ static void FieldMove_RockSmash(void) { PlaySE(SE_M_ROCK_THROW); FieldEffectActiveListRemove(FLDEFF_USE_ROCK_SMASH); - EnableBothScriptContexts(); + ScriptContext_Enable(); } diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index 61960d0ffc..9312150403 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -30,7 +30,7 @@ bool8 SetUpFieldMove_Strength(void) static void FieldCallback_Strength(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(EventScript_UseStrength); + ScriptContext_SetupScript(EventScript_UseStrength); } bool8 FldEff_UseStrength(void) @@ -46,5 +46,5 @@ bool8 FldEff_UseStrength(void) static void StartStrengthFieldEffect(void) { FieldEffectActiveListRemove(FLDEFF_USE_STRENGTH); - EnableBothScriptContexts(); + ScriptContext_Enable(); } diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index e34d195045..7e93526094 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -93,7 +93,7 @@ static void FailSweetScentEncounter(u8 taskId) { CpuFastSet(gPaletteDecompressionBuffer, gPlttBufferUnfaded, 0x100); SetWeatherPalStateIdle(); - ScriptContext1_SetupScript(EventScript_FailSweetScent); + ScriptContext_SetupScript(EventScript_FailSweetScent); DestroyTask(taskId); } } diff --git a/src/fonts.c b/src/fonts.c index df904bacaf..8ef32bfef2 100644 --- a/src/fonts.c +++ b/src/fonts.c @@ -110,38 +110,38 @@ ALIGNED(4) const u8 gFontNarrowLatinGlyphWidths[] = { ALIGNED(4) const u16 gFontShortLatinGlyphs[] = INCBIN_U16("graphics/fonts/short.latfont"); ALIGNED(4) const u8 gFontShortLatinGlyphWidths[] = { - 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, - 8, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 3, - 6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 9, 8, 8, 3, - 3, 3, 3, 3, 10, 8, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 6, 6, 6, 8, 8, 8, 8, 8, 8, 4, 6, 8, 5, 5, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 6, - 3, 3, 3, 3, 3, 3, 3, 6, 3, 12, 12, 12, 12, 1, 2, 3, - 4, 5, 6, 7, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 5, - 6, 6, 6, 3, 3, 6, 6, 8, 5, 9, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 4, 6, 5, - 5, 6, 5, 6, 6, 6, 5, 5, 5, 6, 6, 6, 6, 6, 6, 8, - 5, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 12, 12, 12, 12, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3, + 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, + 8, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 3, + 6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 9, 8, 8, 3, + 3, 3, 3, 3, 10, 8, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 6, 6, 6, 8, 8, 8, 8, 8, 8, 4, 6, 8, 5, 5, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 6, + 3, 3, 3, 3, 3, 3, 3, 6, 3, 12, 12, 12, 12, 1, 2, 3, + 4, 5, 6, 7, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 5, + 6, 6, 6, 3, 3, 6, 6, 8, 5, 9, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 4, 6, 5, + 5, 6, 5, 6, 6, 6, 5, 5, 5, 6, 6, 6, 6, 6, 6, 8, + 5, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 12, 12, 12, 12, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3, }; ALIGNED(4) const u16 gFontNormalLatinGlyphs[] = INCBIN_U16("graphics/fonts/normal.latfont"); diff --git a/src/frontier_util.c b/src/frontier_util.c index f5dde452fc..686b69388a 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -2271,7 +2271,7 @@ static void Fill1PRecords(struct RankingHall1P *dst, s32 hallFacilityId, s32 lvl { s32 i, j; struct RankingHall1P record1P[HALL_RECORDS_COUNT + 1]; - struct PlayerHallRecords *playerHallRecords = calloc(1, sizeof(struct PlayerHallRecords)); + struct PlayerHallRecords *playerHallRecords = AllocZeroed(sizeof(struct PlayerHallRecords)); GetPlayerHallRecords(playerHallRecords); for (i = 0; i < HALL_RECORDS_COUNT; i++) @@ -2298,14 +2298,14 @@ static void Fill1PRecords(struct RankingHall1P *dst, s32 hallFacilityId, s32 lvl record1P[highestId].winStreak = 0; } - free(playerHallRecords); + Free(playerHallRecords); } static void Fill2PRecords(struct RankingHall2P *dst, s32 lvlMode) { s32 i, j; struct RankingHall2P record2P[HALL_RECORDS_COUNT + 1]; - struct PlayerHallRecords *playerHallRecords = calloc(1, sizeof(struct PlayerHallRecords)); + struct PlayerHallRecords *playerHallRecords = AllocZeroed(sizeof(struct PlayerHallRecords)); GetPlayerHallRecords(playerHallRecords); for (i = 0; i < HALL_RECORDS_COUNT; i++) @@ -2332,7 +2332,7 @@ static void Fill2PRecords(struct RankingHall2P *dst, s32 lvlMode) record2P[highestId].winStreak = 0; } - free(playerHallRecords); + Free(playerHallRecords); } static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode) @@ -2421,7 +2421,7 @@ void ClearRankingHallRecords(void) void SaveGameFrontier(void) { s32 i; - struct Pokemon *monsParty = calloc(PARTY_SIZE, sizeof(struct Pokemon)); + struct Pokemon *monsParty = AllocZeroed(sizeof(struct Pokemon) * PARTY_SIZE); for (i = 0; i < PARTY_SIZE; i++) monsParty[i] = gPlayerParty[i]; @@ -2436,7 +2436,7 @@ void SaveGameFrontier(void) for (i = 0; i < PARTY_SIZE; i++) gPlayerParty[i] = monsParty[i]; - free(monsParty); + Free(monsParty); } // Frontier Brain functions. diff --git a/src/graphics.c b/src/graphics.c index 45be8e9089..8a6bbc88a6 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -963,8 +963,8 @@ const u32 gDomeTourneyTree_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney. const u32 gDomeTourneyTreeButtons_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.gbapal.lz"); const u32 gDomeTourneyMatchCardBg_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_match_card_bg.gbapal.lz"); -const u32 gBattleArenaJudgementSymbolsGfx[] = INCBIN_U32("graphics/battle_frontier/arena_judgement_symbols.4bpp.lz"); -const u32 gBattleArenaJudgementSymbolsPalette[] = INCBIN_U32("graphics/battle_frontier/arena_judgement_symbols.gbapal.lz"); +const u32 gBattleArenaJudgmentSymbolsGfx[] = INCBIN_U32("graphics/battle_frontier/arena_judgment_symbols.4bpp.lz"); +const u32 gBattleArenaJudgmentSymbolsPalette[] = INCBIN_U32("graphics/battle_frontier/arena_judgment_symbols.gbapal.lz"); const u32 gBattleWindowTextPalette[] = INCBIN_U32("graphics/battle_interface/text.gbapal.lz"); const u16 gPPTextPalette[] = INCBIN_U16("graphics/battle_interface/text_pp.gbapal"); @@ -1400,17 +1400,31 @@ const u32 gStorageSystemPartyMenu_Tilemap[] = INCBIN_U32("graphics/pokemon_stora // naming screen -const u16 gNamingScreenMenu_Pal[] = INCBIN_U16("graphics/naming_screen/menu.gbapal"); -const u32 gNamingScreenMenu_Gfx[] = INCBIN_U32("graphics/naming_screen/menu.4bpp.lz"); -const u8 gNamingScreenRWindow_Gfx[] = INCBIN_U8("graphics/naming_screen/rwindow.4bpp"); -const u8 gNamingScreenROptions_Gfx[] = INCBIN_U8("graphics/naming_screen/roptions.4bpp"); -const u8 gNamingScreenCursor_Gfx[] = INCBIN_U8("graphics/naming_screen/cursor.4bpp"); -const u8 gNamingScreenPageButton_Gfx[] = INCBIN_U8("graphics/naming_screen/page_button.4bpp"); -const u8 gNamingScreenInputArrow_Gfx[] = INCBIN_U8("graphics/naming_screen/input_arrow.4bpp"); -const u8 gNamingScreenUnderscore_Gfx[] = INCBIN_U8("graphics/naming_screen/underscore.4bpp"); -const u32 gNamingScreenBackground_Tilemap[] = INCBIN_U32("graphics/naming_screen/background.bin.lz"); -const u32 gNamingScreenKeyboardUpper_Tilemap[] = INCBIN_U32("graphics/naming_screen/keyboard_upper.bin.lz"); -const u32 gNamingScreenKeyboardLower_Tilemap[] = INCBIN_U32("graphics/naming_screen/keyboard_lower.bin.lz"); +const u16 gNamingScreenMenu_Pal[6][16] = +{ + INCBIN_U16("graphics/naming_screen/menu.gbapal"), + INCBIN_U16("graphics/naming_screen/page_swap_upper.gbapal"), + INCBIN_U16("graphics/naming_screen/page_swap_lower.gbapal"), + INCBIN_U16("graphics/naming_screen/page_swap_others.gbapal"), + INCBIN_U16("graphics/naming_screen/buttons.gbapal"), + INCBIN_U16("graphics/naming_screen/cursor.gbapal"), +}; +const u32 gNamingScreenMenu_Gfx[] = INCBIN_U32("graphics/naming_screen/menu.4bpp.lz"); +const u32 gNamingScreenPageSwapFrame_Gfx[] = INCBIN_U32("graphics/naming_screen/page_swap_frame.4bpp"); +const u32 gNamingScreenBackButton_Gfx[] = INCBIN_U32("graphics/naming_screen/back_button.4bpp"); +const u32 gNamingScreenOKButton_Gfx[] = INCBIN_U32("graphics/naming_screen/ok_button.4bpp"); +const u32 gNamingScreenPageSwapUpper_Gfx[] = INCBIN_U32("graphics/naming_screen/page_swap_upper.4bpp"); +const u32 gNamingScreenPageSwapLower_Gfx[] = INCBIN_U32("graphics/naming_screen/page_swap_lower.4bpp"); +const u32 gNamingScreenPageSwapOthers_Gfx[] = INCBIN_U32("graphics/naming_screen/page_swap_others.4bpp"); +const u32 gNamingScreenCursor_Gfx[] = INCBIN_U32("graphics/naming_screen/cursor.4bpp"); +const u32 gNamingScreenCursorSquished_Gfx[] = INCBIN_U32("graphics/naming_screen/cursor_squished.4bpp"); +const u32 gNamingScreenCursorFilled_Gfx[] = INCBIN_U32("graphics/naming_screen/cursor_filled.4bpp"); +const u32 gNamingScreenPageSwapButton_Gfx[] = INCBIN_U32("graphics/naming_screen/page_swap_button.4bpp"); +const u32 gNamingScreenInputArrow_Gfx[] = INCBIN_U32("graphics/naming_screen/input_arrow.4bpp"); +const u32 gNamingScreenUnderscore_Gfx[] = INCBIN_U32("graphics/naming_screen/underscore.4bpp"); +const u32 gNamingScreenBackground_Tilemap[] = INCBIN_U32("graphics/naming_screen/background.bin.lz"); +const u32 gNamingScreenKeyboardUpper_Tilemap[] = INCBIN_U32("graphics/naming_screen/keyboard_upper.bin.lz"); +const u32 gNamingScreenKeyboardLower_Tilemap[] = INCBIN_U32("graphics/naming_screen/keyboard_lower.bin.lz"); const u32 gNamingScreenKeyboardSymbols_Tilemap[] = INCBIN_U32("graphics/naming_screen/keyboard_symbols.bin.lz"); // union room chat diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 38f096af84..8be5372e98 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -101,7 +101,7 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2); static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2); static void Task_DoDomeConfetti(u8 taskId); -static void SpriteCB_HofConfetti(struct Sprite* sprite); +static void SpriteCB_HofConfetti(struct Sprite *sprite); static const struct BgTemplate sHof_BgTemplates[] = { @@ -182,7 +182,7 @@ static const struct OamData sOamData_Confetti = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -484,7 +484,7 @@ static void Task_Hof_InitMonData(u8 taskId) static void Task_Hof_InitTeamSaveData(u8 taskId) { u16 i; - struct HallofFameTeam* lastSavedTeam = (struct HallofFameTeam*)(gDecompressionBuffer); + struct HallofFameTeam *lastSavedTeam = (struct HallofFameTeam *)(gDecompressionBuffer); if (!gHasHallOfFameRecords) { @@ -503,8 +503,8 @@ static void Task_Hof_InitTeamSaveData(u8 taskId) } if (i >= HALL_OF_FAME_MAX_TEAMS) { - struct HallofFameTeam *afterTeam = (struct HallofFameTeam*)(gDecompressionBuffer); - struct HallofFameTeam *beforeTeam = (struct HallofFameTeam*)(gDecompressionBuffer); + struct HallofFameTeam *afterTeam = (struct HallofFameTeam *)(gDecompressionBuffer); + struct HallofFameTeam *beforeTeam = (struct HallofFameTeam *)(gDecompressionBuffer); afterTeam++; for (i = 0; i < HALL_OF_FAME_MAX_TEAMS - 1; i++, beforeTeam++, afterTeam++) { @@ -515,7 +515,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId) *lastSavedTeam = *sHofMonPtr; DrawDialogueFrame(0, FALSE); - AddTextPrinterParameterized2(0, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); CopyWindowToVram(0, COPYWIN_FULL); gTasks[taskId].func = Task_Hof_TrySaveData; } @@ -700,7 +700,7 @@ static void Task_Hof_DisplayPlayer(u8 taskId) ShowBg(0); ShowBg(1); ShowBg(3); - gTasks[taskId].tPlayerSpriteID = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId_Debug(gSaveBlock2Ptr->playerGender, TRUE), 1, 120, 72, 6, TAG_NONE); + gTasks[taskId].tPlayerSpriteID = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId_Debug(gSaveBlock2Ptr->playerGender, TRUE), TRUE, 120, 72, 6, TAG_NONE); AddWindow(&sHof_WindowTemplate); LoadWindowGfx(1, gSaveBlock2Ptr->optionsWindowFrameType, 0x21D, 0xD0); LoadPalette(GetTextWindowPalette(1), 0xE0, 0x20); @@ -723,7 +723,7 @@ static void Task_Hof_WaitAndPrintPlayerInfo(u8 taskId) FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20); HallOfFame_PrintPlayerInfo(1, 2); DrawDialogueFrame(0, FALSE); - AddTextPrinterParameterized2(0, FONT_NORMAL, gText_LeagueChamp, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gText_LeagueChamp, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); CopyWindowToVram(0, COPYWIN_FULL); gTasks[taskId].func = Task_Hof_ExitOnKeyPressed; } @@ -821,7 +821,7 @@ void CB2_DoHallOfFamePC(void) case 3: if (!LoadHofBgs()) { - struct HallofFameTeam *fameTeam = (struct HallofFameTeam*)(gDecompressionBuffer); + struct HallofFameTeam *fameTeam = (struct HallofFameTeam *)(gDecompressionBuffer); fameTeam->mon[0] = sDummyFameMon; ComputerScreenOpenEffect(0, 0, 0); SetVBlankCallback(VBlankCB_HallOfFame); @@ -867,7 +867,7 @@ static void Task_HofPC_CopySaveData(u8 taskId) else { u16 i; - struct HallofFameTeam* savedTeams; + struct HallofFameTeam *savedTeams; CpuCopy16(gDecompressionBuffer, sHofMonPtr, SECTOR_SIZE * NUM_HOF_SECTORS); savedTeams = sHofMonPtr; @@ -890,7 +890,7 @@ static void Task_HofPC_CopySaveData(u8 taskId) static void Task_HofPC_DrawSpritesPrintText(u8 taskId) { - struct HallofFameTeam* savedTeams = sHofMonPtr; + struct HallofFameTeam *savedTeams = sHofMonPtr; struct HallofFameMon* currMon; u16 i; @@ -931,7 +931,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId) if (currMon->species == SPECIES_EGG) posY += 10; - spriteId = CreateMonPicSprite_HandleDeoxys(currMon->species, currMon->tid, currMon->personality, 1, posX, posY, i, TAG_NONE); + spriteId = CreateMonPicSprite_HandleDeoxys(currMon->species, currMon->tid, currMon->personality, TRUE, posX, posY, i, TAG_NONE); gSprites[spriteId].oam.priority = 1; gTasks[taskId].tMonSpriteId(i) = spriteId; } @@ -956,7 +956,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId) static void Task_HofPC_PrintMonInfo(u8 taskId) { - struct HallofFameTeam* savedTeams = sHofMonPtr; + struct HallofFameTeam *savedTeams = sHofMonPtr; struct HallofFameMon* currMon; u16 i; u16 currMonID; @@ -1042,10 +1042,10 @@ static void Task_HofPC_HandleInput(u8 taskId) static void Task_HofPC_HandlePaletteOnExit(u8 taskId) { - struct HallofFameTeam* fameTeam; + struct HallofFameTeam *fameTeam; CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); - fameTeam = (struct HallofFameTeam*)(gDecompressionBuffer); + fameTeam = (struct HallofFameTeam *)(gDecompressionBuffer); fameTeam->mon[0] = sDummyFameMon; ComputerScreenCloseEffect(0, 0, 0); gTasks[taskId].func = Task_HofPC_HandleExit; @@ -1088,7 +1088,7 @@ static void Task_HofPC_PrintDataIsCorrupted(u8 taskId) { HofPCTopBar_Print(gText_AButtonExit, 8, TRUE); DrawDialogueFrame(0, FALSE); - AddTextPrinterParameterized2(0, FONT_NORMAL, gText_HOFCorrupted, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gText_HOFCorrupted, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); CopyWindowToVram(0, COPYWIN_FULL); gTasks[taskId].func = Task_HofPC_ExitOnButtonPress; } @@ -1369,7 +1369,7 @@ static void SpriteCB_GetOnScreenAndAnimate(struct Sprite *sprite) #define sSineIdx data[0] #define sExtraY data[1] -static void SpriteCB_HofConfetti(struct Sprite* sprite) +static void SpriteCB_HofConfetti(struct Sprite *sprite) { if (sprite->y2 > 120) { @@ -1394,7 +1394,7 @@ static void SpriteCB_HofConfetti(struct Sprite* sprite) static bool8 CreateHofConfettiSprite(void) { u8 spriteID; - struct Sprite* sprite; + struct Sprite *sprite; s16 posX = Random() % DISPLAY_WIDTH; s16 posY = -(Random() % 8); diff --git a/src/hof_pc.c b/src/hof_pc.c index f74448cca6..79ba4b4b46 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -14,7 +14,7 @@ static void Task_WaitForPaletteFade(u8); void AccessHallOfFamePC(void) { SetMainCallback2(CB2_DoHallOfFamePC); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } void ReturnFromHallOfFamePC(void) @@ -25,7 +25,7 @@ void ReturnFromHallOfFamePC(void) static void ReshowPCMenuAfterHallOfFamePC(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); Overworld_PlaySpecialMapMusic(); ScriptMenu_CreatePCMultichoice(); ScriptMenu_DisplayPCStartupPrompt(); diff --git a/src/image_processing_effects.c b/src/image_processing_effects.c index 60b105163e..51a5d13993 100644 --- a/src/image_processing_effects.c +++ b/src/image_processing_effects.c @@ -28,14 +28,14 @@ static void ApplyImageEffect_PersonalityColor(u8); static void ApplyImageEffect_RedChannelGrayscale(u8); static void ApplyImageEffect_RedChannelGrayscaleHighlight(u8); static void AddPointillismPoints(u16); -static u16 ConvertColorToGrayscale(u16*); -static u16 QuantizePixel_Blur(u16*, u16*, u16*); -static u16 QuantizePixel_PersonalityColor(u16*, u8); -static u16 QuantizePixel_BlackAndWhite(u16*); -static u16 QuantizePixel_BlackOutline(u16*, u16*); -static u16 QuantizePixel_Invert(u16*); -static u16 QuantizePixel_BlurHard(u16*, u16*, u16*); -static u16 QuantizePixel_MotionBlur(u16*, u16*); +static u16 ConvertColorToGrayscale(u16 *); +static u16 QuantizePixel_Blur(u16 *, u16 *, u16 *); +static u16 QuantizePixel_PersonalityColor(u16 *, u8); +static u16 QuantizePixel_BlackAndWhite(u16 *); +static u16 QuantizePixel_BlackOutline(u16 *, u16 *); +static u16 QuantizePixel_Invert(u16 *); +static u16 QuantizePixel_BlurHard(u16 *, u16 *, u16 *); +static u16 QuantizePixel_MotionBlur(u16 *, u16 *); static u16 GetColorFromPersonality(u8); static void QuantizePalette_Standard(bool8); static void SetPresetPalette_PrimaryColors(void); @@ -46,10 +46,10 @@ static void SetPresetPalette_GrayscaleSmall(void); static void QuantizePalette_GrayscaleSmall(void); static void SetPresetPalette_BlackAndWhite(void); static void QuantizePalette_BlackAndWhite(void); -static u16 QuantizePixel_Standard(u16*); -static u16 QuantizePixel_GrayscaleSmall(u16*); -static u16 QuantizePixel_Grayscale(u16*); -static u16 QuantizePixel_PrimaryColors(u16*); +static u16 QuantizePixel_Standard(u16 *); +static u16 QuantizePixel_GrayscaleSmall(u16 *); +static u16 QuantizePixel_Grayscale(u16 *); +static u16 QuantizePixel_PrimaryColors(u16 *); #define MAX_DIMENSION 64 @@ -1091,7 +1091,7 @@ static u16 QuantizePixel_Standard(u16 *pixel) return RGB2(red, green, blue); } -static u16 QuantizePixel_PrimaryColors(u16* color) +static u16 QuantizePixel_PrimaryColors(u16 *color) { u16 red = GET_R(*color); u16 green = GET_G(*color); diff --git a/src/international_string_util.c b/src/international_string_util.c index e4b793b66c..f71734fa7e 100644 --- a/src/international_string_util.c +++ b/src/international_string_util.c @@ -48,7 +48,7 @@ int GetMaxWidthInMenuTable(const struct MenuAction *actions, int numActions) return ConvertPixelWidthToTileWidth(maxWidth); } -int GetMaxWidthInSubsetOfMenuTable(const struct MenuAction *actions, const u8* actionIds, int numActions) +int GetMaxWidthInSubsetOfMenuTable(const struct MenuAction *actions, const u8 *actionIds, int numActions) { int i, maxWidth; @@ -206,12 +206,13 @@ void TVShowConvertInternationalString(u8 *dest, const u8 *src, int language) ConvertInternationalString(dest, language); } +// It's impossible to distinguish between Latin languages just from a string alone, so the function defaults to LANGUAGE_ENGLISH. This is the case in all of the versions of the game. int GetNicknameLanguage(u8 *str) { if (str[0] == EXT_CTRL_CODE_BEGIN && str[1] == EXT_CTRL_CODE_JPN) return LANGUAGE_JAPANESE; else - return GAME_LANGUAGE; + return LANGUAGE_ENGLISH; } // Used by Pokénav's Match Call to erase the previous trainer's flavor text when switching between their info pages. diff --git a/src/intro.c b/src/intro.c index a1d0508f4f..bc81bcbb6f 100644 --- a/src/intro.c +++ b/src/intro.c @@ -216,7 +216,7 @@ static const struct OamData sOamData_Sparkle = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -284,7 +284,7 @@ static const struct OamData sOamData_Volbeat = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -320,7 +320,7 @@ static const struct OamData sOamData_Torchic = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -380,7 +380,7 @@ static const struct OamData sOamData_Manectric = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -428,7 +428,7 @@ static const struct OamData sOamData_Lightning = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -519,7 +519,7 @@ static const struct OamData sOamData_Bubbles = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), .x = 0, @@ -558,7 +558,7 @@ static const struct OamData sOamData_WaterDrop = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -660,7 +660,7 @@ static const struct OamData sOamData_GameFreakLetter = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -676,7 +676,7 @@ static const struct OamData sOamData_PresentsLetter = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -692,7 +692,7 @@ static const struct OamData sOamData_GameFreakLogo = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x64), .x = 0, @@ -931,7 +931,7 @@ static const struct OamData sOamData_FlygonSilhouette = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -983,7 +983,7 @@ static const struct OamData sOamData_RayquazaOrb = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -1039,7 +1039,7 @@ static void MainCB2_Intro(void) AnimateSprites(); BuildOamBuffer(); UpdatePaletteFade(); - if (gMain.newKeys && !gPaletteFade.active) + if (gMain.newKeys != 0 && !gPaletteFade.active) SetMainCallback2(MainCB2_EndIntro); else if (gIntroFrameCounter != -1) gIntroFrameCounter++; @@ -2933,7 +2933,7 @@ static void SpriteCB_WaterDrop_ReachLeafEnd(struct Sprite *sprite) SetOamMatrix(sprite->data[1], sprite->data[6] + 64, 0, 0, sprite->data[6] + 64); SetOamMatrix(sprite->data[1] + 1, sprite->data[6] + 64, 0, 0, sprite->data[6] + 64); SetOamMatrix(sprite->data[1] + 2, sprite->data[6] + 64, 0, 0, sprite->data[6] + 64); - if (sprite->data[4] != 64) + if (sprite->data[4] != MAX_SPRITES) { u16 sinIdx; sprite->data[4] -= 8; diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c index 0942e82f17..cf193018a4 100644 --- a/src/intro_credits_graphics.c +++ b/src/intro_credits_graphics.c @@ -1106,7 +1106,7 @@ static void SpriteCB_Player(struct Sprite *sprite) #define sPlayerSpriteId data[0] -static void SpriteCB_Bicycle(struct Sprite* sprite) +static void SpriteCB_Bicycle(struct Sprite *sprite) { sprite->invisible = gSprites[sprite->sPlayerSpriteId].invisible; sprite->x = gSprites[sprite->sPlayerSpriteId].x; @@ -1139,7 +1139,7 @@ static void SpriteCB_FlygonLeftHalf(struct Sprite *sprite) #define sLeftSpriteId data[0] -static void SpriteCB_FlygonRightHalf(struct Sprite* sprite) +static void SpriteCB_FlygonRightHalf(struct Sprite *sprite) { sprite->invisible = gSprites[sprite->sLeftSpriteId].invisible; sprite->y = gSprites[sprite->sLeftSpriteId].y; diff --git a/src/item.c b/src/item.c index 63287693a8..acb00acc75 100644 --- a/src/item.c +++ b/src/item.c @@ -15,8 +15,6 @@ #include "constants/items.h" #include "constants/hold_effects.h" -extern u16 gUnknown_0203CF30[]; - // this file's functions static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count); static bool8 CheckPyramidBagHasSpace(u16 itemId, u16 count); @@ -740,11 +738,11 @@ bool8 AddPyramidBagItem(u16 itemId, u16 count) u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode]; - u16 *newItems = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); - u8 *newQuantities = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); + u16 *newItems = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(*newItems)); + u8 *newQuantities = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(*newQuantities)); - memcpy(newItems, items, PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); - memcpy(newQuantities, quantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); + memcpy(newItems, items, PYRAMID_BAG_ITEMS_COUNT * sizeof(*newItems)); + memcpy(newQuantities, quantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(*newQuantities)); for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++) { @@ -792,8 +790,8 @@ bool8 AddPyramidBagItem(u16 itemId, u16 count) if (count == 0) { - memcpy(items, newItems, PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); - memcpy(quantities, newQuantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); + memcpy(items, newItems, PYRAMID_BAG_ITEMS_COUNT * sizeof(*items)); + memcpy(quantities, newQuantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(*quantities)); Free(newItems); Free(newQuantities); return TRUE; @@ -823,11 +821,11 @@ bool8 RemovePyramidBagItem(u16 itemId, u16 count) } else { - u16 *newItems = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); - u8 *newQuantities = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); + u16 *newItems = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(*newItems)); + u8 *newQuantities = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(*newQuantities)); - memcpy(newItems, items, PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); - memcpy(newQuantities, quantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); + memcpy(newItems, items, PYRAMID_BAG_ITEMS_COUNT * sizeof(*newItems)); + memcpy(newQuantities, quantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(*newQuantities)); for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++) { @@ -854,8 +852,8 @@ bool8 RemovePyramidBagItem(u16 itemId, u16 count) if (count == 0) { - memcpy(items, newItems, PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); - memcpy(quantities, newQuantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); + memcpy(items, newItems, PYRAMID_BAG_ITEMS_COUNT * sizeof(*items)); + memcpy(quantities, newQuantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(*quantities)); Free(newItems); Free(newQuantities); return TRUE; diff --git a/src/item_icon.c b/src/item_icon.c index dc69d03318..274ed03b36 100644 --- a/src/item_icon.c +++ b/src/item_icon.c @@ -18,7 +18,7 @@ static const struct OamData sOamData_ItemIcon = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, diff --git a/src/item_menu.c b/src/item_menu.c index cd0bc159d6..288c2d9565 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -128,7 +128,7 @@ static bool8 LoadBagMenu_Graphics(void); static void LoadBagMenuTextWindows(void); static void AllocateBagItemListBuffers(void); static void LoadBagItemListBuffers(u8); -static void PrintPocketNames(const u8*, const u8*); +static void PrintPocketNames(const u8 *, const u8 *); static void CopyPocketNameToWindow(u32); static void DrawPocketIndicatorSquare(u8, bool8); static void CreatePocketScrollArrowPair(void); @@ -138,10 +138,10 @@ static void PrepareTMHMMoveWindow(void); static bool8 IsWallysBag(void); static void Task_WallyTutorialBagMenu(u8); static void Task_BagMenu_HandleInput(u8); -static void GetItemName(s8*, u16); +static void GetItemName(s8 *, u16); static void PrintItemDescription(int); static void BagMenu_PrintCursorAtPos(u8, u8); -static void BagMenu_Print(u8, u8, const u8*, u8, u8, u8, u8, u8, u8); +static void BagMenu_Print(u8, u8, const u8 *, u8, u8, u8, u8, u8, u8); static void Task_CloseBagMenu(u8); static u8 AddItemMessageWindow(u8); static void RemoveItemMessageWindow(u8); @@ -189,7 +189,7 @@ static void InitPocketListPositions(void); static void InitPocketScrollPositions(void); static u8 CreateBagInputHandlerTask(u8); static void DrawItemListBgRow(u8); -static void BagMenu_MoveCursorCallback(s32, bool8, struct ListMenu*); +static void BagMenu_MoveCursorCallback(s32, bool8, struct ListMenu *); static void BagMenu_ItemPrintCallback(u8, u32, u8); static void ItemMenu_UseOutOfBattle(u8); static void ItemMenu_Toss(u8); @@ -1080,7 +1080,7 @@ void Task_FadeAndCloseBagMenu(u8 taskId) static void Task_CloseBagMenu(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (!gPaletteFade.active) { DestroyListMenuTask(tListTaskId, &gBagPosition.scrollPosition[gBagPosition.pocket], &gBagPosition.cursorPosition[gBagPosition.pocket]); @@ -1162,7 +1162,7 @@ u8 GetItemListPosition(u8 pocketId) void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void (*callback)(u8 taskId)) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; tMsgWindowId = AddItemMessageWindow(ITEMWIN_MESSAGE); FillWindowPixelBuffer(tMsgWindowId, PIXEL_FILL(1)); @@ -1172,9 +1172,9 @@ void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void (*callback)(u8 void CloseItemMessage(u8 taskId) { - s16* data = gTasks[taskId].data; - u16* scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; - u16* cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; + s16 *data = gTasks[taskId].data; + u16 *scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; + u16 *cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; RemoveItemMessageWindow(ITEMWIN_MESSAGE); DestroyListMenuTask(tListTaskId, scrollPos, cursorPos); UpdatePocketItemList(gBagPosition.pocket); @@ -1210,9 +1210,9 @@ static void PrintItemSoldAmount(int windowId, int numSold, int moneyEarned) static void Task_BagMenu_HandleInput(u8 taskId) { - s16* data = gTasks[taskId].data; - u16* scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; - u16* cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; + s16 *data = gTasks[taskId].data; + u16 *scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; + u16 *cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; s32 listPosition; if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE && !gPaletteFade.active) @@ -1313,7 +1313,7 @@ static void ChangeBagPocketId(u8 *bagPocketId, s8 deltaBagPocketId) static void SwitchBagPocket(u8 taskId, s16 deltaBagPocketId, bool16 skipEraseList) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; u8 newPocket; tPocketSwitchState = 0; @@ -1352,7 +1352,7 @@ static void SwitchBagPocket(u8 taskId, s16 deltaBagPocketId, bool16 skipEraseLis static void Task_SwitchBagPocket(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (!MenuHelpers_IsLinkActive() && !IsWallysBag()) { @@ -1430,7 +1430,7 @@ static bool8 CanSwapItems(void) static void StartItemSwap(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ListMenuSetUnkIndicatorsStructField(tListTaskId, 16, 1); tListPosition = gBagPosition.scrollPosition[gBagPosition.pocket] + gBagPosition.cursorPosition[gBagPosition.pocket]; @@ -1447,7 +1447,7 @@ static void StartItemSwap(u8 taskId) static void Task_HandleSwappingItemsInput(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE) { @@ -1485,9 +1485,9 @@ static void Task_HandleSwappingItemsInput(u8 taskId) static void DoItemSwap(u8 taskId) { - s16* data = gTasks[taskId].data; - u16* scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; - u16* cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; + s16 *data = gTasks[taskId].data; + u16 *scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; + u16 *cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; u16 realPos = (*scrollPos + *cursorPos); if (tListPosition == realPos || tListPosition == realPos - 1) @@ -1512,9 +1512,9 @@ static void DoItemSwap(u8 taskId) static void CancelItemSwap(u8 taskId) { - s16* data = gTasks[taskId].data; - u16* scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; - u16* cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; + s16 *data = gTasks[taskId].data; + u16 *scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; + u16 *cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; gBagMenu->toSwapPos = NOT_SWAPPING; DestroyListMenuTask(tListTaskId, scrollPos, cursorPos); @@ -1806,7 +1806,7 @@ static void ItemMenu_UseOutOfBattle(u8 taskId) static void ItemMenu_Toss(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; RemoveContextWindow(); tItemCount = 1; @@ -1827,7 +1827,7 @@ static void ItemMenu_Toss(u8 taskId) static void AskTossItems(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; CopyItemName(gSpecialVar_ItemId, gStringVar1); ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, MAX_ITEM_DIGITS); @@ -1839,7 +1839,7 @@ static void AskTossItems(u8 taskId) static void CancelToss(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; PrintItemDescription(tListPosition); BagMenu_PrintCursor(tListTaskId, COLORID_NORMAL); @@ -1848,7 +1848,7 @@ static void CancelToss(u8 taskId) static void Task_ChooseHowManyToToss(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (AdjustQuantityAccordingToDPadInput(&tItemCount, tQuantity) == TRUE) { @@ -1870,7 +1870,7 @@ static void Task_ChooseHowManyToToss(u8 taskId) static void ConfirmToss(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; CopyItemName(gSpecialVar_ItemId, gStringVar1); ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, MAX_ITEM_DIGITS); @@ -1884,9 +1884,9 @@ static void ConfirmToss(u8 taskId) // For when items are tossed or deposited static void Task_RemoveItemFromBag(u8 taskId) { - s16* data = gTasks[taskId].data; - u16* scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; - u16* cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; + s16 *data = gTasks[taskId].data; + u16 *scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; + u16 *cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; if (JOY_NEW(A_BUTTON | B_BUTTON)) { @@ -1904,9 +1904,9 @@ static void Task_RemoveItemFromBag(u8 taskId) static void ItemMenu_Register(u8 taskId) { - s16* data = gTasks[taskId].data; - u16* scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; - u16* cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; + s16 *data = gTasks[taskId].data; + u16 *scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; + u16 *cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; if (gSaveBlock1Ptr->registeredItem == gSpecialVar_ItemId) gSaveBlock1Ptr->registeredItem = 0; @@ -1973,7 +1973,7 @@ static void ItemMenu_CheckTag(u8 taskId) static void ItemMenu_Cancel(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; RemoveContextWindow(); PrintItemDescription(tListPosition); @@ -2044,7 +2044,7 @@ bool8 UseRegisteredKeyItemOnField(void) { if (CheckBagHasItem(gSaveBlock1Ptr->registeredItem, 1) == TRUE) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); PlayerFreeze(); StopPlayerAvatar(); @@ -2058,7 +2058,7 @@ bool8 UseRegisteredKeyItemOnField(void) gSaveBlock1Ptr->registeredItem = ITEM_NONE; } } - ScriptContext1_SetupScript(EventScript_SelectWithoutRegisteredItem); + ScriptContext_SetupScript(EventScript_SelectWithoutRegisteredItem); return TRUE; } @@ -2066,7 +2066,7 @@ bool8 UseRegisteredKeyItemOnField(void) static void Task_ItemContext_Sell(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (ItemId_GetPrice(gSpecialVar_ItemId) == 0) { @@ -2093,7 +2093,7 @@ static void Task_ItemContext_Sell(u8 taskId) static void DisplaySellItemPriceAndConfirm(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_ICanPayVar1); @@ -2107,7 +2107,7 @@ static void AskSellItems(u8 taskId) static void CancelSell(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; RemoveMoneyWindow(); RemoveItemMessageWindow(ITEMWIN_MESSAGE); @@ -2117,7 +2117,7 @@ static void CancelSell(u8 taskId) static void InitSellHowManyInput(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; u8 windowId = BagMenu_AddWindow(ITEMWIN_QUANTITY_WIDE); PrintItemSoldAmount(windowId, 1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount); @@ -2127,7 +2127,7 @@ static void InitSellHowManyInput(u8 taskId) static void Task_ChooseHowManyToSell(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (AdjustQuantityAccordingToDPadInput(&tItemCount, tQuantity) == TRUE) { @@ -2152,7 +2152,7 @@ static void Task_ChooseHowManyToSell(u8 taskId) static void ConfirmSell(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; CopyItemName(gSpecialVar_ItemId, gStringVar2); ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6); @@ -2162,9 +2162,9 @@ static void ConfirmSell(u8 taskId) static void SellItem(u8 taskId) { - s16* data = gTasks[taskId].data; - u16* scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; - u16* cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; + s16 *data = gTasks[taskId].data; + u16 *scrollPos = &gBagPosition.scrollPosition[gBagPosition.pocket]; + u16 *cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; PlaySE(SE_SHOP); RemoveBagItem(gSpecialVar_ItemId, tItemCount); @@ -2191,7 +2191,7 @@ static void WaitAfterItemSell(u8 taskId) static void Task_ItemContext_Deposit(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; tItemCount = 1; if (tQuantity == 1) @@ -2211,7 +2211,7 @@ static void Task_ItemContext_Deposit(u8 taskId) static void Task_ChooseHowManyToDeposit(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (AdjustQuantityAccordingToDPadInput(&tItemCount, tQuantity) == TRUE) { @@ -2235,7 +2235,7 @@ static void Task_ChooseHowManyToDeposit(u8 taskId) static void TryDepositItem(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0)); if (ItemId_GetImportance(gSpecialVar_ItemId)) @@ -2263,7 +2263,7 @@ static void TryDepositItem(u8 taskId) static void WaitDepositErrorMessage(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (JOY_NEW(A_BUTTON | B_BUTTON)) { @@ -2327,7 +2327,7 @@ void DoWallyTutorialBagMenu(void) static void Task_WallyTutorialBagMenu(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (!gPaletteFade.active) { @@ -2373,7 +2373,7 @@ static void ItemMenu_Show(u8 taskId) static void CB2_ApprenticeExitBagMenu(void) { - gFieldCallback = Apprentice_EnableBothScriptContexts; + gFieldCallback = Apprentice_ScriptContext_Enable; SetMainCallback2(CB2_ReturnToField); } @@ -2423,19 +2423,19 @@ static void PrintPocketNames(const u8 *pocketName1, const u8 *pocketName2) offset = GetStringCenterAlignXOffset(FONT_NORMAL, pocketName2, 0x40); BagMenu_Print(windowId, FONT_NORMAL, pocketName2, offset + 0x40, 1, 0, 0, TEXT_SKIP_DRAW, COLORID_POCKET_NAME); } - CpuCopy32((u8*)GetWindowAttribute(windowId, WINDOW_TILE_DATA), gBagMenu->pocketNameBuffer, sizeof(gBagMenu->pocketNameBuffer)); + CpuCopy32((u8 *)GetWindowAttribute(windowId, WINDOW_TILE_DATA), gBagMenu->pocketNameBuffer, sizeof(gBagMenu->pocketNameBuffer)); RemoveWindow(windowId); } static void CopyPocketNameToWindow(u32 a) { u8 (* tileDataBuffer)[32][32]; - u8* windowTileData; + u8 *windowTileData; int b; if (a > 8) a = 8; tileDataBuffer = &gBagMenu->pocketNameBuffer; - windowTileData = (u8*)GetWindowAttribute(2, WINDOW_TILE_DATA); + windowTileData = (u8 *)GetWindowAttribute(2, WINDOW_TILE_DATA); CpuCopy32(tileDataBuffer[0][a], windowTileData, 0x100); // Top half of pocket name b = a + 16; CpuCopy32(tileDataBuffer[0][b], windowTileData + 0x100, 0x100); // Bottom half of pocket name @@ -2478,7 +2478,7 @@ static u8 BagMenu_AddWindow(u8 windowType) if (*windowId == WINDOW_NONE) { *windowId = AddWindow(&sContextMenuWindowTemplates[windowType]); - DrawStdFrameWithCustomTileAndPalette(*windowId, 0, 1, 14); + DrawStdFrameWithCustomTileAndPalette(*windowId, FALSE, 1, 14); ScheduleBgCopyTilemapToVram(1); } return *windowId; @@ -2551,7 +2551,7 @@ static void PrintTMHMMoveData(u16 itemId) { u8 i; u16 moveId; - const u8* text; + const u8 *text; FillWindowPixelBuffer(WIN_TMHM_INFO, PIXEL_FILL(0)); if (itemId == ITEM_NONE) diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c index 5ac44f5ade..e5d2d68ed3 100644 --- a/src/item_menu_icons.c +++ b/src/item_menu_icons.c @@ -43,7 +43,7 @@ static const struct OamData sBagOamData = .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -93,12 +93,12 @@ static const union AnimCmd sSpriteAnim_Bag_Berries[] = static const union AnimCmd *const sBagSpriteAnimTable[] = { - sSpriteAnim_Bag_Closed, - sSpriteAnim_Bag_Items, - sSpriteAnim_Bag_Pokeballs, - sSpriteAnim_Bag_TMsHMs, - sSpriteAnim_Bag_Berries, - sSpriteAnim_Bag_KeyItems + [POCKET_NONE] = sSpriteAnim_Bag_Closed, + [POCKET_ITEMS] = sSpriteAnim_Bag_Items, + [POCKET_POKE_BALLS] = sSpriteAnim_Bag_Pokeballs, + [POCKET_TM_HM] = sSpriteAnim_Bag_TMsHMs, + [POCKET_BERRIES] = sSpriteAnim_Bag_Berries, + [POCKET_KEY_ITEMS] = sSpriteAnim_Bag_KeyItems, }; static const union AffineAnimCmd sSpriteAffineAnim_BagNormal[] = @@ -116,10 +116,15 @@ static const union AffineAnimCmd sSpriteAffineAnim_BagShake[] = AFFINEANIMCMD_END }; +enum { + ANIM_BAG_NORMAL, + ANIM_BAG_SHAKE, +}; + static const union AffineAnimCmd *const sBagAffineAnimCmds[] = { - sSpriteAffineAnim_BagNormal, - sSpriteAffineAnim_BagShake + [ANIM_BAG_NORMAL] = sSpriteAffineAnim_BagNormal, + [ANIM_BAG_SHAKE] = sSpriteAffineAnim_BagShake }; const struct CompressedSpriteSheet gBagMaleSpriteSheet = @@ -153,7 +158,7 @@ static const struct OamData sRotatingBallOamData = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -224,7 +229,7 @@ static const struct OamData sBerryPicOamData = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -241,7 +246,7 @@ static const struct OamData sBerryPicRotatingOamData = .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -381,7 +386,7 @@ static const struct OamData sBerryCheckCircleOamData = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -436,6 +441,8 @@ void AddBagVisualSprite(u8 bagPocketId) SetBagVisualPocketId(bagPocketId, FALSE); } +#define sPocketId data[0] + void SetBagVisualPocketId(u8 bagPocketId, bool8 isSwitchingPockets) { struct Sprite *sprite = &gSprites[gBagMenu->spriteIds[ITEMMENUSPRITE_BAG]]; @@ -443,8 +450,8 @@ void SetBagVisualPocketId(u8 bagPocketId, bool8 isSwitchingPockets) { sprite->y2 = -5; sprite->callback = SpriteCB_BagVisualSwitchingPockets; - sprite->data[0] = bagPocketId + 1; - StartSpriteAnim(sprite, 0); + sprite->sPocketId = bagPocketId + 1; + StartSpriteAnim(sprite, POCKET_NONE); } else { @@ -460,26 +467,29 @@ static void SpriteCB_BagVisualSwitchingPockets(struct Sprite *sprite) } else { - StartSpriteAnim(sprite, sprite->data[0]); + StartSpriteAnim(sprite, sprite->sPocketId); sprite->callback = SpriteCallbackDummy; } } +#undef sPocketId + void ShakeBagSprite(void) { struct Sprite *sprite = &gSprites[gBagMenu->spriteIds[ITEMMENUSPRITE_BAG]]; if (sprite->affineAnimEnded) { - StartSpriteAffineAnim(sprite, 1); + StartSpriteAffineAnim(sprite, ANIM_BAG_SHAKE); sprite->callback = SpriteCB_ShakeBagSprite; } } static void SpriteCB_ShakeBagSprite(struct Sprite *sprite) { + // Wait for shaking to end if (sprite->affineAnimEnded) { - StartSpriteAffineAnim(sprite, 0); + StartSpriteAffineAnim(sprite, ANIM_BAG_NORMAL); sprite->callback = SpriteCallbackDummy; } } diff --git a/src/item_use.c b/src/item_use.c index af8f2504f3..41e8884968 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -163,10 +163,10 @@ static void DisplayCannotDismountBikeMessage(u8 taskId, bool8 isUsingRegisteredK static void Task_CloseCantUseKeyItemMessage(u8 taskId) { - ClearDialogWindowAndFrame(0, 1); + ClearDialogWindowAndFrame(0, TRUE); DestroyTask(taskId); ScriptUnfreezeObjectEvents(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); } u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId) @@ -184,7 +184,7 @@ static void CB2_CheckMail(void) { struct Mail mail; mail.itemId = gSpecialVar_ItemId; - ReadMail(&mail, CB2_ReturnToBagMenuPocket, 0); + ReadMail(&mail, CB2_ReturnToBagMenuPocket, FALSE); } void ItemUseOutOfBattle_Mail(u8 taskId) @@ -195,7 +195,7 @@ void ItemUseOutOfBattle_Mail(u8 taskId) void ItemUseOutOfBattle_Bike(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; s16 coordsY; s16 coordsX; u8 behavior; @@ -222,7 +222,7 @@ static void ItemUseOnFieldCB_Bike(u8 taskId) else // ACRO_BIKE GetOnOffBike(PLAYER_AVATAR_FLAG_ACRO_BIKE); ScriptUnfreezeObjectEvents(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); } @@ -247,7 +247,7 @@ static bool32 CanFish(void) } else { - if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior) && !MapGridIsImpassableAt(x, y)) + if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior) && MapGridGetCollisionAt(x, y) == 0) return TRUE; if (MetatileBehavior_IsBridgeOverWaterNoEdge(tileBehavior) == TRUE) return TRUE; @@ -301,7 +301,7 @@ static void Task_UseItemfinder(u8 taskId) u8 playerDir; u8 playerDirToItem; u8 i; - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (tCounter == 0) { if (tItemfinderBeeps == 4) @@ -335,9 +335,9 @@ static void Task_UseItemfinder(u8 taskId) static void Task_CloseItemfinderMessage(u8 taskId) { - ClearDialogWindowAndFrame(0, 1); + ClearDialogWindowAndFrame(0, TRUE); ScriptUnfreezeObjectEvents(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); } @@ -456,7 +456,7 @@ static void CheckForHiddenItemsInMapConnection(u8 taskId) || var2 > y || y >= height) { - struct MapConnection *conn = GetConnectionAtCoords(x, y); + struct MapConnection *conn = GetMapConnectionAtPos(x, y); if (conn && IsHiddenItemPresentInConnection(conn, x, y) == TRUE) SetDistanceOfClosestHiddenItem(taskId, x - playerX, y - playerY); } @@ -692,8 +692,8 @@ void ItemUseOutOfBattle_Berry(u8 taskId) static void ItemUseOnFieldCB_Berry(u8 taskId) { RemoveBagItem(gSpecialVar_ItemId, 1); - ScriptContext2_Enable(); - ScriptContext1_SetupScript(BerryTree_EventScript_ItemUsePlantBerry); + LockPlayerFieldControls(); + ScriptContext_SetupScript(BerryTree_EventScript_ItemUsePlantBerry); DestroyTask(taskId); } @@ -717,8 +717,8 @@ void ItemUseOutOfBattle_WailmerPail(u8 taskId) static void ItemUseOnFieldCB_WailmerPailBerry(u8 taskId) { - ScriptContext2_Enable(); - ScriptContext1_SetupScript(BerryTree_EventScript_ItemUseWailmerPail); + LockPlayerFieldControls(); + ScriptContext_SetupScript(BerryTree_EventScript_ItemUseWailmerPail); DestroyTask(taskId); } @@ -738,8 +738,8 @@ static bool8 TryToWaterSudowoodo(void) static void ItemUseOnFieldCB_WailmerPailSudowoodo(u8 taskId) { - ScriptContext2_Enable(); - ScriptContext1_SetupScript(BattleFrontier_OutsideEast_EventScript_WaterSudowoodo); + LockPlayerFieldControls(); + ScriptContext_SetupScript(BattleFrontier_OutsideEast_EventScript_WaterSudowoodo); DestroyTask(taskId); } @@ -843,7 +843,7 @@ void ItemUseOutOfBattle_Repel(u8 taskId) static void Task_StartUseRepel(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (++data[8] > 7) { diff --git a/src/libisagbprn.c b/src/libisagbprn.c index 7a70cf41fa..fab9b5990b 100644 --- a/src/libisagbprn.c +++ b/src/libisagbprn.c @@ -2,6 +2,8 @@ #include #include "gba/gba.h" #include "config.h" +#include "malloc.h" +#include "mini_printf.h" #define AGB_PRINT_FLUSH_ADDR 0x9FE209D #define AGB_PRINT_STRUCT_ADDR 0x9FE20F8 @@ -14,6 +16,11 @@ #define NOCASHGBAPRINTADDR1 0x4FFFA10 // automatically adds a newline after the string has finished #define NOCASHGBAPRINTADDR2 0x4FFFA14 // does not automatically add the newline. by default, NOCASHGBAPRINTADDR2 is used. this is used to keep strings consistent between no$gba and VBA-RR, but a user can choose to forgo this. +// hardware extensions for LOG_HANDLER_MGBA_PRINT +#define REG_DEBUG_ENABLE ((vu16*) (0x4FFF780)) // handshake: (w)[0xC0DE] -> (r)[0x1DEA] +#define REG_DEBUG_FLAGS ((vu16*) (0x4FFF700)) +#define REG_DEBUG_STRING ((char*) (0x4FFF600)) + struct AGBPrintStruct { u16 m_nRequest; @@ -26,6 +33,8 @@ typedef void (*LPFN_PRINT_FLUSH)(void); #ifndef NDEBUG +// AGBPrint print functions +#if (LOG_HANDLER == LOG_HANDLER_AGB_PRINT) void AGBPrintFlush1Block(void); void AGBPrintInit(void) @@ -87,7 +96,13 @@ void AGBPrintf(const char *pBuf, ...) char bufPrint[0x100]; va_list vArgv; va_start(vArgv, pBuf); - vsprintf(bufPrint, pBuf, vArgv); + #if (PRETTY_PRINT_HANDLER == PRETTY_PRINT_MINI_PRINTF) + mini_vsnprintf(bufPrint, 0x100, pBuf, vArgv); + #elif (PRETTY_PRINT_HANDLER == PRETTY_PRINT_LIBC) + vsnprintf(bufPrint, 0x100, pBuf, vArgv); + #else + #error "unspecified pretty printing handler." + #endif va_end(vArgv); AGBPrint(bufPrint); } @@ -155,12 +170,13 @@ void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopP AGBPrintf("WARING FILE=[%s] LINE=[%d] EXP=[%s] \n", pFile, nLine, pExpression); } } +#endif -// no$gba print functions, uncomment to use -/* +// no$gba print functions +#if (LOG_HANDLER == LOG_HANDLER_NOCASH_PRINT) void NoCashGBAPrint(const char *pBuf) { - *(volatile u32*)NOCASHGBAPRINTADDR2 = (u32)pBuf; + *(volatile u32 *)NOCASHGBAPRINTADDR2 = (u32)pBuf; } void NoCashGBAPrintf(const char *pBuf, ...) @@ -168,10 +184,74 @@ void NoCashGBAPrintf(const char *pBuf, ...) char bufPrint[0x100]; va_list vArgv; va_start(vArgv, pBuf); - vsprintf(bufPrint, pBuf, vArgv); + #if (PRETTY_PRINT_HANDLER == PRETTY_PRINT_MINI_PRINTF) + mini_vsnprintf(bufPrint, 0x100, pBuf, vArgv); + #elif (PRETTY_PRINT_HANDLER == PRETTY_PRINT_LIBC) + vsnprintf(bufPrint, 0x100, pBuf, vArgv); + #else + #error "unspecified pretty printing handler." + #endif va_end(vArgv); NoCashGBAPrint(bufPrint); } -*/ +void NoCashGBAAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram) +{ + if (nStopProgram) + { + NoCashGBAPrintf("ASSERTION FAILED FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + asm(".hword 0xEFFF"); + } + else + { + NoCashGBAPrintf("WARING FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + } +} +#endif + +// mgba print functions +#if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) +#define MGBA_REG_DEBUG_MAX (256) + +bool32 MgbaOpen(void) +{ + *REG_DEBUG_ENABLE = 0xC0DE; + return *REG_DEBUG_ENABLE == 0x1DEA; +} + +void MgbaClose(void) +{ + *REG_DEBUG_ENABLE = 0; +} + +void MgbaPrintf(s32 level, const char* ptr, ...) +{ + va_list args; + + level &= 0x7; + va_start(args, ptr); + #if (PRETTY_PRINT_HANDLER == PRETTY_PRINT_MINI_PRINTF) + mini_vsnprintf(REG_DEBUG_STRING, MGBA_REG_DEBUG_MAX, ptr, args); + #elif (PRETTY_PRINT_HANDLER == PRETTY_PRINT_LIBC) + vsnprintf(REG_DEBUG_STRING, MGBA_REG_DEBUG_MAX, ptr, args); + #else + #error "unspecified pretty printing handler." + #endif + va_end(args); + *REG_DEBUG_FLAGS = level | 0x100; +} + +void MgbaAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram) +{ + if (nStopProgram) + { + MgbaPrintf(MGBA_LOG_ERROR, "ASSERTION FAILED FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + asm(".hword 0xEFFF"); + } + else + { + MgbaPrintf(MGBA_LOG_WARN, "WARING FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + } +} +#endif #endif diff --git a/src/librfu_intr.c b/src/librfu_intr.c index d902b1c45b..ab4392e229 100644 --- a/src/librfu_intr.c +++ b/src/librfu_intr.c @@ -41,7 +41,7 @@ static void sio32intr_clock_master(void) { if (gSTWIStatus->reqNext <= gSTWIStatus->reqLength) { - REG_SIODATA32 = ((u32*)gSTWIStatus->txPacket->rfuPacket8.data)[gSTWIStatus->reqNext]; + REG_SIODATA32 = ((u32 *)gSTWIStatus->txPacket->rfuPacket8.data)[gSTWIStatus->reqNext]; gSTWIStatus->reqNext++; } else @@ -62,7 +62,7 @@ static void sio32intr_clock_master(void) if ((regSIODATA32 & 0xFFFF0000) == 0x99660000) { gSTWIStatus->ackNext = 0; - ((u32*)gSTWIStatus->rxPacket)[gSTWIStatus->ackNext] = regSIODATA32; + ((u32 *)gSTWIStatus->rxPacket)[gSTWIStatus->ackNext] = regSIODATA32; gSTWIStatus->ackNext++; gSTWIStatus->ackActiveCommand = regSIODATA32; gSTWIStatus->ackLength = ackLen = regSIODATA32 >> 8; @@ -85,7 +85,7 @@ static void sio32intr_clock_master(void) } else if (gSTWIStatus->state == 2) // master receive ack { - ((u32*)gSTWIStatus->rxPacket)[gSTWIStatus->ackNext] = regSIODATA32; + ((u32 *)gSTWIStatus->rxPacket)[gSTWIStatus->ackNext] = regSIODATA32; gSTWIStatus->ackNext++; if (gSTWIStatus->ackLength < gSTWIStatus->ackNext) gSTWIStatus->state = 3; // master done ack @@ -158,7 +158,7 @@ static void sio32intr_clock_slave(void) regSIODATA32 = REG_SIODATA32; if (gSTWIStatus->state == 5) // slave receive req init { - ((u32*)gSTWIStatus->rxPacket)[0] = regSIODATA32; + ((u32 *)gSTWIStatus->rxPacket)[0] = regSIODATA32; gSTWIStatus->reqNext = 1; r0 = 0x99660000; // variable reuse required @@ -179,24 +179,24 @@ static void sio32intr_clock_slave(void) ) { gSTWIStatus->ackActiveCommand = gSTWIStatus->reqActiveCommand + 0x80; - ((u32*)gSTWIStatus->txPacket)[0] = 0x99660000 + gSTWIStatus->ackActiveCommand; + ((u32 *)gSTWIStatus->txPacket)[0] = 0x99660000 + gSTWIStatus->ackActiveCommand; gSTWIStatus->ackLength = 0; } else { - ((u32*)gSTWIStatus->txPacket)[0] = 0x996601EE; + ((u32 *)gSTWIStatus->txPacket)[0] = 0x996601EE; if (gSTWIStatus->reqActiveCommand >= 0x10 && gSTWIStatus->reqActiveCommand <= 0x3D) { - ((u32*)gSTWIStatus->txPacket)[1] = 1; + ((u32 *)gSTWIStatus->txPacket)[1] = 1; } else { - ((u32*)gSTWIStatus->txPacket)[1] = 2; + ((u32 *)gSTWIStatus->txPacket)[1] = 2; } gSTWIStatus->ackLength = 1; gSTWIStatus->error = ERR_REQ_CMD_ACK_REJECTION; } - REG_SIODATA32 = ((u32*)gSTWIStatus->txPacket)[0]; + REG_SIODATA32 = ((u32 *)gSTWIStatus->txPacket)[0]; gSTWIStatus->ackNext = 1; gSTWIStatus->state = 7; // slave send ack } @@ -216,7 +216,7 @@ static void sio32intr_clock_slave(void) } else if (gSTWIStatus->state == 6) // slave receive req { - ((u32*)gSTWIStatus->rxPacket)[gSTWIStatus->reqNext] = regSIODATA32; + ((u32 *)gSTWIStatus->rxPacket)[gSTWIStatus->reqNext] = regSIODATA32; gSTWIStatus->reqNext++; if (gSTWIStatus->reqLength < gSTWIStatus->reqNext) { @@ -227,24 +227,24 @@ static void sio32intr_clock_slave(void) ) { gSTWIStatus->ackActiveCommand = gSTWIStatus->reqActiveCommand + 0x80; - ((u32*)gSTWIStatus->txPacket)[0] = 0x99660000 | gSTWIStatus->ackActiveCommand; + ((u32 *)gSTWIStatus->txPacket)[0] = 0x99660000 | gSTWIStatus->ackActiveCommand; gSTWIStatus->ackLength = 0; } else { - ((u32*)gSTWIStatus->txPacket)[0] = 0x996601EE; + ((u32 *)gSTWIStatus->txPacket)[0] = 0x996601EE; if (gSTWIStatus->reqActiveCommand >= 0x10 && gSTWIStatus->reqActiveCommand <= 0x3D) { - ((u32*)gSTWIStatus->txPacket)[1] = 1; + ((u32 *)gSTWIStatus->txPacket)[1] = 1; } else { - ((u32*)gSTWIStatus->txPacket)[1] = 2; + ((u32 *)gSTWIStatus->txPacket)[1] = 2; } gSTWIStatus->ackLength = 1; gSTWIStatus->error = ERR_REQ_CMD_ACK_REJECTION; } - REG_SIODATA32 = ((u32*)gSTWIStatus->txPacket)[0]; + REG_SIODATA32 = ((u32 *)gSTWIStatus->txPacket)[0]; gSTWIStatus->ackNext = 1; gSTWIStatus->state = 7; // slave send ack } @@ -263,7 +263,7 @@ static void sio32intr_clock_slave(void) } else { - REG_SIODATA32 = ((u32*)gSTWIStatus->txPacket)[gSTWIStatus->ackNext]; + REG_SIODATA32 = ((u32 *)gSTWIStatus->txPacket)[gSTWIStatus->ackNext]; gSTWIStatus->ackNext++; } } @@ -336,8 +336,8 @@ static u16 handshake_wait(u16 slot) static void STWI_set_timer_in_RAM(u8 count) { - vu16* regTMCNTL = ®_TMCNT_L(gSTWIStatus->timerSelect); - vu16* regTMCNTH = ®_TMCNT_H(gSTWIStatus->timerSelect); + vu16 *regTMCNTL = ®_TMCNT_L(gSTWIStatus->timerSelect); + vu16 *regTMCNTH = ®_TMCNT_H(gSTWIStatus->timerSelect); REG_IME = 0; switch (count) { diff --git a/src/librfu_rfu.c b/src/librfu_rfu.c index 9a5db6d9df..319743d0d2 100644 --- a/src/librfu_rfu.c +++ b/src/librfu_rfu.c @@ -16,7 +16,7 @@ struct LLSFStruct u8 connSlotFlagShift; u8 slotStateShift; u8 ackShift; - u8 phaseShit; + u8 phaseShift; u8 nShift; u8 recvFirstMask; u8 connSlotFlagMask; @@ -89,7 +89,7 @@ static const struct LLSFStruct llsf_struct[2] = { .connSlotFlagShift = 0, .slotStateShift = 10, .ackShift = 9, - .phaseShit = 5, + .phaseShift = 5, .nShift = 7, .recvFirstMask = 2, .connSlotFlagMask = 0, @@ -105,7 +105,7 @@ static const struct LLSFStruct llsf_struct[2] = { .connSlotFlagShift = 18, .slotStateShift = 14, .ackShift = 13, - .phaseShit = 9, + .phaseShift = 9, .nShift = 11, .recvFirstMask = 3, .connSlotFlagMask = 15, @@ -1809,7 +1809,7 @@ static u16 rfu_STC_NI_constructLLSF(u8 bm_slot_id, u8 **dest_pp, struct NIComm * } frame = (NI_comm->state & 0xF) << llsf->slotStateShift | NI_comm->ack << llsf->ackShift - | NI_comm->phase << llsf->phaseShit + | NI_comm->phase << llsf->phaseShift | NI_comm->n[NI_comm->phase] << llsf->nShift | size; if (gRfuLinkStatus->parentChild == MODE_PARENT) @@ -1978,7 +1978,7 @@ static u16 rfu_STC_analyzeLLSF(u8 slot_id, const u8 *src, u16 last_frame) llsf_NI.connSlotFlag = (frames >> llsf_p->connSlotFlagShift) & llsf_p->connSlotFlagMask; llsf_NI.slotState = (frames >> llsf_p->slotStateShift) & llsf_p->slotStateMask; llsf_NI.ack = (frames >> llsf_p->ackShift) & llsf_p->ackMask; - llsf_NI.phase = (frames >> llsf_p->phaseShit) & llsf_p->phaseMask; + llsf_NI.phase = (frames >> llsf_p->phaseShift) & llsf_p->phaseMask; llsf_NI.n = (frames >> llsf_p->nShift) & llsf_p->nMask; llsf_NI.frame = (frames & llsf_p->framesMask) & frames; retVal = llsf_NI.frame + llsf_p->frameSize; diff --git a/src/librfu_stwi.c b/src/librfu_stwi.c index 8d8d10c406..b515f338e0 100644 --- a/src/librfu_stwi.c +++ b/src/librfu_stwi.c @@ -235,7 +235,7 @@ void STWI_send_SystemConfigREQ(u16 availSlotFlag, u8 maxMFrame, u8 mcTimer) packetBytes += sizeof(u32); *packetBytes++ = mcTimer; *packetBytes++ = maxMFrame; - *(u16*)packetBytes = availSlotFlag; + *(u16 *)packetBytes = availSlotFlag; STWI_start_Command(); } } diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c index 85340ed96e..e7a5862f07 100644 --- a/src/lilycove_lady.c +++ b/src/lilycove_lady.c @@ -294,7 +294,7 @@ void SetFavorLadyState_Complete(void) void FieldCallback_FavorLadyEnableScriptContexts(void) { - EnableBothScriptContexts(); + ScriptContext_Enable(); } static void QuizLadyPickQuestion(void) @@ -571,7 +571,7 @@ void BufferQuizCorrectAnswer(void) void FieldCallback_QuizLadyEnableScriptContexts(void) { - EnableBothScriptContexts(); + ScriptContext_Enable(); } void QuizLadyClearQuestionForRecordMix(const LilycoveLady *lilycoveLady) diff --git a/src/link.c b/src/link.c index e88cde55a3..b01be9d890 100644 --- a/src/link.c +++ b/src/link.c @@ -1595,7 +1595,7 @@ void CB2_LinkError(void) ResetSpriteData(); FreeAllSpritePalettes(); ResetPaletteFadeControl(); - FillPalette(0, 0, 2); + FillPalette(RGB_BLACK, 0, 2); ResetTasks(); ScanlineEffect_Stop(); if (gWirelessCommType) @@ -1608,7 +1608,7 @@ void CB2_LinkError(void) SetVBlankCallback(VBlankCB_LinkError); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sLinkErrorBgTemplates, ARRAY_COUNT(sLinkErrorBgTemplates)); - sLinkErrorBgTilemapBuffer = tilemapBuffer = malloc(BG_SCREEN_SIZE); + sLinkErrorBgTilemapBuffer = tilemapBuffer = Alloc(BG_SCREEN_SIZE); SetBgTilemapBuffer(1, tilemapBuffer); if (InitWindows(sLinkErrorWindowTemplates)) { diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c index 87e9f8e9d2..4730c74fde 100644 --- a/src/link_rfu_2.c +++ b/src/link_rfu_2.c @@ -61,7 +61,7 @@ struct SioInfo u8 filler[92]; }; -// Struct is mostly empty, presumably because usage of +// Struct is mostly empty, presumably because usage of // its fields was largely removed before release struct RfuDebug { @@ -1115,7 +1115,7 @@ static void RfuHandleReceiveCommand(u8 unused) { gRfu.recvBlock[i].receiving = RECV_STATE_FINISHED; Rfu_SetBlockReceivedFlag(i); - if (GetHostRfuGameData()->activity == (ACTIVITY_CHAT | IN_UNION_ROOM) && gReceivedRemoteLinkPlayers != 0 && gRfu.parentChild == MODE_CHILD) + if (GetHostRfuGameData()->activity == (ACTIVITY_CHAT | IN_UNION_ROOM) && gReceivedRemoteLinkPlayers && gRfu.parentChild == MODE_CHILD) ValidateAndReceivePokemonSioInfo(gBlockRecvBuffer); } } @@ -1643,7 +1643,7 @@ bool32 RfuTryDisconnectLeavingChildren(void) { u8 childrenLeaving = 0; s32 i; - + // Check all children, get those waiting to be disconnected for (i = 0; i < RFU_CHILD_MAX; i++) { @@ -2004,7 +2004,7 @@ static void RfuMain1_UnionRoom(void) { rfu_REQ_recvData(); rfu_waitREQComplete(); - rfu_LMAN_REQ_sendData(0); + rfu_LMAN_REQ_sendData(FALSE); } } @@ -2123,7 +2123,7 @@ void SetUnionRoomChatPlayerData(u32 numPlayers) // Only trainerId is shifted by the number of children, so the active flag and gender // are only ever set for the first child partnerInfo |= ((PINFO_ACTIVE_FLAG - | ((gLinkPlayers[gRfu.linkPlayerIdx[i]].gender & 1) << PINFO_GENDER_SHIFT) + | ((gLinkPlayers[gRfu.linkPlayerIdx[i]].gender & 1) << PINFO_GENDER_SHIFT) | (gLinkPlayers[gRfu.linkPlayerIdx[i]].trainerId & PINFO_TID_MASK)) << (numConnectedChildren * 8)); numConnectedChildren++; if (numConnectedChildren == numPlayers - 1) @@ -2477,7 +2477,7 @@ static void LinkManagerCB_UnionRoom(u8 msg, u8 paramCount) rfu_LMAN_stopManager(FALSE); } - if (gRfuLinkStatus->parentChild == MODE_NEUTRAL + if (gRfuLinkStatus->parentChild == MODE_NEUTRAL && !lman.pcswitch_flag && FuncIsActiveTask(Task_UnionRoomListen) == TRUE) gRfu.state = RFUSTATE_UR_CONNECT; @@ -2747,7 +2747,7 @@ static void Task_RfuReconnectWithParent(u8 taskId) if (CanTryReconnectParent()) { - u8 id = GetPartnerIndexByNameAndTrainerID((u8*)data, ReadU16(&data[8])); + u8 id = GetPartnerIndexByNameAndTrainerID((u8 *)data, ReadU16(&data[8])); if (id != 0xFF) { if (gRfuLinkStatus->partner[id].slot != 0xFF) @@ -2797,7 +2797,7 @@ void CreateTask_RfuReconnectWithParent(const u8 *name, u16 trainerId) gRfu.status = RFU_STATUS_OK; taskId = CreateTask(Task_RfuReconnectWithParent, 3); data = gTasks[taskId].data; - StringCopy((u8*)(data), name); + StringCopy((u8 *)(data), name); data[8] = trainerId; } @@ -2816,7 +2816,7 @@ static bool32 IsPartnerActivityIncompatible(s16 activity, struct RfuGameData *pa } else if (activity == (ACTIVITY_TRADE | IN_UNION_ROOM)) { - // Verify that the trade offered hasn't changed + // Verify that the trade offered hasn't changed struct RfuGameData *original = &gRfu.parent; if (original->tradeSpecies == SPECIES_EGG) { @@ -2947,7 +2947,7 @@ static void Debug_PrintStatus(void) if ((gRfuLinkStatus->getNameFlag >> i) & 1) { Debug_PrintNum(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4); - Debug_PrintString((void*)gRfuLinkStatus->partner[i].gname, 6, i + 3); + Debug_PrintString((void *)gRfuLinkStatus->partner[i].gname, 6, i + 3); Debug_PrintString(gRfuLinkStatus->partner[i].uname, 22, i + 3); } } @@ -2967,7 +2967,7 @@ static void Debug_PrintStatus(void) Debug_PrintString(sASCII_8Spaces, 22, i + 3); } Debug_PrintNum(gRfuLinkStatus->partner[gRfu.childSlot].serialNo, 1, 3, 4); - Debug_PrintString((void*)gRfuLinkStatus->partner[gRfu.childSlot].gname, 6, 3); + Debug_PrintString((void *)gRfuLinkStatus->partner[gRfu.childSlot].gname, 6, 3); Debug_PrintString(gRfuLinkStatus->partner[gRfu.childSlot].uname, 22, 3); } else diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c index 1e1fe5b347..0d028cd48a 100644 --- a/src/link_rfu_3.c +++ b/src/link_rfu_3.c @@ -824,7 +824,7 @@ void UpdateWirelessStatusIndicatorSprite(void) struct Sprite *sprite = &gSprites[gWirelessStatusIndicatorSpriteId]; u8 signalStrength = RFU_LINK_ICON_LEVEL4_MAX; u8 i = 0; - + // Get weakest signal strength if (gRfuLinkStatus->parentChild == MODE_PARENT) { @@ -913,7 +913,7 @@ void SaveLinkTrainerNames(void) s32 j; s32 nextSpace; s32 connectedTrainerRecordIndices[MAX_RFU_PLAYERS]; - struct TrainerNameRecord *newRecords = calloc(ARRAY_COUNT(gSaveBlock1Ptr->trainerNameRecords), sizeof(struct TrainerNameRecord)); + struct TrainerNameRecord *newRecords = AllocZeroed(sizeof(gSaveBlock1Ptr->trainerNameRecords)); // Check if we already have a record saved for connected trainers. for (i = 0; i < GetLinkPlayerCount(); i++) @@ -955,7 +955,7 @@ void SaveLinkTrainerNames(void) // Finalize the new list, and clean up. memcpy(gSaveBlock1Ptr->trainerNameRecords, newRecords, sizeof(gSaveBlock1Ptr->trainerNameRecords)); - free(newRecords); + Free(newRecords); } } diff --git a/src/list_menu.c b/src/list_menu.c index 8ba13a6cf8..112fca7530 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -127,7 +127,7 @@ static const struct OamData sOamData_ScrollArrowIndicator = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -267,7 +267,7 @@ static const struct OamData sOamData_RedArrowCursor = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -408,7 +408,7 @@ u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenu s32 ListMenu_ProcessInput(u8 listTaskId) { - struct ListMenu *list = (void*) gTasks[listTaskId].data; + struct ListMenu *list = (void *) gTasks[listTaskId].data; if (JOY_NEW(A_BUTTON)) { @@ -440,13 +440,13 @@ s32 ListMenu_ProcessInput(u8 listTaskId) break; case LIST_MULTIPLE_SCROLL_DPAD: // note: JOY_REPEAT won't match here - leftButton = gMain.newAndRepeatedKeys & DPAD_LEFT; - rightButton = gMain.newAndRepeatedKeys & DPAD_RIGHT; + leftButton = JOY_REPEAT(DPAD_LEFT); + rightButton = JOY_REPEAT(DPAD_RIGHT); break; case LIST_MULTIPLE_SCROLL_L_R: // same as above - leftButton = gMain.newAndRepeatedKeys & L_BUTTON; - rightButton = gMain.newAndRepeatedKeys & R_BUTTON; + leftButton = JOY_REPEAT(L_BUTTON); + rightButton = JOY_REPEAT(R_BUTTON); break; } @@ -469,7 +469,7 @@ s32 ListMenu_ProcessInput(u8 listTaskId) void DestroyListMenuTask(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) { - struct ListMenu *list = (void*) gTasks[listTaskId].data; + struct ListMenu *list = (void *) gTasks[listTaskId].data; if (scrollOffset != NULL) *scrollOffset = list->scrollOffset; @@ -484,7 +484,7 @@ void DestroyListMenuTask(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) void RedrawListMenu(u8 listTaskId) { - struct ListMenu *list = (void*) gTasks[listTaskId].data; + struct ListMenu *list = (void *) gTasks[listTaskId].data; FillWindowPixelBuffer(list->template.windowId, PIXEL_FILL(list->template.fillValue)); ListMenuPrintEntries(list, list->scrollOffset, 0, list->template.maxShowed); @@ -495,7 +495,7 @@ void RedrawListMenu(u8 listTaskId) // unused void ChangeListMenuPals(u8 listTaskId, u8 cursorPal, u8 fillValue, u8 cursorShadowPal) { - struct ListMenu *list = (void*) gTasks[listTaskId].data; + struct ListMenu *list = (void *) gTasks[listTaskId].data; list->template.cursorPal = cursorPal; list->template.fillValue = fillValue; @@ -505,7 +505,7 @@ void ChangeListMenuPals(u8 listTaskId, u8 cursorPal, u8 fillValue, u8 cursorShad // unused void ChangeListMenuCoords(u8 listTaskId, u8 x, u8 y) { - struct ListMenu *list = (void*) gTasks[listTaskId].data; + struct ListMenu *list = (void *) gTasks[listTaskId].data; SetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_LEFT, x); SetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP, y); @@ -537,7 +537,7 @@ s32 ListMenuTestInput(struct ListMenuTemplate *template, u32 scrollOffset, u32 s void ListMenuGetCurrentItemArrayId(u8 listTaskId, u16 *arrayId) { - struct ListMenu *list = (void*) gTasks[listTaskId].data; + struct ListMenu *list = (void *) gTasks[listTaskId].data; if (arrayId != NULL) *arrayId = list->scrollOffset + list->selectedRow; @@ -545,7 +545,7 @@ void ListMenuGetCurrentItemArrayId(u8 listTaskId, u16 *arrayId) void ListMenuGetScrollAndRow(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) { - struct ListMenu *list = (void*) gTasks[listTaskId].data; + struct ListMenu *list = (void *) gTasks[listTaskId].data; if (scrollOffset != NULL) *scrollOffset = list->scrollOffset; @@ -555,7 +555,7 @@ void ListMenuGetScrollAndRow(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId) { - struct ListMenu *list = (void*) gTasks[listTaskId].data; + struct ListMenu *list = (void *) gTasks[listTaskId].data; u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding; return list->selectedRow * yMultiplier + list->template.upText_Y; @@ -564,7 +564,7 @@ u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId) static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow) { u8 listTaskId = CreateTask(ListMenuDummyTask, 0); - struct ListMenu *list = (void*) gTasks[listTaskId].data; + struct ListMenu *list = (void *) gTasks[listTaskId].data; list->template = *listMenuTemplate; list->scrollOffset = scrollOffset; @@ -902,7 +902,7 @@ void ListMenuDefaultCursorMoveFunc(s32 itemIndex, bool8 onInit, struct ListMenu // unused s32 ListMenuGetUnkIndicatorsStructFields(u8 taskId, u8 field) { - struct UnkIndicatorsStruct *data = (void*) gTasks[taskId].data; + struct UnkIndicatorsStruct *data = (void *) gTasks[taskId].data; switch (field) { @@ -946,13 +946,13 @@ s32 ListMenuGetUnkIndicatorsStructFields(u8 taskId, u8 field) void ListMenuSetUnkIndicatorsStructField(u8 taskId, u8 field, s32 value) { - struct UnkIndicatorsStruct *data = (void*) &gTasks[taskId].data; + struct UnkIndicatorsStruct *data = (void *) &gTasks[taskId].data; switch (field) { case 0: case 1: - data->field_4 = (void*)(value); + data->field_4 = (void *)(value); break; case 2: data->field_C = value; @@ -1088,7 +1088,7 @@ u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 } taskId = CreateTask(Task_ScrollIndicatorArrowPair, 0); - data = (void*) gTasks[taskId].data; + data = (void *) gTasks[taskId].data; data->field_0 = 0; data->scrollOffset = scrollOffset; @@ -1140,7 +1140,7 @@ u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 fi static void Task_ScrollIndicatorArrowPair(u8 taskId) { - struct ScrollIndicatorPair *data = (void*) gTasks[taskId].data; + struct ScrollIndicatorPair *data = (void *) gTasks[taskId].data; u16 currItem = (*data->scrollOffset); if (currItem == data->fullyUpThreshold && currItem != 0xFFFF) @@ -1159,7 +1159,7 @@ static void Task_ScrollIndicatorArrowPair(u8 taskId) void Task_ScrollIndicatorArrowPairOnMainMenu(u8 taskId) { s16 *data = gTasks[taskId].data; - struct ScrollIndicatorPair *scrollData = (void*) data; + struct ScrollIndicatorPair *scrollData = (void *) data; if (tIsScrolled) { @@ -1177,7 +1177,7 @@ void Task_ScrollIndicatorArrowPairOnMainMenu(u8 taskId) void RemoveScrollIndicatorArrowPair(u8 taskId) { - struct ScrollIndicatorPair *data = (void*) gTasks[taskId].data; + struct ScrollIndicatorPair *data = (void *) gTasks[taskId].data; if (data->tileTag != TAG_NONE) FreeSpriteTilesByTag(data->tileTag); @@ -1334,7 +1334,7 @@ static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor) } taskId = CreateTask(Task_RedOutlineCursor, 0); - data = (void*) gTasks[taskId].data; + data = (void *) gTasks[taskId].data; data->tileTag = cursor->tileTag; data->palTag = cursor->palTag; @@ -1362,7 +1362,7 @@ static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor) static void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y) { - struct RedOutlineCursor *data = (void*) gTasks[taskId].data; + struct RedOutlineCursor *data = (void *) gTasks[taskId].data; gSprites[data->spriteId].x = x + 120; gSprites[data->spriteId].y = y + 120; @@ -1370,7 +1370,7 @@ static void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y) static void ListMenuRemoveRedOutlineCursorObject(u8 taskId) { - struct RedOutlineCursor *data = (void*) gTasks[taskId].data; + struct RedOutlineCursor *data = (void *) gTasks[taskId].data; Free(data->subspritesPtr); @@ -1419,7 +1419,7 @@ static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor) } taskId = CreateTask(Task_RedArrowCursor, 0); - data = (void*) gTasks[taskId].data; + data = (void *) gTasks[taskId].data; data->tileTag = cursor->tileTag; data->palTag = cursor->palTag; @@ -1442,7 +1442,7 @@ static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor) static void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y) { - struct RedArrowCursor *data = (void*) gTasks[taskId].data; + struct RedArrowCursor *data = (void *) gTasks[taskId].data; gSprites[data->spriteId].x = x; gSprites[data->spriteId].y = y; @@ -1450,7 +1450,7 @@ static void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y) static void ListMenuRemoveRedArrowCursorObject(u8 taskId) { - struct RedArrowCursor *data = (void*) gTasks[taskId].data; + struct RedArrowCursor *data = (void *) gTasks[taskId].data; if (data->tileTag != TAG_NONE) FreeSpriteTilesByTag(data->tileTag); diff --git a/src/load_save.c b/src/load_save.c index f2b12acf0c..44e08b5e9c 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -29,9 +29,9 @@ struct LoadedSaveData }; // EWRAM DATA -EWRAM_DATA struct SaveBlock2DMA gSaveblock2 = {0}; -EWRAM_DATA struct SaveBlock1DMA gSaveblock1 = {0}; -EWRAM_DATA struct PokemonStorageDMA gPokemonStorage = {0}; +EWRAM_DATA struct SaveBlock2ASLR gSaveblock2 = {0}; +EWRAM_DATA struct SaveBlock1ASLR gSaveblock1 = {0}; +EWRAM_DATA struct PokemonStorageASLR gPokemonStorage = {0}; EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0}; EWRAM_DATA u32 gLastEncryptionKey = 0; @@ -58,12 +58,12 @@ void CheckForFlashMemory(void) void ClearSav2(void) { - CpuFill16(0, &gSaveblock2, sizeof(struct SaveBlock2DMA)); + CpuFill16(0, &gSaveblock2, sizeof(struct SaveBlock2ASLR)); } void ClearSav1(void) { - CpuFill16(0, &gSaveblock1, sizeof(struct SaveBlock1DMA)); + CpuFill16(0, &gSaveblock1, sizeof(struct SaveBlock1ASLR)); } // Offset is the sum of the trainer id bytes @@ -73,9 +73,9 @@ void SetSaveBlocksPointers(u16 offset) offset = (offset + Random()) & (SAVEBLOCK_MOVE_RANGE - 4); - gSaveBlock2Ptr = (void*)(&gSaveblock2) + offset; - *sav1_LocalVar = (void*)(&gSaveblock1) + offset; - gPokemonStoragePtr = (void*)(&gPokemonStorage) + offset; + gSaveBlock2Ptr = (void *)(&gSaveblock2) + offset; + *sav1_LocalVar = (void *)(&gSaveblock1) + offset; + gPokemonStoragePtr = (void *)(&gPokemonStorage) + offset; SetBagItemsPointers(); SetDecorationInventoriesPointers(); diff --git a/src/m4a.c b/src/m4a.c index faeef83e79..7774d09cba 100644 --- a/src/m4a.c +++ b/src/m4a.c @@ -1178,7 +1178,7 @@ void CgbSound(void) *nrx3ptr = channels->frequency; else *nrx3ptr = (*nrx3ptr & 0x08) | channels->frequency; - channels->n4 = (channels->n4 & 0xC0) + (*((u8*)(&channels->frequency) + 1)); + channels->n4 = (channels->n4 & 0xC0) + (*((u8 *)(&channels->frequency) + 1)); *nrx4ptr = (s8)(channels->n4 & mask); } diff --git a/src/mail.c b/src/mail.c index 651fcbb84e..f1e4fbedf3 100644 --- a/src/mail.c +++ b/src/mail.c @@ -448,7 +448,7 @@ void ReadMail(struct Mail *mail, void (*exitCallback)(void), bool8 hasText) u16 buffer[2]; u16 species; - sMailRead = calloc(1, sizeof(*sMailRead)); + sMailRead = AllocZeroed(sizeof(*sMailRead)); sMailRead->language = GAME_LANGUAGE; sMailRead->international = TRUE; sMailRead->parserSingle = CopyEasyChatWord; diff --git a/src/main.c b/src/main.c index 5fd236447b..99d2610bb3 100644 --- a/src/main.c +++ b/src/main.c @@ -119,13 +119,20 @@ void AgbMain() gLinkTransferringData = FALSE; sUnusedVar = 0xFC0; +#ifndef NDEBUG +#if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) + (void) MgbaOpen(); +#elif (LOG_HANDLER == LOG_HANDLER_AGB_PRINT) + AGBPrintfInit(); +#endif +#endif for (;;) { ReadKeys(); if (gSoftResetDisabled == FALSE - && (gMain.heldKeysRaw & A_BUTTON) - && (gMain.heldKeysRaw & B_START_SELECT) == B_START_SELECT) + && JOY_HELD_RAW(A_BUTTON) + && JOY_HELD_RAW(B_START_SELECT) == B_START_SELECT) { rfu_REQ_stopMode(); rfu_waitREQComplete(); @@ -278,7 +285,7 @@ static void ReadKeys(void) gMain.heldKeys |= A_BUTTON; } - if (gMain.newKeys & gMain.watchedKeysMask) + if (JOY_NEW(gMain.watchedKeysMask)) gMain.watchedKeysPressed = TRUE; } diff --git a/src/main_menu.c b/src/main_menu.c index d11784133c..b8abffda57 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -178,8 +178,8 @@ static u32 InitMainMenu(bool8); static void Task_MainMenuCheckSaveFile(u8); static void Task_MainMenuCheckBattery(u8); static void Task_WaitForSaveFileErrorWindow(u8); -static void CreateMainMenuErrorWindow(const u8*); -static void ClearMainMenuWindowTilemap(const struct WindowTemplate*); +static void CreateMainMenuErrorWindow(const u8 *); +static void ClearMainMenuWindowTilemap(const struct WindowTemplate *); static void Task_DisplayMainMenu(u8); static void Task_WaitForBatteryDryErrorWindow(u8); static void MainMenu_FormatSavegameText(void); @@ -209,7 +209,7 @@ static void Task_NewGameBirchSpeech_StartPlayerFadeIn(u8); static void Task_NewGameBirchSpeech_WaitForPlayerFadeIn(u8); static void Task_NewGameBirchSpeech_BoyOrGirl(u8); static void LoadMainMenuWindowFrameTiles(u8, u16); -static void DrawMainMenuWindowBorder(const struct WindowTemplate*, u16); +static void DrawMainMenuWindowBorder(const struct WindowTemplate *, u16); static void Task_HighlightSelectedMainMenuItem(u8); static void Task_NewGameBirchSpeech_WaitToShowGenderMenu(u8); static void Task_NewGameBirchSpeech_ChooseGender(u8); @@ -232,7 +232,7 @@ static void Task_NewGameBirchSpeech_ReshowBirchLotad(u8); static void Task_NewGameBirchSpeech_WaitForSpriteFadeInAndTextPrinter(u8); static void Task_NewGameBirchSpeech_AreYouReady(u8); static void Task_NewGameBirchSpeech_ShrinkPlayer(u8); -static void SpriteCB_MovePlayerDownWhileShrinking(struct Sprite*); +static void SpriteCB_MovePlayerDownWhileShrinking(struct Sprite *); static void Task_NewGameBirchSpeech_WaitForPlayerShrink(u8); static void Task_NewGameBirchSpeech_FadePlayerToWhite(u8); static void Task_NewGameBirchSpeech_Cleanup(u8); @@ -621,7 +621,7 @@ static u32 InitMainMenu(bool8 returningFromOptionsMenu) static void Task_MainMenuCheckSaveFile(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (!gPaletteFade.active) { @@ -736,7 +736,7 @@ static void Task_WaitForBatteryDryErrorWindow(u8 taskId) static void Task_DisplayMainMenu(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; u16 palette; if (!gPaletteFade.active) @@ -880,7 +880,7 @@ static void Task_HighlightSelectedMainMenuItem(u8 taskId) static bool8 HandleMainMenuInput(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (JOY_NEW(A_BUTTON)) { @@ -1272,8 +1272,8 @@ static void Task_NewGameBirchSpeech_Init(u8 taskId) SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 0); - LZ77UnCompVram(sBirchSpeechShadowGfx, (void*)VRAM); - LZ77UnCompVram(sBirchSpeechBgMap, (void*)(BG_SCREEN_ADDR(7))); + LZ77UnCompVram(sBirchSpeechShadowGfx, (void *)VRAM); + LZ77UnCompVram(sBirchSpeechBgMap, (void *)(BG_SCREEN_ADDR(7))); LoadPalette(sBirchSpeechBgPals, 0, 64); LoadPalette(sBirchSpeechPlatformBlackPal, 1, 16); ScanlineEffect_Stop(); @@ -1333,7 +1333,7 @@ static void Task_NewGameBirchSpeech_WaitForSpriteFadeInWelcome(u8 taskId) CopyWindowToVram(0, COPYWIN_GFX); NewGameBirchSpeech_ClearWindow(0); StringExpandPlaceholders(gStringVar4, gText_Birch_Welcome); - AddTextPrinterForMessage(1); + AddTextPrinterForMessage(TRUE); gTasks[taskId].func = Task_NewGameBirchSpeech_ThisIsAPokemon; } } @@ -1345,7 +1345,7 @@ static void Task_NewGameBirchSpeech_ThisIsAPokemon(u8 taskId) { gTasks[taskId].func = Task_NewGameBirchSpeech_MainSpeech; StringExpandPlaceholders(gStringVar4, gText_ThisIsAPokemon); - AddTextPrinterWithCallbackForMessage(1, NewGameBirchSpeech_WaitForThisIsPokemonText); + AddTextPrinterWithCallbackForMessage(TRUE, NewGameBirchSpeech_WaitForThisIsPokemonText); sBirchSpeechMainTaskId = taskId; } } @@ -1355,7 +1355,7 @@ static void Task_NewGameBirchSpeech_MainSpeech(u8 taskId) if (!RunTextPrintersAndIsPrinter0Active()) { StringExpandPlaceholders(gStringVar4, gText_Birch_MainSpeech); - AddTextPrinterForMessage(1); + AddTextPrinterForMessage(TRUE); gTasks[taskId].func = Task_NewGameBirchSpeech_AndYouAre; } } @@ -1410,7 +1410,7 @@ static void Task_NewGameBirchSpeech_AndYouAre(u8 taskId) { sStartedPokeBallTask = FALSE; StringExpandPlaceholders(gStringVar4, gText_Birch_AndYouAre); - AddTextPrinterForMessage(1); + AddTextPrinterForMessage(TRUE); gTasks[taskId].func = Task_NewGameBirchSpeech_StartBirchLotadPlatformFade; } } @@ -1482,7 +1482,7 @@ static void Task_NewGameBirchSpeech_BoyOrGirl(u8 taskId) { NewGameBirchSpeech_ClearWindow(0); StringExpandPlaceholders(gStringVar4, gText_Birch_BoyOrGirl); - AddTextPrinterForMessage(1); + AddTextPrinterForMessage(TRUE); gTasks[taskId].func = Task_NewGameBirchSpeech_WaitToShowGenderMenu; } @@ -1572,7 +1572,7 @@ static void Task_NewGameBirchSpeech_WhatsYourName(u8 taskId) { NewGameBirchSpeech_ClearWindow(0); StringExpandPlaceholders(gStringVar4, gText_Birch_WhatsYourName); - AddTextPrinterForMessage(1); + AddTextPrinterForMessage(TRUE); gTasks[taskId].func = Task_NewGameBirchSpeech_WaitForWhatsYourNameToPrint; } @@ -1607,7 +1607,7 @@ static void Task_NewGameBirchSpeech_SoItsPlayerName(u8 taskId) { NewGameBirchSpeech_ClearWindow(0); StringExpandPlaceholders(gStringVar4, gText_Birch_SoItsPlayer); - AddTextPrinterForMessage(1); + AddTextPrinterForMessage(TRUE); gTasks[taskId].func = Task_NewGameBirchSpeech_CreateNameYesNo; } @@ -1673,7 +1673,7 @@ static void Task_NewGameBirchSpeech_ReshowBirchLotad(u8 taskId) NewGameBirchSpeech_StartFadePlatformOut(taskId, 1); NewGameBirchSpeech_ClearWindow(0); StringExpandPlaceholders(gStringVar4, gText_Birch_YourePlayer); - AddTextPrinterForMessage(1); + AddTextPrinterForMessage(TRUE); gTasks[taskId].func = Task_NewGameBirchSpeech_WaitForSpriteFadeInAndTextPrinter; } } @@ -1721,7 +1721,7 @@ static void Task_NewGameBirchSpeech_AreYouReady(u8 taskId) NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 2); NewGameBirchSpeech_StartFadePlatformOut(taskId, 1); StringExpandPlaceholders(gStringVar4, gText_Birch_AreYouReady); - AddTextPrinterForMessage(1); + AddTextPrinterForMessage(TRUE); gTasks[taskId].func = Task_NewGameBirchSpeech_ShrinkPlayer; } } @@ -1807,8 +1807,8 @@ static void CB2_NewGameBirchSpeech_ReturnFromNamingScreen(void) DmaFill32(3, 0, OAM, OAM_SIZE); DmaFill16(3, 0, PLTT, PLTT_SIZE); ResetPaletteFade(); - LZ77UnCompVram(sBirchSpeechShadowGfx, (u8*)VRAM); - LZ77UnCompVram(sBirchSpeechBgMap, (u8*)(BG_SCREEN_ADDR(7))); + LZ77UnCompVram(sBirchSpeechShadowGfx, (u8 *)VRAM); + LZ77UnCompVram(sBirchSpeechBgMap, (u8 *)(BG_SCREEN_ADDR(7))); LoadPalette(sBirchSpeechBgPals, 0, 64); LoadPalette(&sBirchSpeechBgGradientPal[1], 1, 16); ResetTasks(); @@ -2102,7 +2102,7 @@ static s8 NewGameBirchSpeech_ProcessGenderMenuInput(void) static void NewGameBirchSpeech_SetDefaultPlayerName(u8 nameId) { - const u8* name; + const u8 *name; u8 i; if (gSaveBlock2Ptr->playerGender == MALE) @@ -2114,7 +2114,7 @@ static void NewGameBirchSpeech_SetDefaultPlayerName(u8 nameId) gSaveBlock2Ptr->playerName[PLAYER_NAME_LENGTH] = EOS; } -static void CreateMainMenuErrorWindow(const u8* str) +static void CreateMainMenuErrorWindow(const u8 *str) { FillWindowPixelBuffer(7, PIXEL_FILL(1)); AddTextPrinterParameterized(7, FONT_NORMAL, str, 0, 1, 2, 0); @@ -2143,7 +2143,7 @@ static void MainMenu_FormatSavegamePlayer(void) static void MainMenu_FormatSavegameTime(void) { u8 str[0x20]; - u8* ptr; + u8 *ptr; StringExpandPlaceholders(gStringVar4, gText_ContinueMenuTime); AddTextPrinterParameterized3(2, FONT_NORMAL, 0x6C, 17, sTextColor_MenuInfo, TEXT_SKIP_DRAW, gStringVar4); diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 9eaa035caf..41054d16d2 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -303,7 +303,7 @@ static void ShowMapNamePopUpWindow(void) u8 mapDisplayHeader[24]; u8 *withoutPrefixPtr; u8 x; - const u8* mapDisplayHeaderSource; + const u8 *mapDisplayHeaderSource; if (InBattlePyramid()) { diff --git a/src/match_call.c b/src/match_call.c index 8b25d5b44d..4f6a7b9821 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1183,7 +1183,7 @@ static void StartMatchCall(void) { if (!sMatchCallState.triggeredFromScript) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjectEvents(); PlayerFreeze(); StopPlayerAvatar(); @@ -1371,7 +1371,7 @@ static bool32 MatchCall_EndCall(u8 taskId) ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); } return TRUE; diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 2b6c71c8a2..5c9dd71250 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -222,7 +222,7 @@ static void PrepareSongText(void) void PlayBardSong(void) { StartBardSong(gSpecialVar_0x8004); - ScriptContext1_Stop(); + ScriptContext_Stop(); } void GetHipsterSpokenFlag(void) @@ -627,7 +627,7 @@ static void Task_BardSong(u8 taskId) // End song FadeInBGM(6); m4aMPlayFadeOutTemporarily(&gMPlayInfo_SE2, 2); - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } else if (gStringVar4[task->tCharIndex] == CHAR_SPACE) @@ -1336,7 +1336,7 @@ static void PrintStoryList(void) width = curWidth; } sStorytellerWindowId = CreateWindowFromRect(0, 0, ConvertPixelWidthToTileWidth(width), GetFreeStorySlot() * 2 + 2); - SetStandardWindowBorderStyle(sStorytellerWindowId, 0); + SetStandardWindowBorderStyle(sStorytellerWindowId, FALSE); for (i = 0; i < NUM_STORYTELLER_TALES; i++) { u16 gameStatID = sStorytellerPtr->gameStatIDs[i]; @@ -1375,7 +1375,7 @@ static void Task_StoryListMenu(u8 taskId) } ClearToTransparentAndRemoveWindow(sStorytellerWindowId); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); break; } } diff --git a/src/menu.c b/src/menu.c index c4540942ba..937c391436 100644 --- a/src/menu.c +++ b/src/menu.c @@ -191,19 +191,19 @@ void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress) { void (*callback)(struct TextPrinterTemplate *, u16) = NULL; gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress; - AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), callback, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), callback, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); } void AddTextPrinterForMessage_2(bool8 allowSkippingDelayWithButtonPress) { gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress; - AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); } void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed) { gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress; - AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, speed, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, speed, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); } void LoadMessageBoxAndBorderGfx(void) @@ -545,7 +545,7 @@ void RemoveMapNamePopUpWindow(void) void AddTextPrinterWithCallbackForMessage(bool8 canSpeedUp, void (*callback)(struct TextPrinterTemplate *, u16)) { gTextFlags.canABSpeedUpPrint = canSpeedUp; - AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), callback, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), callback, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); } void EraseFieldMessageBox(bool8 copyToVram) @@ -2031,14 +2031,14 @@ static void UnusedBlitBitmapRect(const struct Bitmap *src, struct Bitmap *dst, u for (loopSrcX = srcX, loopDstX = dstX; loopSrcX < xEnd; loopSrcX++, loopDstX++) { pixelsSrc = src->pixels + ((loopSrcX >> 1) & 3) + ((loopSrcX >> 3) << 5) + (((loopSrcY >> 3) * multiplierSrcY) << 5) + ((u32)(loopSrcY << 29) >> 27); - pixelsDst = (void*) dst->pixels + ((loopDstX >> 1) & 3) + ((loopDstX >> 3) << 5) + ((( loopDstY >> 3) * multiplierDstY) << 5) + ((u32)(loopDstY << 29) >> 27); + pixelsDst = (void *) dst->pixels + ((loopDstX >> 1) & 3) + ((loopDstX >> 3) << 5) + ((( loopDstY >> 3) * multiplierDstY) << 5) + ((u32)(loopDstY << 29) >> 27); if ((uintptr_t)pixelsDst & 1) { pixelsDst--; if (loopDstX & 1) { - toOrr = *(vu16*)pixelsDst; + toOrr = *(vu16 *)pixelsDst; toOrr &= 0x0fff; if (loopSrcX & 1) toOrr |= ((*pixelsSrc & 0xf0) << 8); @@ -2047,7 +2047,7 @@ static void UnusedBlitBitmapRect(const struct Bitmap *src, struct Bitmap *dst, u } else { - toOrr = *(vu16*)pixelsDst; + toOrr = *(vu16 *)pixelsDst; toOrr &= 0xf0ff; if (loopSrcX & 1) toOrr |= ((*pixelsSrc & 0xf0) << 4); @@ -2059,7 +2059,7 @@ static void UnusedBlitBitmapRect(const struct Bitmap *src, struct Bitmap *dst, u { if (loopDstX & 1) { - toOrr = *(vu16*)pixelsDst; + toOrr = *(vu16 *)pixelsDst; toOrr &= 0xff0f; if (loopSrcX & 1) toOrr |= ((*pixelsSrc & 0xf0) << 0); @@ -2068,7 +2068,7 @@ static void UnusedBlitBitmapRect(const struct Bitmap *src, struct Bitmap *dst, u } else { - toOrr = *(vu16*)pixelsDst; + toOrr = *(vu16 *)pixelsDst; toOrr &= 0xfff0; if (loopSrcX & 1) toOrr |= ((*pixelsSrc & 0xf0) >> 4); @@ -2076,7 +2076,7 @@ static void UnusedBlitBitmapRect(const struct Bitmap *src, struct Bitmap *dst, u toOrr |= ((*pixelsSrc & 0x0f) >> 0); } } - *(vu16*)pixelsDst = toOrr; + *(vu16 *)pixelsDst = toOrr; } } } diff --git a/src/menu_helpers.c b/src/menu_helpers.c index 7decd695c3..d810508ae4 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -32,7 +32,7 @@ static const struct OamData sOamData_SwapLine = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -98,9 +98,9 @@ void ResetVramOamAndBgCntRegs(void) SetGpuReg(REG_OFFSET_BG2CNT, 0); SetGpuReg(REG_OFFSET_BG1CNT, 0); SetGpuReg(REG_OFFSET_BG0CNT, 0); - CpuFill16(0, (void*) VRAM, VRAM_SIZE); - CpuFill32(0, (void*) OAM, OAM_SIZE); - CpuFill16(0, (void*) PLTT, PLTT_SIZE); + CpuFill16(0, (void *) VRAM, VRAM_SIZE); + CpuFill32(0, (void *) OAM, OAM_SIZE); + CpuFill16(0, (void *) PLTT, PLTT_SIZE); } void ResetAllBgsCoordinates(void) @@ -130,7 +130,7 @@ void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 tileNum, u8 palet StringExpandPlaceholders(gStringVar4, string); gTextFlags.canABSpeedUpPrint = 1; - AddTextPrinterParameterized2(windowId, fontId, gStringVar4, textSpeed, NULL, 2, 1, 3); + AddTextPrinterParameterized2(windowId, fontId, gStringVar4, textSpeed, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); sMessageNextTask = taskFunc; gTasks[taskId].func = Task_ContinueTaskAfterMessagePrints; } diff --git a/src/menu_specialized.c b/src/menu_specialized.c index cd77f4a59c..42c80b5ee3 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -223,14 +223,14 @@ u8 MailboxMenu_AddWindow(u8 windowIdx) { sMailboxWindowIds[windowIdx] = AddWindow(&sWindowTemplates_MailboxMenu[windowIdx]); } - SetStandardWindowBorderStyle(sMailboxWindowIds[windowIdx], 0); + SetStandardWindowBorderStyle(sMailboxWindowIds[windowIdx], FALSE); } return sMailboxWindowIds[windowIdx]; } void MailboxMenu_RemoveWindow(u8 windowIdx) { - ClearStdWindowAndFrameToTransparent(sMailboxWindowIds[windowIdx], 0); + ClearStdWindowAndFrameToTransparent(sMailboxWindowIds[windowIdx], FALSE); ClearWindowTilemap(sMailboxWindowIds[windowIdx]); RemoveWindow(sMailboxWindowIds[windowIdx]); sMailboxWindowIds[windowIdx] = WINDOW_NONE; @@ -716,17 +716,17 @@ void InitMoveRelearnerWindows(bool8 useContextWindow) if (!useContextWindow) { PutWindowTilemap(0); - DrawStdFrameWithCustomTileAndPalette(0, 0, 0x1, 0xE); + DrawStdFrameWithCustomTileAndPalette(0, FALSE, 0x1, 0xE); } else { PutWindowTilemap(1); - DrawStdFrameWithCustomTileAndPalette(1, 0, 1, 0xE); + DrawStdFrameWithCustomTileAndPalette(1, FALSE, 1, 0xE); } PutWindowTilemap(2); PutWindowTilemap(3); - DrawStdFrameWithCustomTileAndPalette(2, 0, 1, 0xE); - DrawStdFrameWithCustomTileAndPalette(3, 0, 1, 0xE); + DrawStdFrameWithCustomTileAndPalette(2, FALSE, 1, 0xE); + DrawStdFrameWithCustomTileAndPalette(3, FALSE, 1, 0xE); MoveRelearnerDummy(); ScheduleBgCopyTilemapToVram(1); } @@ -1124,7 +1124,7 @@ static const struct OamData sOam_ConditionMonPic = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -1141,7 +1141,7 @@ static const struct OamData sOam_ConditionSelectionIcon = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 72d3ac632f..e35a5b29ac 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -795,7 +795,7 @@ u8 MetatileBehavior_GetBridgeType(u8 metatileBehavior) && metatileBehavior <= MB_BRIDGE_OVER_POND_HIGH) return metatileBehavior - MB_BRIDGE_OVER_OCEAN; - if (metatileBehavior >= MB_BRIDGE_OVER_POND_MED_EDGE_1 + if (metatileBehavior >= MB_BRIDGE_OVER_POND_MED_EDGE_1 && metatileBehavior <= MB_BRIDGE_OVER_POND_MED_EDGE_2) return BRIDGE_TYPE_POND_MED; diff --git a/src/mini_printf.c b/src/mini_printf.c new file mode 100644 index 0000000000..8345a3935e --- /dev/null +++ b/src/mini_printf.c @@ -0,0 +1,353 @@ +/* + * The Minimal snprintf() implementation + * + * Copyright (c) 2013,2014 Michal Ludvig + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the auhor nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * mini-printf courtesy of https://github.com/mludvig/mini-printf + * stripped to reduce file size for agb needs + */ + +#include "mini_printf.h" +#include "gba/types.h" +#include "gba/defines.h" +#include "config.h" +#include "characters.h" +#include "string_util.h" + +#ifndef NDEBUG + +struct mini_buff +{ + char *buffer, *pbuffer; + u32 buffer_len; +}; + +static inline char mini_pchar_decode(char encoded) +{ + char ret = '?'; + if (encoded >= CHAR_a && encoded <= CHAR_z) + ret = encoded-(CHAR_a-'a'); // lower-case characters + else if (encoded >= CHAR_A && encoded <= CHAR_Z) + ret = encoded-(CHAR_A-'A'); // upper-case characters + else if (encoded >= CHAR_0 && encoded <= CHAR_9) + ret = encoded-(CHAR_0-'0'); // numbers + else if (encoded == CHAR_SPACE) + ret = ' '; // space + else if (encoded == CHAR_EXCL_MARK) + ret = '!'; // exclamation point + else if (encoded == CHAR_QUESTION_MARK) + ret = '?'; // question mark + else if (encoded == CHAR_PERIOD) + ret = '.'; // period + else if (encoded == CHAR_DBL_QUOTE_LEFT || encoded == CHAR_DBL_QUOTE_RIGHT) + ret = '"'; // double quote + else if (encoded == CHAR_SGL_QUOTE_LEFT || encoded == CHAR_SGL_QUOTE_RIGHT) + ret = '\''; // single quote + else if (encoded == CHAR_CURRENCY) + ret = '$'; // currency mark (pokemonies in game, dollar sign in logs) + else if (encoded == CHAR_COMMA) + ret = ','; // comma + else if (encoded == CHAR_MULT_SIGN) + ret = '#'; // pound, hashtag, octothorpe, whatever + else if (encoded == CHAR_SLASH) + ret = '/'; // slash + else if (encoded == CHAR_LESS_THAN) + ret = '<'; // less than sign + else if (encoded == CHAR_GREATER_THAN) + ret = '>'; // greater than sign + else if (encoded == CHAR_PERCENT) + ret = '%'; // percentage + else if (encoded == CHAR_LEFT_PAREN) + ret = '('; // opening parentheses + else if (encoded == CHAR_RIGHT_PAREN) + ret = ')'; // closing parentheses + return ret; +} + +static s32 _putsAscii(char *s, s32 len, void *buf) +{ + char *p0; + s32 i; + struct mini_buff *b; + + if (!buf) + return len; + + b = buf; + p0 = b->buffer; + + /* Copy to buffer */ + for (i = 0; i < len; i++) { + if(b->pbuffer == b->buffer + b->buffer_len - 1) { + break; + } + *(b->pbuffer ++) = s[i]; + } + *(b->pbuffer) = 0; + return b->pbuffer - p0; +} + +static s32 _putsEncoded(char *s, s32 len, void *buf) +{ + char *p0; + s32 i; + struct mini_buff *b; + + if (!buf) + return len; + + b = buf; + p0 = b->buffer; + + /* Copy to buffer */ + for (i = 0; i < len; i++) { + if(b->pbuffer == b->buffer + b->buffer_len - 1) { + break; + } + *(b->pbuffer ++) = mini_pchar_decode(s[i]); + } + *(b->pbuffer) = 0; + return b->pbuffer - p0; +} + +static s32 mini_strlen(const char *s) +{ + s32 len = 0; + while (s[len] != '\0') len++; + return len; +} + +static s32 mini_itoa(u32 value, u32 radix, s32 uppercase, bool32 unsig, char *buffer) +{ + char *pbuffer = buffer; + s32 negative = 0; + s32 i, len; + + /* No support for unusual radixes. */ + if (radix > 16) + return 0; + + if (value < 0 && !unsig) + { + negative = 1; + value = -value; + } + + /* This builds the string back to front ... */ + do + { + s32 digit = value % radix; + *(pbuffer++) = (digit < 10 ? '0' + digit : (uppercase ? 'A' : 'a') + digit - 10); + value /= radix; + } while (value > 0); + + if (negative) + *(pbuffer++) = '-'; + + *(pbuffer) = '\0'; + + /* ... now we reverse it (could do it recursively but will + * conserve the stack space) */ + len = (pbuffer - buffer); + for (i = 0; i < len / 2; i++) + { + char j = buffer[i]; + buffer[i] = buffer[len-i-1]; + buffer[len-i-1] = j; + } + + return len; +} + +static s32 mini_pad(char* ptr, s32 len, char pad_char, s32 pad_to, char *buffer) +{ + s32 i; + bool32 overflow = FALSE; + char * pbuffer = buffer; + if(pad_to == 0) + pad_to = len; + if (len > pad_to) { + len = pad_to; + overflow = TRUE; + } + for(i = pad_to - len; i > 0; i --) + { + *(pbuffer++) = pad_char; + } + for(i = len; i > 0; i --) + { + *(pbuffer++) = *(ptr++); + } + len = pbuffer - buffer; + if(overflow) + { + for (i = 0; i < 3 && pbuffer > buffer; i ++) + { + *(pbuffer-- - 1) = '*'; + } + } + return len; +} + +s32 mini_vsnprintf(char *buffer, u32 buffer_len, const char *fmt, va_list va) +{ + struct mini_buff b; + s32 n; + b.buffer = buffer; + b.pbuffer = buffer; + b.buffer_len = buffer_len; + if (buffer_len == 0) + buffer = NULL; + n = mini_vpprintf((buffer != NULL) ? &b : NULL, fmt, va); + if (buffer == NULL) + return n; + return b.pbuffer - b.buffer; +} + +s32 mini_vpprintf(void* buf, const char *fmt, va_list va) +{ + char bf[24]; + char bf2[24]; + char ch; + s32 n; + n = 0; + while ((ch=*(fmt++))) + { + s32 len; + if (ch != '%') + { + len = 1; + len = _putsAscii(&ch, len, buf); + } else + { + char pad_char = ' '; + s32 pad_to = 0; + char l = 0; + char *ptr; + + ch=*(fmt++); + + /* Zero padding requested */ + if (ch == '0') + pad_char = '0'; + while (ch >= '0' && ch <= '9') + { + pad_to = pad_to * 10 + (ch - '0'); + ch= *(fmt++); + } + if(pad_to > (s32) sizeof(bf)) + { + pad_to = sizeof(bf); + } + if (ch == 'l') + { + l = 1; + ch=*(fmt++); + } + + switch (ch) + { + case 0: + goto end; + case 'u': + case 'd': + if(l) + { + len = mini_itoa(va_arg(va, u32), 10, 0, (ch=='u'), bf2); + } else + { + if(ch == 'u') + { + len = mini_itoa((u32) va_arg(va, u32), 10, 0, 1, bf2); + } + else + { + len = mini_itoa((s32) va_arg(va, s32), 10, 0, 0, bf2); + } + } + len = mini_pad(bf2, len, pad_char, pad_to, bf); + len = _putsAscii(bf, len, buf); + break; + + case 'x': + case 'X': + if(l) + { + len = mini_itoa(va_arg(va, u32), 16, (ch=='X'), 1, bf2); + } + else + { + len = mini_itoa((u32) va_arg(va, u32), 16, (ch=='X'), 1, bf2); + } + len = mini_pad(bf2, len, pad_char, pad_to, bf); + len = _putsAscii(bf, len, buf); + break; + + case 'c' : + ch = (char)(va_arg(va, s32)); + len = mini_pad(&ch, 1, pad_char, pad_to, bf); + len = _putsAscii(bf, len, buf); + break; + + case 's' : + ptr = va_arg(va, char*); + len = mini_strlen(ptr); + if (pad_to > 0) + { + len = mini_pad(ptr, len, pad_char, pad_to, bf); + len = _putsAscii(bf, len, buf); + } else + { + len = _putsAscii(ptr, len, buf); + } + break; + case 'S' : // preproc encoded string handler + ptr = va_arg(va, char*); + len = StringLength(ptr); + if (pad_to > 0) + { + len = mini_pad(ptr, len, pad_char, pad_to, bf); + len = _putsEncoded(bf, len, buf); + } else + { + len = _putsEncoded(ptr, len, buf); + } + break; + default: + len = 1; + len = _putsAscii(&ch, len, buf); + break; + } + } + n = n + len; + } +end: + return n; +} + +#endif diff --git a/src/minigame_countdown.c b/src/minigame_countdown.c index 4c72136d4c..b4d3b6558b 100644 --- a/src/minigame_countdown.c +++ b/src/minigame_countdown.c @@ -315,7 +315,7 @@ static void Task_StaticCountdown_Run(u8 taskId) u16 packet[RFU_PACKET_SIZE]; s16 *data = gTasks[taskId].data; - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { // Read link timer if (gRecvCmds[0][1] == LINKCMD_COUNTDOWN) @@ -618,7 +618,7 @@ static const struct OamData sOamData_Numbers = .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -635,7 +635,7 @@ static const struct OamData sOamData_Start = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, diff --git a/src/mirage_tower.c b/src/mirage_tower.c index 7300262988..37096619d3 100644 --- a/src/mirage_tower.c +++ b/src/mirage_tower.c @@ -67,12 +67,12 @@ static void IncrementCeilingCrumbleFinishedCount(void); static void WaitCeilingCrumble(u8); static void FinishCeilingCrumbleTask(u8); static void CreateCeilingCrumbleSprites(void); -static void SpriteCB_CeilingCrumble(struct Sprite*); +static void SpriteCB_CeilingCrumble(struct Sprite *); static void DoMirageTowerDisintegration(u8); static void InitMirageTowerShake(u8); static void Task_FossilFallAndSink(u8); static void SpriteCB_FallingFossil(struct Sprite *); -static void UpdateDisintegrationEffect(u8*, u16, u8, u8, u8); +static void UpdateDisintegrationEffect(u8 *, u16, u8, u8, u8); static const u8 sBlankTile_Gfx[32] = {0}; static const u8 sMirageTower_Gfx[] = INCBIN_U8("graphics/misc/mirage_tower.4bpp"); @@ -133,7 +133,7 @@ static const struct OamData sOamData_FallingFossil = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -189,7 +189,7 @@ static const struct OamData sOamData_CeilingCrumbleSmall = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -201,7 +201,8 @@ static const struct OamData sOamData_CeilingCrumbleSmall = .affineParam = 0, }; -static const struct SpriteTemplate sSpriteTemplate_CeilingCrumbleSmall = { +static const struct SpriteTemplate sSpriteTemplate_CeilingCrumbleSmall = +{ .tileTag = TAG_CEILING_CRUMBLE, .paletteTag = TAG_NONE, .oam = &sOamData_CeilingCrumbleSmall, @@ -227,7 +228,7 @@ static const struct OamData sOamData_CeilingCrumbleLarge = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -239,7 +240,8 @@ static const struct OamData sOamData_CeilingCrumbleLarge = .affineParam = 0, }; -static const struct SpriteTemplate sSpriteTemplate_CeilingCrumbleLarge = { +static const struct SpriteTemplate sSpriteTemplate_CeilingCrumbleLarge = +{ .tileTag = TAG_CEILING_CRUMBLE, .paletteTag = TAG_NONE, .oam = &sOamData_CeilingCrumbleLarge, @@ -249,8 +251,8 @@ static const struct SpriteTemplate sSpriteTemplate_CeilingCrumbleLarge = { .callback = SpriteCB_CeilingCrumble }; -EWRAM_DATA static u8* sMirageTowerGfxBuffer = NULL; -EWRAM_DATA static u8* sMirageTowerTilemapBuffer = NULL; +EWRAM_DATA static u8 *sMirageTowerGfxBuffer = NULL; +EWRAM_DATA static u8 *sMirageTowerTilemapBuffer = NULL; EWRAM_DATA static struct FallAnim_Fossil *sFallingFossil = NULL; EWRAM_DATA static struct FallAnim_Tower *sFallingTower = NULL; EWRAM_DATA static struct BgRegOffsets *sBgShakeOffsets = NULL; @@ -361,7 +363,7 @@ static void PlayerDescendMirageTower(u8 taskId) (gSprites[player->spriteId].y + gSprites[player->spriteId].y2)) { DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } } @@ -439,7 +441,7 @@ static void FinishCeilingCrumbleTask(u8 taskId) { FreeSpriteTilesByTag(TAG_CEILING_CRUMBLE); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } static void CreateCeilingCrumbleSprites(void) @@ -463,7 +465,7 @@ static void CreateCeilingCrumbleSprites(void) } } -static void SpriteCB_CeilingCrumble(struct Sprite* sprite) +static void SpriteCB_CeilingCrumble(struct Sprite *sprite) { sprite->data[1] += 2; sprite->y2 = sprite->data[1] / 2; @@ -565,7 +567,7 @@ static void InitMirageTowerShake(u8 taskId) sBgShakeOffsets->bgVOFS = zero; CreateTask(UpdateBgShake, 10); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); break; } } @@ -654,7 +656,7 @@ static void DoMirageTowerDisintegration(u8 taskId) break; case 8: DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); break; } gTasks[taskId].tState++; @@ -719,7 +721,7 @@ static void Task_FossilFallAndSink(u8 taskId) FREE_AND_SET_NULL(sFallingFossil); break; case 8: - EnableBothScriptContexts(); + ScriptContext_Enable(); break; } gTasks[taskId].tState++; @@ -748,7 +750,7 @@ static void SpriteCB_FallingFossil(struct Sprite *sprite) } } -static void UpdateDisintegrationEffect(u8* tiles, u16 randId, u8 c, u8 size, u8 offset) +static void UpdateDisintegrationEffect(u8 *tiles, u16 randId, u8 c, u8 size, u8 offset) { u8 heightTiles, height, widthTiles, width; u16 var, baseOffset; diff --git a/src/mon_markings.c b/src/mon_markings.c index 1e03179e94..d7a61c27e7 100644 --- a/src/mon_markings.c +++ b/src/mon_markings.c @@ -30,7 +30,7 @@ static const struct OamData sOamData_MenuWindow = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -48,7 +48,7 @@ static const struct OamData sOamData_8x8 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -157,7 +157,7 @@ static const struct OamData sOamData_MarkingCombo = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, @@ -396,20 +396,16 @@ bool8 HandleMonMarkingsMenuInput(void) if (JOY_NEW(DPAD_UP)) { - s8 pos; PlaySE(SE_SELECT); - pos = --sMenu->cursorPos; - if (pos < 0) + if (--sMenu->cursorPos < 0) sMenu->cursorPos = SELECTION_CANCEL; return TRUE; } if (JOY_NEW(DPAD_DOWN)) { - s8 pos; PlaySE(SE_SELECT); - pos = ++sMenu->cursorPos; - if (pos > SELECTION_CANCEL) + if (++sMenu->cursorPos > SELECTION_CANCEL) sMenu->cursorPos = 0; return TRUE; } @@ -495,7 +491,6 @@ static void CreateMonMarkingsMenuSprites(s16 x, s16 y, u16 baseTileTag, u16 base } sMenu->windowSprites[1]->y = y + 96; - // Create marking sprites template.tileTag++; template.paletteTag++; @@ -548,7 +543,6 @@ static void CreateMonMarkingsMenuSprites(s16 x, s16 y, u16 baseTileTag, u16 base { sMenu->cursorSprite = NULL; } - } static void SpriteCB_Dummy(struct Sprite *sprite) @@ -610,7 +604,7 @@ static struct Sprite *CreateMarkingComboSprite(u16 tileTag, u16 paletteTag, cons spriteId = CreateSprite(&template, 0, 0, 0); if (spriteId != MAX_SPRITES) - return &gSprites[spriteId]; + return &gSprites[spriteId]; else return NULL; } diff --git a/src/money.c b/src/money.c index 5723974a83..88e1fea640 100644 --- a/src/money.c +++ b/src/money.c @@ -22,7 +22,7 @@ static const struct OamData sOamData_MoneyLabel = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, @@ -69,17 +69,17 @@ static const struct CompressedSpritePalette sSpritePalette_MoneyLabel = .tag = MONEY_LABEL_TAG }; -u32 GetMoney(u32* moneyPtr) +u32 GetMoney(u32 *moneyPtr) { return *moneyPtr ^ gSaveBlock2Ptr->encryptionKey; } -void SetMoney(u32* moneyPtr, u32 newValue) +void SetMoney(u32 *moneyPtr, u32 newValue) { *moneyPtr = gSaveBlock2Ptr->encryptionKey ^ newValue; } -bool8 IsEnoughMoney(u32* moneyPtr, u32 cost) +bool8 IsEnoughMoney(u32 *moneyPtr, u32 cost) { if (GetMoney(moneyPtr) >= cost) return TRUE; @@ -87,7 +87,7 @@ bool8 IsEnoughMoney(u32* moneyPtr, u32 cost) return FALSE; } -void AddMoney(u32* moneyPtr, u32 toAdd) +void AddMoney(u32 *moneyPtr, u32 toAdd) { u32 toSet = GetMoney(moneyPtr); @@ -107,7 +107,7 @@ void AddMoney(u32* moneyPtr, u32 toAdd) SetMoney(moneyPtr, toSet); } -void RemoveMoney(u32* moneyPtr, u32 toSub) +void RemoveMoney(u32 *moneyPtr, u32 toSub) { u32 toSet = GetMoney(moneyPtr); diff --git a/src/move_relearner.c b/src/move_relearner.c index 2b925135f0..d9c943b576 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -185,7 +185,7 @@ static const struct OamData sHeartSpriteOamData = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -202,7 +202,7 @@ static const struct OamData sUnusedOam1 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), .x = 0, @@ -219,7 +219,7 @@ static const struct OamData sUnusedOam2 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), .x = 0, @@ -365,7 +365,7 @@ static void VBlankCB_MoveRelearner(void) // Script arguments: The pokemon to teach is in VAR_0x8004 void TeachMoveRelearnerMove(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); CreateTask(Task_WaitForFadeOut, 10); // Fade to black BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 0007664ba1..b6610a6403 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -102,7 +102,7 @@ void CB2_InitMysteryEventMenu(void) BuildOamBuffer(); RunTextPrinters(); UpdatePaletteFade(); - FillPalette(0, 0, 2); + FillPalette(RGB_BLACK, 0, 2); SetMainCallback2(CB2_MysteryEventMenu); } } @@ -131,7 +131,7 @@ static void CB2_MysteryEventMenu(void) switch (gMain.state) { case 0: - DrawStdFrameWithCustomTileAndPalette(0, 1, 1, 0xD); + DrawStdFrameWithCustomTileAndPalette(0, TRUE, 1, 0xD); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_FULL); ShowBg(0); @@ -178,7 +178,7 @@ static void CB2_MysteryEventMenu(void) { PlaySE(SE_SELECT); CheckShouldAdvanceLinkState(); - DrawStdFrameWithCustomTileAndPalette(1, 1, 1, 0xD); + DrawStdFrameWithCustomTileAndPalette(1, TRUE, 1, 0xD); PrintMysteryMenuText(1, gText_LoadingEvent, 1, 2, 0); PutWindowTilemap(1); CopyWindowToVram(1, COPYWIN_FULL); @@ -201,7 +201,7 @@ static void CB2_MysteryEventMenu(void) case 6: if (IsLinkConnectionEstablished()) { - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { if (GetLinkPlayerDataExchangeStatusTimed(2, 2) == EXCHANGE_DIFF_SELECTIONS) { diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index e0f789bcbd..d1b514a173 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -104,7 +104,7 @@ static int CalcRecordMixingGiftChecksum(void) { unsigned int i; int sum = 0; - u8 *data = (u8*)(&gSaveBlock1Ptr->recordMixingGift.data); + u8 *data = (u8 *)(&gSaveBlock1Ptr->recordMixingGift.data); for (i = 0; i < sizeof(gSaveBlock1Ptr->recordMixingGift.data); i++) sum += data[i]; @@ -220,7 +220,7 @@ bool8 MEScrCmd_setmsg(struct ScriptContext *ctx) bool8 MEScrCmd_runscript(struct ScriptContext *ctx) { u8 *script = (u8 *)(ScriptReadWord(ctx) - ctx->mOffset + ctx->mScriptBase); - ScriptContext2_RunNewScript(script); + RunScriptImmediately(script); return FALSE; } diff --git a/src/mystery_gift.c b/src/mystery_gift.c index 72fc2b3774..c4e63bfbb8 100755 --- a/src/mystery_gift.c +++ b/src/mystery_gift.c @@ -171,8 +171,8 @@ static bool32 ValidateWonderCard(const struct WonderCard *card) return FALSE; if (card->type >= CARD_TYPE_COUNT) return FALSE; - if (!(card->sendType == SEND_TYPE_DISALLOWED - || card->sendType == SEND_TYPE_ALLOWED + if (!(card->sendType == SEND_TYPE_DISALLOWED + || card->sendType == SEND_TYPE_ALLOWED || card->sendType == SEND_TYPE_ALLOWED_ALWAYS)) return FALSE; if (card->bgType >= NUM_WONDER_BGS) @@ -429,7 +429,7 @@ u32 MysteryGift_CompareCardFlags(const u16 *flagId, const struct MysteryGiftLink u32 MysteryGift_CheckStamps(const u16 *stamp, const struct MysteryGiftLinkGameData *data, const void *unused) { int stampsMissing = data->maxStamps - GetNumStampsInMetadata(&data->cardMetadata, data->maxStamps); - + // Has full stamp card? if (stampsMissing == 0) return 1; @@ -598,7 +598,7 @@ void MysteryGift_TryIncrementStat(u32 stat, u32 trainerId) switch (stat) { case CARD_STAT_NUM_TRADES: - IncrementCardStatForNewTrainer(CARD_STAT_NUM_TRADES, + IncrementCardStatForNewTrainer(CARD_STAT_NUM_TRADES, trainerId, gSaveBlock1Ptr->mysteryGift.trainerIds[1], ARRAY_COUNT(gSaveBlock1Ptr->mysteryGift.trainerIds[1])); diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index b970711fd3..9e4796bb20 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -1232,7 +1232,7 @@ static void Task_MysteryGift(u8 taskId) data->state = MG_STATE_CLIENT_LINK_WAIT; break; case MG_STATE_CLIENT_LINK_WAIT: - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { ClearScreenInBg0(TRUE); data->state = MG_STATE_CLIENT_COMMUNICATING; @@ -1240,7 +1240,7 @@ static void Task_MysteryGift(u8 taskId) } else if (gSpecialVar_Result == LINKUP_FAILED) { - // Link failed, return to link start menu + // Link failed, return to link start menu ClearScreenInBg0(TRUE); data->state = MG_STATE_SOURCE_PROMPT; } @@ -1528,7 +1528,7 @@ static void Task_MysteryGift(u8 taskId) } break; case MG_STATE_SERVER_LINK_WAIT: - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { ClearScreenInBg0(TRUE); data->state = MG_STATE_SERVER_LINK_START; diff --git a/src/mystery_gift_view.c b/src/mystery_gift_view.c index ff34c88536..b059b183c8 100644 --- a/src/mystery_gift_view.c +++ b/src/mystery_gift_view.c @@ -162,7 +162,8 @@ static const struct SpritePalette sSpritePalettes_StampShadow[] = { {sStampShadowPal8, TAG_STAMP_SHADOW} }; -static const struct SpriteTemplate sSpriteTemplate_StampShadow = { +static const struct SpriteTemplate sSpriteTemplate_StampShadow = +{ .tileTag = TAG_STAMP_SHADOW, .paletteTag = TAG_STAMP_SHADOW, .oam = &gOamData_AffineOff_ObjNormal_32x16, @@ -339,7 +340,7 @@ static void BufferCardText(void) if (sWonderCardData->card.idNumber > 999999) sWonderCardData->card.idNumber = 999999; ConvertIntToDecimalStringN(sWonderCardData->idNumberText, sWonderCardData->card.idNumber, STR_CONV_MODE_LEFT_ALIGN, 6); - + // Copy body text for (i = 0; i < WONDER_CARD_BODY_TEXT_LINES; i++) { @@ -363,12 +364,12 @@ static void BufferCardText(void) break; case CARD_TYPE_LINK_STAT: sWonderCardData->giftText[0] = EOS; - + // Load stats stats[0] = sWonderCardData->cardMetadata.battlesWon < MAX_WONDER_CARD_STAT ? sWonderCardData->cardMetadata.battlesWon : MAX_WONDER_CARD_STAT; stats[1] = sWonderCardData->cardMetadata.battlesLost < MAX_WONDER_CARD_STAT ? sWonderCardData->cardMetadata.battlesLost : MAX_WONDER_CARD_STAT; stats[2] = sWonderCardData->cardMetadata.numTrades < MAX_WONDER_CARD_STAT ? sWonderCardData->cardMetadata.numTrades : MAX_WONDER_CARD_STAT; - + // Init stat text arrays for (i = 0; i < ARRAY_COUNT(sWonderCardData->statTextData); i++) { @@ -445,7 +446,7 @@ static void DrawCardWindow(u8 whichWindow) sCard_FooterTextOffsets[sWonderCardData->card.type], sCard_TextColorTable[sWonderCardData->gfx->footerTextPal], 0, sWonderCardData->footerLine1Text); - + // Print footer line 2 if (sWonderCardData->card.type != CARD_TYPE_LINK_STAT) { @@ -485,7 +486,7 @@ static void CreateCardSprites(void) { u8 i = 0; sWonderCardData->monIconSpriteId = SPRITE_NONE; - + // Create icon sprite if (sWonderCardData->cardMetadata.iconSpecies != SPECIES_NONE) { @@ -504,7 +505,7 @@ static void CreateCardSprites(void) sWonderCardData->stampSpriteIds[i][1] = SPRITE_NONE; sWonderCardData->stampSpriteIds[i][0] = CreateSprite(&sSpriteTemplate_StampShadow, 216 - 32 * i, 144, 8); if (sWonderCardData->cardMetadata.stampData[STAMP_SPECIES][i] != SPECIES_NONE) - sWonderCardData->stampSpriteIds[i][1] = CreateMonIconNoPersonality(GetIconSpeciesNoPersonality(sWonderCardData->cardMetadata.stampData[STAMP_SPECIES][i]), + sWonderCardData->stampSpriteIds[i][1] = CreateMonIconNoPersonality(GetIconSpeciesNoPersonality(sWonderCardData->cardMetadata.stampData[STAMP_SPECIES][i]), SpriteCallbackDummy, 216 - 32 * i, 136, 0, 0); @@ -519,7 +520,7 @@ static void DestroyCardSprites(void) // Destroy icon sprite if (sWonderCardData->monIconSpriteId != SPRITE_NONE) FreeAndDestroyMonIconSprite(&gSprites[sWonderCardData->monIconSpriteId]); - + // Destroy stamp sprites if (sWonderCardData->card.maxStamps != 0 && sWonderCardData->card.type == CARD_TYPE_STAMP) { @@ -864,7 +865,7 @@ u32 WonderNews_GetInput(u16 input) static void BufferNewsText(void) { u8 i = 0; - + // Copy title text memcpy(sWonderNewsData->titleText, sWonderNewsData->news.titleText, WONDER_NEWS_TEXT_LENGTH); sWonderNewsData->titleText[WONDER_NEWS_TEXT_LENGTH] = EOS; @@ -895,7 +896,7 @@ static void DrawNewsWindows(void) if (x < 0) x = 0; AddTextPrinterParameterized3(sWonderNewsData->windowIds[NEWS_WIN_TITLE], FONT_SHORT_COPY_1, x, 6, sNews_TextColorTable[sWonderNewsData->gfx->titleTextPal], 0, sWonderNewsData->titleText); - + // Print body text for (; i < WONDER_NEWS_BODY_TEXT_LINES; i++) AddTextPrinterParameterized3(sWonderNewsData->windowIds[NEWS_WIN_BODY], FONT_SHORT_COPY_1, 0, diff --git a/src/naming_screen.c b/src/naming_screen.c index 0019a51b1d..a05e501c2b 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -26,6 +26,7 @@ #include "text_window.h" #include "overworld.h" #include "walda_phrase.h" +#include "main.h" #include "constants/event_objects.h" #include "constants/rgb.h" @@ -61,10 +62,10 @@ enum { }; enum { - PALTAG_PC_ICON, + PALTAG_MENU, // Also the PC icon PALTAG_PAGE_SWAP_UPPER, PALTAG_PAGE_SWAP_LOWER, - PALTAG_PAGE_SWAP_OTHERS, + PALTAG_PAGE_SWAP_OTHERS, // Also the input arrow/underscore PALTAG_PAGE_SWAP, PALTAG_CURSOR, PALTAG_BACK_BUTTON, @@ -180,21 +181,11 @@ struct NamingScreenData }; EWRAM_DATA static struct NamingScreenData *sNamingScreen = NULL; -extern u16 gKeyRepeatStartDelay; -// extern text -extern const u8 gText_MoveOkBack[]; -extern const u8 gText_YourName[]; -extern const u8 gText_BoxName[]; -extern const u8 gText_PkmnsNickname[]; -extern const u8 gText_TellHimTheWords[]; - - -// start of .rodata -static const u8 sPCIconOff_Gfx[] = INCBIN_U8("graphics/naming_screen/pc_icon/off.4bpp"); -static const u8 sPCIconOn_Gfx[] = INCBIN_U8("graphics/naming_screen/pc_icon/on.4bpp"); +static const u8 sPCIconOff_Gfx[] = INCBIN_U8("graphics/naming_screen/pc_icon_off.4bpp"); +static const u8 sPCIconOn_Gfx[] = INCBIN_U8("graphics/naming_screen/pc_icon_on.4bpp"); static const u16 sKeyboard_Pal[] = INCBIN_U16("graphics/naming_screen/keyboard.gbapal"); -static const u16 sUnused_Pal[] = INCBIN_U16("graphics/naming_screen/unused.gbapal"); +static const u16 sRival_Pal[] = INCBIN_U16("graphics/naming_screen/rival.gbapal"); // Unused, leftover from FRLG rival static const u8 *const sTransferredToPCMessages[] = { @@ -312,13 +303,12 @@ static const u8 sPageColumnCounts[KBPAGE_COUNT] = { [KEYBOARD_LETTERS_UPPER] = KBCOL_COUNT, [KEYBOARD_SYMBOLS] = 6 }; -static const u8 sPageColumnXPos[KBPAGE_COUNT * KBCOL_COUNT] = { - 0, 12, 24, 56, 68, 80, 92, 123, // KEYBOARD_LETTERS_LOWER - 0, 12, 24, 56, 68, 80, 92, 123, // KEYBOARD_LETTERS_UPPER - 0, 22, 44, 66, 88, 110 // KEYBOARD_SYMBOLS +static const u8 sPageColumnXPos[KBPAGE_COUNT][KBCOL_COUNT] = { + [KEYBOARD_LETTERS_LOWER] = {0, 12, 24, 56, 68, 80, 92, 123}, + [KEYBOARD_LETTERS_UPPER] = {0, 12, 24, 56, 68, 80, 92, 123}, + [KEYBOARD_SYMBOLS] = {0, 22, 44, 66, 88, 110} }; -// forward declarations static const struct NamingScreenTemplate *const sNamingScreenTemplates[]; static const struct SubspriteTable sSubspriteTable_PageSwapFrame[]; static const struct SubspriteTable sSubspriteTable_PageSwapText[]; @@ -333,7 +323,7 @@ static const struct SpriteTemplate sSpriteTemplate_Cursor; static const struct SpriteTemplate sSpriteTemplate_InputArrow; static const struct SpriteTemplate sSpriteTemplate_Underscore; static const struct SpriteTemplate sSpriteTemplate_PCIcon; -static const u8* const sNamingScreenKeyboardText[KBPAGE_COUNT][KBROW_COUNT]; +static const u8 *const sNamingScreenKeyboardText[KBPAGE_COUNT][KBROW_COUNT]; static const struct SpriteSheet sSpriteSheets[]; static const struct SpritePalette sSpritePalettes[]; @@ -738,9 +728,9 @@ static void DisplaySentToPCMessage(void) stringToDisplay++; StringExpandPlaceholders(gStringVar4, sTransferredToPCMessages[stringToDisplay]); - DrawDialogueFrame(0, 0); + DrawDialogueFrame(0, FALSE); gTextFlags.canABSpeedUpPrint = TRUE; - AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), 0, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); CopyWindowToVram(0, COPYWIN_FULL); } @@ -1142,7 +1132,7 @@ static void SetCursorPos(s16 x, s16 y) struct Sprite *cursorSprite = &gSprites[sNamingScreen->cursorSpriteId]; if (x < sPageColumnCounts[CurrentPageToKeyboardId()]) - cursorSprite->x = sPageColumnXPos[x + CurrentPageToKeyboardId() * KBCOL_COUNT] + 38; + cursorSprite->x = sPageColumnXPos[CurrentPageToKeyboardId()][x] + 38; else cursorSprite->x = 0; @@ -1781,7 +1771,7 @@ static void DrawGenderIcon(void) StringCopy(text, gText_FemaleSymbol); isFemale = TRUE; } - AddTextPrinterParameterized3(sNamingScreen->windows[WIN_TEXT_ENTRY], FONT_NORMAL, 0x68, 1, sGenderColors[isFemale], TEXT_SKIP_DRAW, text); + AddTextPrinterParameterized3(sNamingScreen->windows[WIN_TEXT_ENTRY], FONT_NORMAL, (POKEMON_NAME_LENGTH * 4) + 64, 1, sGenderColors[isFemale], TEXT_SKIP_DRAW, text); } } @@ -1890,7 +1880,7 @@ static void CreateHelperTasks(void) static void LoadPalettes(void) { - LoadPalette(gNamingScreenMenu_Pal, 0, 0xC0); + LoadPalette(gNamingScreenMenu_Pal, 0, sizeof(gNamingScreenMenu_Pal)); LoadPalette(sKeyboard_Pal, 0xA0, sizeof(sKeyboard_Pal)); LoadPalette(GetTextWindowPalette(2), 0xB0, 0x20); } @@ -2512,7 +2502,7 @@ static const struct SpriteTemplate sSpriteTemplate_Underscore = static const struct SpriteTemplate sSpriteTemplate_PCIcon = { .tileTag = TAG_NONE, - .paletteTag = PALTAG_PC_ICON, + .paletteTag = PALTAG_MENU, .oam = &sOam_8x8, .anims = sAnims_PCIcon, .images = sImageTable_PCIcon, @@ -2520,7 +2510,7 @@ static const struct SpriteTemplate sSpriteTemplate_PCIcon = .callback = SpriteCallbackDummy }; -static const u8* const sNamingScreenKeyboardText[KBPAGE_COUNT][KBROW_COUNT] = +static const u8 *const sNamingScreenKeyboardText[KBPAGE_COUNT][KBROW_COUNT] = { [KEYBOARD_LETTERS_LOWER] = { @@ -2547,31 +2537,31 @@ static const u8* const sNamingScreenKeyboardText[KBPAGE_COUNT][KBROW_COUNT] = static const struct SpriteSheet sSpriteSheets[] = { - {gNamingScreenRWindow_Gfx + 0x280, 0x1E0, GFXTAG_BACK_BUTTON}, - {gNamingScreenRWindow_Gfx + 0x460, 0x1E0, GFXTAG_OK_BUTTON}, - {gNamingScreenRWindow_Gfx, 0x280, GFXTAG_PAGE_SWAP_FRAME}, - {gNamingScreenPageButton_Gfx + 0x20, 0x100, GFXTAG_PAGE_SWAP_BUTTON}, - {gNamingScreenROptions_Gfx, 0x060, GFXTAG_PAGE_SWAP_UPPER}, - {gNamingScreenROptions_Gfx + 0xA0, 0x060, GFXTAG_PAGE_SWAP_LOWER}, - {gNamingScreenROptions_Gfx + 0x140, 0x060, GFXTAG_PAGE_SWAP_OTHERS}, - {gNamingScreenCursor_Gfx, 0x080, GFXTAG_CURSOR}, - {gNamingScreenCursor_Gfx + 0xA0, 0x080, GFXTAG_CURSOR_SQUISHED}, - {gNamingScreenCursor_Gfx + 0x140, 0x080, GFXTAG_CURSOR_FILLED}, - {gNamingScreenInputArrow_Gfx, 0x020, GFXTAG_INPUT_ARROW}, - {gNamingScreenUnderscore_Gfx, 0x020, GFXTAG_UNDERSCORE}, + {gNamingScreenBackButton_Gfx, 0x1E0, GFXTAG_BACK_BUTTON}, + {gNamingScreenOKButton_Gfx, 0x1E0, GFXTAG_OK_BUTTON}, + {gNamingScreenPageSwapFrame_Gfx, 0x280, GFXTAG_PAGE_SWAP_FRAME}, + {gNamingScreenPageSwapButton_Gfx, 0x100, GFXTAG_PAGE_SWAP_BUTTON}, + {gNamingScreenPageSwapUpper_Gfx, 0x060, GFXTAG_PAGE_SWAP_UPPER}, + {gNamingScreenPageSwapLower_Gfx, 0x060, GFXTAG_PAGE_SWAP_LOWER}, + {gNamingScreenPageSwapOthers_Gfx, 0x060, GFXTAG_PAGE_SWAP_OTHERS}, + {gNamingScreenCursor_Gfx, 0x080, GFXTAG_CURSOR}, + {gNamingScreenCursorSquished_Gfx, 0x080, GFXTAG_CURSOR_SQUISHED}, + {gNamingScreenCursorFilled_Gfx, 0x080, GFXTAG_CURSOR_FILLED}, + {gNamingScreenInputArrow_Gfx, 0x020, GFXTAG_INPUT_ARROW}, + {gNamingScreenUnderscore_Gfx, 0x020, GFXTAG_UNDERSCORE}, {} }; static const struct SpritePalette sSpritePalettes[] = { - {gNamingScreenMenu_Pal, PALTAG_PC_ICON}, - {gNamingScreenMenu_Pal + 0x10, PALTAG_PAGE_SWAP_UPPER}, - {gNamingScreenMenu_Pal + 0x20, PALTAG_PAGE_SWAP_LOWER}, - {gNamingScreenMenu_Pal + 0x30, PALTAG_PAGE_SWAP_OTHERS}, - {gNamingScreenMenu_Pal + 0x40, PALTAG_PAGE_SWAP}, - {gNamingScreenMenu_Pal + 0x50, PALTAG_CURSOR}, - {gNamingScreenMenu_Pal + 0x40, PALTAG_BACK_BUTTON}, - {gNamingScreenMenu_Pal + 0x40, PALTAG_OK_BUTTON}, + {gNamingScreenMenu_Pal[0], PALTAG_MENU}, + {gNamingScreenMenu_Pal[1], PALTAG_PAGE_SWAP_UPPER}, + {gNamingScreenMenu_Pal[2], PALTAG_PAGE_SWAP_LOWER}, + {gNamingScreenMenu_Pal[3], PALTAG_PAGE_SWAP_OTHERS}, + {gNamingScreenMenu_Pal[4], PALTAG_PAGE_SWAP}, + {gNamingScreenMenu_Pal[5], PALTAG_CURSOR}, + {gNamingScreenMenu_Pal[4], PALTAG_BACK_BUTTON}, + {gNamingScreenMenu_Pal[4], PALTAG_OK_BUTTON}, {} }; diff --git a/src/new_game.c b/src/new_game.c index 077b86775c..4ecb670c03 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -192,7 +192,7 @@ void NewGameInitData(void) ResetFanClub(); ResetLotteryCorner(); WarpToTruck(); - ScriptContext2_RunNewScript(EventScript_ResetAllMapFlags); + RunScriptImmediately(EventScript_ResetAllMapFlags); ResetMiniGamesRecords(); InitUnionRoomChatRegisteredTexts(); InitLilycoveLady(); diff --git a/src/option_menu.c b/src/option_menu.c index 2991913d78..3ca9857e84 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -167,7 +167,7 @@ void CB2_InitOptionMenu(void) gMain.state++; break; case 1: - DmaClearLarge16(3, (void*)(VRAM), VRAM_SIZE, 0x1000); + DmaClearLarge16(3, (void *)(VRAM), VRAM_SIZE, 0x1000); DmaClear32(3, OAM, OAM_SIZE); DmaClear16(3, PLTT, PLTT_SIZE); SetGpuReg(REG_OFFSET_DISPCNT, 0); diff --git a/src/overworld.c b/src/overworld.c index a2b6a6433d..4c4dd5217d 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -127,9 +127,9 @@ static void CreateLinkPlayerSprites(void); static void ClearAllPlayerKeys(void); static void ResetAllPlayerLinkStates(void); static void UpdateHeldKeyCode(u16); -static void UpdateAllLinkPlayers(u16*, s32); +static void UpdateAllLinkPlayers(u16 *, s32); static u8 FlipVerticalAndClearForced(u8, u8); -static u8 LinkPlayerDetectCollision(u8, u8, s16, s16); +static u8 LinkPlayerGetCollision(u8, u8, s16, s16); static void CreateLinkPlayerSprite(u8, u8); static void GetLinkPlayerCoords(u8, u16 *, u16 *); static u8 GetLinkPlayerFacingDirection(u8); @@ -360,7 +360,7 @@ static void (*const sMovementStatusHandler[])(struct LinkPlayerObjectEvent *, st // code void DoWhiteOut(void) { - ScriptContext2_RunNewScript(EventScript_WhiteOut); + RunScriptImmediately(EventScript_WhiteOut); SetMoney(&gSaveBlock1Ptr->money, GetMoney(&gSaveBlock1Ptr->money) / 2); HealPlayerParty(); Overworld_ResetStateAfterWhiteOut(); @@ -386,7 +386,7 @@ void Overworld_ResetStateAfterTeleport(void) FlagClear(FLAG_SYS_SAFARI_MODE); FlagClear(FLAG_SYS_USE_STRENGTH); FlagClear(FLAG_SYS_USE_FLASH); - ScriptContext2_RunNewScript(EventScript_ResetMrBriney); + RunScriptImmediately(EventScript_ResetMrBriney); } void Overworld_ResetStateAfterDigEscRope(void) @@ -1432,11 +1432,11 @@ static void DoCB1_Overworld(u16 newKeys, u16 heldKeys) UpdatePlayerAvatarTransitionState(); FieldClearPlayerInput(&inputStruct); FieldGetPlayerInput(&inputStruct, newKeys, heldKeys); - if (!ScriptContext2_IsEnabled()) + if (!ArePlayerFieldControlsLocked()) { if (ProcessPlayerFieldInput(&inputStruct) == 1) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); HideMapNamePopUpWindow(); } else @@ -1454,7 +1454,7 @@ void CB1_Overworld(void) static void OverworldBasic(void) { - ScriptContext2_RunScript(); + ScriptContext_RunScript(); RunTasks(); AnimateSprites(); CameraUpdate(); @@ -1527,8 +1527,8 @@ void CB2_NewGame(void) NewGameInitData(); ResetInitialPlayerAvatarState(); PlayTimeCounter_Start(); - ScriptContext1_Init(); - ScriptContext2_Disable(); + ScriptContext_Init(); + UnlockPlayerFieldControls(); gFieldCallback = ExecuteTruckSequence; gFieldCallback2 = NULL; DoMapLoadLoop(&gMain.state); @@ -1548,8 +1548,8 @@ void CB2_WhiteOut(void) ResetSafariZoneFlag_(); DoWhiteOut(); ResetInitialPlayerAvatarState(); - ScriptContext1_Init(); - ScriptContext2_Disable(); + ScriptContext_Init(); + UnlockPlayerFieldControls(); gFieldCallback = FieldCB_WarpExitFadeFromBlack; state = 0; DoMapLoadLoop(&state); @@ -1562,8 +1562,8 @@ void CB2_WhiteOut(void) void CB2_LoadMap(void) { FieldClearVBlankHBlankCallbacks(); - ScriptContext1_Init(); - ScriptContext2_Disable(); + ScriptContext_Init(); + UnlockPlayerFieldControls(); SetMainCallback1(NULL); SetMainCallback2(CB2_DoChangeMap); gMain.savedCallback = CB2_LoadMap2; @@ -1582,8 +1582,8 @@ void CB2_ReturnToFieldContestHall(void) if (!gMain.state) { FieldClearVBlankHBlankCallbacks(); - ScriptContext1_Init(); - ScriptContext2_Disable(); + ScriptContext_Init(); + UnlockPlayerFieldControls(); SetMainCallback1(NULL); } if (LoadMapInStepsLocal(&gMain.state, TRUE)) @@ -1652,8 +1652,8 @@ void CB2_ReturnToFieldFromMultiplayer(void) else gFieldCallback = FieldCB_ReturnToFieldCableLink; - ScriptContext1_Init(); - ScriptContext2_Disable(); + ScriptContext_Init(); + UnlockPlayerFieldControls(); CB2_ReturnToField(); } @@ -1723,8 +1723,8 @@ void CB2_ContinueSavedGame(void) InitMapFromSavedGame(); PlayTimeCounter_Start(); - ScriptContext1_Init(); - ScriptContext2_Disable(); + ScriptContext_Init(); + UnlockPlayerFieldControls(); InitMatchCallCounters(); if (UseContinueGameWarp() == TRUE) { @@ -1803,8 +1803,8 @@ static bool32 LoadMapInStepsLink(u8 *state) { case 0: InitOverworldBgs(); - ScriptContext1_Init(); - ScriptContext2_Disable(); + ScriptContext_Init(); + UnlockPlayerFieldControls(); ResetMirageTowerAndSaveBlockPtrs(); ResetScreenForMapLoad(); (*state)++; @@ -2505,7 +2505,7 @@ static void ResetPlayerHeldKeys(u16 *keys) static u16 KeyInterCB_SelfIdle(u32 key) { - if (ScriptContext2_IsEnabled() == TRUE) + if (ArePlayerFieldControlsLocked() == TRUE) return LINK_KEY_CODE_EMPTY; if (GetLinkRecvQueueLength() > 4) return LINK_KEY_CODE_HANDLE_RECV_QUEUE; @@ -2520,12 +2520,11 @@ static u16 KeyInterCB_Idle(u32 key) return LINK_KEY_CODE_EMPTY; } -// Ignore the player's inputs as long as there is an event script -// in ScriptContext2. +// Ignore the player's inputs as long as there is an event script being executed. static u16 KeyInterCB_DeferToEventScript(u32 key) { u16 retVal; - if (ScriptContext2_IsEnabled() == TRUE) + if (ArePlayerFieldControlsLocked() == TRUE) { retVal = LINK_KEY_CODE_EMPTY; } @@ -2548,7 +2547,7 @@ static u16 KeyInterCB_DeferToRecvQueue(u32 key) else { retVal = LINK_KEY_CODE_IDLE; - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); SetKeyInterceptCallback(KeyInterCB_Idle); } return retVal; @@ -2565,7 +2564,7 @@ static u16 KeyInterCB_DeferToSendQueue(u32 key) else { retVal = LINK_KEY_CODE_IDLE; - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); SetKeyInterceptCallback(KeyInterCB_Idle); } return retVal; @@ -2618,7 +2617,7 @@ static u16 KeyInterCB_WaitForPlayersToExit(u32 keyOrPlayerId) CheckRfuKeepAliveTimer(); if (AreAllPlayersInLinkState(PLAYER_LINK_STATE_EXITING_ROOM) == TRUE) { - ScriptContext1_SetupScript(EventScript_DoLinkRoomExit); + ScriptContext_SetupScript(EventScript_DoLinkRoomExit); SetKeyInterceptCallback(KeyInterCB_SendNothing); } return LINK_KEY_CODE_EMPTY; @@ -2797,41 +2796,41 @@ static u16 GetDirectionForEventScript(const u8 *script) static void InitLinkPlayerQueueScript(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); } static void InitLinkRoomStartMenuScript(void) { PlaySE(SE_WIN_OPEN); ShowStartMenu(); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } static void RunInteractLocalPlayerScript(const u8 *script) { PlaySE(SE_SELECT); - ScriptContext1_SetupScript(script); - ScriptContext2_Enable(); + ScriptContext_SetupScript(script); + LockPlayerFieldControls(); } static void RunConfirmLeaveCableClubScript(void) { PlaySE(SE_WIN_OPEN); - ScriptContext1_SetupScript(EventScript_ConfirmLeaveCableClubRoom); - ScriptContext2_Enable(); + ScriptContext_SetupScript(EventScript_ConfirmLeaveCableClubRoom); + LockPlayerFieldControls(); } static void InitMenuBasedScript(const u8 *script) { PlaySE(SE_SELECT); - ScriptContext1_SetupScript(script); - ScriptContext2_Enable(); + ScriptContext_SetupScript(script); + LockPlayerFieldControls(); } static void RunTerminateLinkScript(void) { - ScriptContext1_SetupScript(EventScript_TerminateLink); - ScriptContext2_Enable(); + ScriptContext_SetupScript(EventScript_TerminateLink); + LockPlayerFieldControls(); } bool32 Overworld_IsRecvQueueAtMax(void) @@ -2923,7 +2922,7 @@ static void ZeroObjectEvent(struct ObjectEvent *objEvent) // conflict with the usual Event Object struct, thus the definitions. #define linkGender(obj) obj->singleMovementActive // not even one can reference *byte* aligned bitfield members... -#define linkDirection(obj) ((u8*)obj)[offsetof(typeof(*obj), fieldEffectSpriteId) - 1] // -> rangeX +#define linkDirection(obj) ((u8 *)obj)[offsetof(typeof(*obj), fieldEffectSpriteId) - 1] // -> rangeX static void SpawnLinkPlayerObjectEvent(u8 linkPlayerId, s16 x, s16 y, u8 gender) { @@ -3087,7 +3086,7 @@ static bool8 FacingHandler_DpadMovement(struct LinkPlayerObjectEvent *linkPlayer linkDirection(objEvent) = FlipVerticalAndClearForced(dir, linkDirection(objEvent)); ObjectEventMoveDestCoords(objEvent, linkDirection(objEvent), &x, &y); - if (LinkPlayerDetectCollision(linkPlayerObjEvent->objEventId, linkDirection(objEvent), x, y)) + if (LinkPlayerGetCollision(linkPlayerObjEvent->objEventId, linkDirection(objEvent), x, y)) { return FALSE; } @@ -3147,7 +3146,7 @@ static u8 FlipVerticalAndClearForced(u8 newFacing, u8 oldFacing) return oldFacing; } -static bool8 LinkPlayerDetectCollision(u8 selfObjEventId, u8 direction, s16 x, s16 y) +static u8 LinkPlayerGetCollision(u8 selfObjEventId, u8 direction, s16 x, s16 y) { u8 i; for (i = 0; i < OBJECT_EVENTS_COUNT; i++) @@ -3157,11 +3156,11 @@ static bool8 LinkPlayerDetectCollision(u8 selfObjEventId, u8 direction, s16 x, s if ((gObjectEvents[i].currentCoords.x == x && gObjectEvents[i].currentCoords.y == y) || (gObjectEvents[i].previousCoords.x == x && gObjectEvents[i].previousCoords.y == y)) { - return TRUE; + return 1; } } } - return MapGridIsImpassableAt(x, y); + return MapGridGetCollisionAt(x, y); } static void CreateLinkPlayerSprite(u8 linkPlayerId, u8 gameVersion) @@ -3209,7 +3208,7 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite) else StartSpriteAnimIfDifferent(sprite, GetMoveDirectionAnimNum(linkDirection(objEvent))); - UpdateObjectEventSpriteInvisibility(sprite, 0); + UpdateObjectEventSpriteInvisibility(sprite, FALSE); if (objEvent->triggerGroundEffectsOnMove) { sprite->invisible = ((sprite->data[7] & 4) >> 2); diff --git a/src/party_menu.c b/src/party_menu.c index 016c359cb9..8c9b09f523 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -73,6 +73,80 @@ #include "constants/rgb.h" #include "constants/songs.h" +enum { + MENU_SUMMARY, + MENU_SWITCH, + MENU_CANCEL1, + MENU_ITEM, + MENU_GIVE, + MENU_TAKE_ITEM, + MENU_MAIL, + MENU_TAKE_MAIL, + MENU_READ, + MENU_CANCEL2, + MENU_SHIFT, + MENU_SEND_OUT, + MENU_ENTER, + MENU_NO_ENTRY, + MENU_STORE, + MENU_REGISTER, + MENU_TRADE1, + MENU_TRADE2, + MENU_TOSS, + MENU_FIELD_MOVES +}; + +// IDs for the action lists that appear when a party mon is selected +enum { + ACTIONS_NONE, + ACTIONS_SWITCH, + ACTIONS_SHIFT, + ACTIONS_SEND_OUT, + ACTIONS_ENTER, + ACTIONS_NO_ENTRY, + ACTIONS_STORE, + ACTIONS_SUMMARY_ONLY, + ACTIONS_ITEM, + ACTIONS_MAIL, + ACTIONS_REGISTER, + ACTIONS_TRADE, + ACTIONS_SPIN_TRADE, + ACTIONS_TAKEITEM_TOSS, +}; + +// In CursorCb_FieldMove, field moves <= FIELD_MOVE_WATERFALL are assumed to line up with the badge flags. +// Badge flag names are commented here for people searching for references to remove the badge requirement. +enum { + FIELD_MOVE_CUT, // FLAG_BADGE01_GET + FIELD_MOVE_FLASH, // FLAG_BADGE02_GET + FIELD_MOVE_ROCK_SMASH, // FLAG_BADGE03_GET + FIELD_MOVE_STRENGTH, // FLAG_BADGE04_GET + FIELD_MOVE_SURF, // FLAG_BADGE05_GET + FIELD_MOVE_FLY, // FLAG_BADGE06_GET + FIELD_MOVE_DIVE, // FLAG_BADGE07_GET + FIELD_MOVE_WATERFALL, // FLAG_BADGE08_GET + FIELD_MOVE_TELEPORT, + FIELD_MOVE_DIG, + FIELD_MOVE_SECRET_POWER, + FIELD_MOVE_MILK_DRINK, + FIELD_MOVE_SOFT_BOILED, + FIELD_MOVE_SWEET_SCENT, + FIELD_MOVES_COUNT +}; + +enum { + PARTY_BOX_LEFT_COLUMN, + PARTY_BOX_RIGHT_COLUMN, +}; + +enum { + TAG_POKEBALL = 1200, + TAG_POKEBALL_SMALL, + TAG_STATUS_ICONS, +}; + +#define TAG_HELD_ITEM 55120 + #define PARTY_PAL_SELECTED (1 << 0) #define PARTY_PAL_FAINTED (1 << 1) #define PARTY_PAL_TO_SWITCH (1 << 2) @@ -193,9 +267,9 @@ static void DisplayPartyPokemonDescriptionText(u8, struct PartyMenuBox *, u8); static bool8 IsMonAllowedInMinigame(u8); static void DisplayPartyPokemonDataToTeachMove(u8, u16, u8); static u8 CanMonLearnTMTutor(struct Pokemon *, u16, u8); -static void DisplayPartyPokemonBarDetail(u8, const u8*, u8, const u8*); +static void DisplayPartyPokemonBarDetail(u8, const u8 *, u8, const u8 *); static void DisplayPartyPokemonLevel(u8, struct PartyMenuBox *); -static void DisplayPartyPokemonGender(u8, u16, u8*, struct PartyMenuBox *); +static void DisplayPartyPokemonGender(u8, u16, u8 *, struct PartyMenuBox *); static void DisplayPartyPokemonHP(u16, struct PartyMenuBox *); static void DisplayPartyPokemonMaxHP(u16, struct PartyMenuBox *); static void DisplayPartyPokemonHPBar(u16, u16, struct PartyMenuBox *); @@ -220,12 +294,12 @@ static u8 GetPartyIdFromBattleSlot(u8); static void Task_ClosePartyMenuAndSetCB2(u8); static void UpdatePartyToFieldOrder(void); static void MoveCursorToConfirm(void); -static void HandleChooseMonCancel(u8, s8*); -static void HandleChooseMonSelection(u8, s8*); -static u16 PartyMenuButtonHandler(s8*); -static s8* GetCurrentPartySlotPtr(void); -static bool8 IsSelectedMonNotEgg(u8*); -static void PartyMenuRemoveWindow(u8*); +static void HandleChooseMonCancel(u8, s8 *); +static void HandleChooseMonSelection(u8, s8 *); +static u16 PartyMenuButtonHandler(s8 *); +static s8 *GetCurrentPartySlotPtr(void); +static bool8 IsSelectedMonNotEgg(u8 *); +static void PartyMenuRemoveWindow(u8 *); static void CB2_SetUpExitToBattleScreen(void); static void Task_ClosePartyMenuAfterText(u8); static void TryTutorSelectedMon(u8); @@ -237,26 +311,26 @@ static void Task_TryCreateSelectionWindow(u8); static void FinishTwoMonAction(u8); static void CancelParticipationPrompt(u8); static bool8 DisplayCancelChooseMonYesNo(u8); -static const u8* GetFacilityCancelString(void); +static const u8 *GetFacilityCancelString(void); static void Task_CancelChooseMonYesNo(u8); static void PartyMenuDisplayYesNoMenu(void); static void Task_HandleCancelChooseMonYesNoInput(u8); static void Task_ReturnToChooseMonAfterText(u8); -static void UpdateCurrentPartySelection(s8*, s8); -static void UpdatePartySelectionSingleLayout(s8*, s8); -static void UpdatePartySelectionDoubleLayout(s8*, s8); +static void UpdateCurrentPartySelection(s8 *, s8); +static void UpdatePartySelectionSingleLayout(s8 *, s8); +static void UpdatePartySelectionDoubleLayout(s8 *, s8); static s8 GetNewSlotDoubleLayout(s8, s8); -static void PartyMenuPrintText(const u8*); +static void PartyMenuPrintText(const u8 *); static void Task_PrintAndWaitForText(u8); -static bool16 IsMonAllowedInPokemonJump(struct Pokemon*); -static bool16 IsMonAllowedInDodrioBerryPicking(struct Pokemon*); +static bool16 IsMonAllowedInPokemonJump(struct Pokemon *); +static bool16 IsMonAllowedInDodrioBerryPicking(struct Pokemon *); static void Task_CancelParticipationYesNo(u8); static void Task_HandleCancelParticipationYesNoInput(u8); static bool8 CanLearnTutorMove(u16, u8); static u16 GetTutorMove(u8); static bool8 ShouldUseChooseMonText(void); -static void SetPartyMonFieldSelectionActions(struct Pokemon*, u8); -static u8 GetPartyMenuActionsTypeInBattle(struct Pokemon*); +static void SetPartyMonFieldSelectionActions(struct Pokemon *, u8); +static u8 GetPartyMenuActionsTypeInBattle(struct Pokemon *); static u8 GetPartySlotEntryStatus(s8); static void Task_UpdateHeldItemSprite(u8); static void Task_HandleSelectionMenuInput(u8); @@ -277,7 +351,7 @@ static void Task_HandleSwitchItemsYesNoInput(u8); static void Task_WriteMailToGiveMonAfterText(u8); static void CB2_ReturnToPartyMenuFromWritingMail(void); static void Task_DisplayGaveMailFromPartyMessage(u8); -static void UpdatePartyMonHeldItemSprite(struct Pokemon*, struct PartyMenuBox*); +static void UpdatePartyMonHeldItemSprite(struct Pokemon *, struct PartyMenuBox *); static void Task_TossHeldItemYesNo(u8 taskId); static void Task_HandleTossHeldItemYesNoInput(u8); static void Task_TossHeldItem(u8); @@ -298,20 +372,20 @@ static void Task_FieldMoveExitAreaYesNo(u8); static void Task_HandleFieldMoveExitAreaYesNoInput(u8); static void Task_FieldMoveWaitForFade(u8); static u16 GetFieldMoveMonSpecies(void); -static void UpdatePartyMonHPBar(u8, struct Pokemon*); -static void SpriteCB_UpdatePartyMonIcon(struct Sprite*); -static void SpriteCB_BouncePartyMonIcon(struct Sprite*); -static void ShowOrHideHeldItemSprite(u16, struct PartyMenuBox*); +static void UpdatePartyMonHPBar(u8, struct Pokemon *); +static void SpriteCB_UpdatePartyMonIcon(struct Sprite *); +static void SpriteCB_BouncePartyMonIcon(struct Sprite *); +static void ShowOrHideHeldItemSprite(u16, struct PartyMenuBox *); static void CreateHeldItemSpriteForTrade(u8, bool8); -static void SpriteCB_HeldItem(struct Sprite*); -static void SetPartyMonAilmentGfx(struct Pokemon*, struct PartyMenuBox*); -static void UpdatePartyMonAilmentGfx(u8, struct PartyMenuBox*); +static void SpriteCB_HeldItem(struct Sprite *); +static void SetPartyMonAilmentGfx(struct Pokemon *, struct PartyMenuBox *); +static void UpdatePartyMonAilmentGfx(u8, struct PartyMenuBox *); static u8 GetPartyLayoutFromBattleType(void); static void Task_SetSacredAshCB(u8); static void CB2_ReturnToBagMenu(void); static void Task_DisplayHPRestoredMessage(u8); -static u16 ItemEffectToMonEv(struct Pokemon*, u8); -static void ItemEffectToStatString(u8, u8*); +static u16 ItemEffectToMonEv(struct Pokemon *, u8); +static void ItemEffectToStatString(u8, u8 *); static void ReturnToUseOnWhichMon(u8); static void SetSelectedMoveForPPItem(u8); static void TryUsePPItem(u8); @@ -331,8 +405,8 @@ static void Task_PartyMenuReplaceMove(u8); static void Task_StopLearningMoveYesNo(u8); static void Task_HandleStopLearningMoveYesNoInput(u8); static void Task_TryLearningNextMoveAfterText(u8); -static void BufferMonStatsToTaskData(struct Pokemon*, s16*); -static void UpdateMonDisplayInfoAfterRareCandy(u8, struct Pokemon*); +static void BufferMonStatsToTaskData(struct Pokemon *, s16 *); +static void UpdateMonDisplayInfoAfterRareCandy(u8, struct Pokemon *); static void Task_DisplayLevelUpStatsPg1(u8); static void DisplayLevelUpStatsPg1(u8); static void Task_DisplayLevelUpStatsPg2(u8); @@ -356,14 +430,14 @@ static bool8 ReturnGiveItemToBagOrPC(u16); static void Task_DisplayGaveMailFromBagMessage(u8); static void Task_HandleSwitchItemsFromBagYesNoInput(u8); static void Task_ValidateChosenHalfParty(u8); -static bool8 GetBattleEntryEligibility(struct Pokemon*); +static bool8 GetBattleEntryEligibility(struct Pokemon *); static bool8 HasPartySlotAlreadyBeenSelected(u8); static u8 GetBattleEntryLevelCap(void); static u8 GetMaxBattleEntries(void); static u8 GetMinBattleEntries(void); static void Task_ContinueChoosingHalfParty(u8); -static void BufferBattlePartyOrder(u8*, bool8); -static void BufferBattlePartyOrderBySide(u8*, u8, u8); +static void BufferBattlePartyOrder(u8 *, bool8); +static void BufferBattlePartyOrderBySide(u8 *, u8, u8); static void Task_InitMultiPartnerPartySlideIn(u8); static void Task_MultiPartnerPartySlideIn(u8); static void SlideMultiPartyMenuBoxSpritesOneStep(u8); @@ -376,7 +450,7 @@ static void Task_ChoosePartyMon(u8 taskId); static void Task_ChooseMonForMoveRelearner(u8); static void CB2_ChooseMonForMoveRelearner(void); static void Task_BattlePyramidChooseMonHeldItems(u8); -static void ShiftMoveSlot(struct Pokemon*, u8, u8); +static void ShiftMoveSlot(struct Pokemon *, u8, u8); static void BlitBitmapToPartyWindow_LeftColumn(u8, u8, u8, u8, u8, bool8); static void BlitBitmapToPartyWindow_RightColumn(u8, u8, u8, u8, u8, bool8); static void CursorCb_Summary(u8); @@ -972,7 +1046,7 @@ static bool8 RenderPartyMenuBoxes(void) return FALSE; } -static u8* GetPartyMenuBgTile(u16 tileId) +static u8 *GetPartyMenuBgTile(u16 tileId) { return &sPartyBgGfxTilemap[tileId << 5]; } @@ -1186,13 +1260,13 @@ void Task_HandleChooseMonInput(u8 taskId) switch (PartyMenuButtonHandler(slotPtr)) { - case 1: // Selected mon + case A_BUTTON: // Selected mon HandleChooseMonSelection(taskId, slotPtr); break; - case 2: // Selected Cancel + case B_BUTTON: // Selected Cancel / pressed B HandleChooseMonCancel(taskId, slotPtr); break; - case 8: // Start button + case START_BUTTON: if (sPartyMenuInternal->chooseHalf) { PlaySE(SE_SELECT); @@ -1203,7 +1277,7 @@ void Task_HandleChooseMonInput(u8 taskId) } } -static s8* GetCurrentPartySlotPtr(void) +static s8 *GetCurrentPartySlotPtr(void) { if (gPartyMenu.action == PARTY_ACTION_SWITCH || gPartyMenu.action == PARTY_ACTION_SOFTBOILED) return &gPartyMenu.slotId2; @@ -1222,14 +1296,14 @@ static void HandleChooseMonSelection(u8 taskId, s8 *slotPtr) switch (gPartyMenu.action) { case PARTY_ACTION_SOFTBOILED: - if (IsSelectedMonNotEgg((u8*)slotPtr)) + if (IsSelectedMonNotEgg((u8 *)slotPtr)) { PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); Task_TryUseSoftboiledOnPartyMon(taskId); } break; case PARTY_ACTION_USE_ITEM: - if (IsSelectedMonNotEgg((u8*)slotPtr)) + if (IsSelectedMonNotEgg((u8 *)slotPtr)) { if (gPartyMenu.menuType == PARTY_MENU_TYPE_IN_BATTLE) sPartyMenuInternal->exitCallback = CB2_SetUpExitToBattleScreen; @@ -1239,7 +1313,7 @@ static void HandleChooseMonSelection(u8 taskId, s8 *slotPtr) } break; case PARTY_ACTION_MOVE_TUTOR: - if (IsSelectedMonNotEgg((u8*)slotPtr)) + if (IsSelectedMonNotEgg((u8 *)slotPtr)) { PlaySE(SE_SELECT); PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); @@ -1247,7 +1321,7 @@ static void HandleChooseMonSelection(u8 taskId, s8 *slotPtr) } break; case PARTY_ACTION_GIVE_MAILBOX_MAIL: - if (IsSelectedMonNotEgg((u8*)slotPtr)) + if (IsSelectedMonNotEgg((u8 *)slotPtr)) { PlaySE(SE_SELECT); PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); @@ -1256,7 +1330,7 @@ static void HandleChooseMonSelection(u8 taskId, s8 *slotPtr) break; case PARTY_ACTION_GIVE_ITEM: case PARTY_ACTION_GIVE_PC_ITEM: - if (IsSelectedMonNotEgg((u8*)slotPtr)) + if (IsSelectedMonNotEgg((u8 *)slotPtr)) { PlaySE(SE_SELECT); PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); @@ -1272,7 +1346,7 @@ static void HandleChooseMonSelection(u8 taskId, s8 *slotPtr) Task_ClosePartyMenu(taskId); break; case PARTY_ACTION_MINIGAME: - if (IsSelectedMonNotEgg((u8*)slotPtr)) + if (IsSelectedMonNotEgg((u8 *)slotPtr)) { TryEnterMonForMinigame(taskId, (u8)*slotPtr); } @@ -1329,7 +1403,7 @@ static void HandleChooseMonCancel(u8 taskId, s8 *slotPtr) static bool8 DisplayCancelChooseMonYesNo(u8 taskId) { - const u8* stringPtr = NULL; + const u8 *stringPtr = NULL; if (gPartyMenu.menuType == PARTY_MENU_TYPE_CONTEST) stringPtr = gText_CancelParticipation; @@ -1409,7 +1483,7 @@ static u16 PartyMenuButtonHandler(s8 *slotPtr) } if (JOY_NEW(START_BUTTON)) - return 8; + return START_BUTTON; if (movementDir) { @@ -1418,8 +1492,8 @@ static u16 PartyMenuButtonHandler(s8 *slotPtr) } // Pressed Cancel - if ((JOY_NEW(A_BUTTON)) && *slotPtr == PARTY_SIZE + 1) - return 2; + if (JOY_NEW(A_BUTTON) && *slotPtr == PARTY_SIZE + 1) + return B_BUTTON; return JOY_NEW(A_BUTTON | B_BUTTON); } @@ -1617,7 +1691,7 @@ static s8 GetNewSlotDoubleLayout(s8 slotId, s8 movementDir) } } -u8* GetMonNickname(struct Pokemon *mon, u8 *dest) +u8 *GetMonNickname(struct Pokemon *mon, u8 *dest) { GetMonData(mon, MON_DATA_NICKNAME, dest); return StringGet_Nickname(dest); @@ -1625,7 +1699,7 @@ u8* GetMonNickname(struct Pokemon *mon, u8 *dest) #define tKeepOpen data[0] -u8 DisplayPartyMenuMessage(const u8* str, bool8 keepOpen) +u8 DisplayPartyMenuMessage(const u8 *str, bool8 keepOpen) { u8 taskId; @@ -1641,7 +1715,7 @@ static void Task_PrintAndWaitForText(u8 taskId) { if (gTasks[taskId].tKeepOpen == FALSE) { - ClearStdWindowAndFrameToTransparent(6, 0); + ClearStdWindowAndFrameToTransparent(6, FALSE); ClearWindowTilemap(6); } DestroyTask(taskId); @@ -1668,7 +1742,7 @@ static void Task_ReturnToChooseMonAfterText(u8 taskId) { if (IsPartyMenuTextPrinterActive() != TRUE) { - ClearStdWindowAndFrameToTransparent(6, 0); + ClearStdWindowAndFrameToTransparent(6, FALSE); ClearWindowTilemap(6); if (MenuHelpers_IsLinkActive() == TRUE) { @@ -1732,7 +1806,7 @@ static void GiveItemToMon(struct Pokemon *mon, u16 item) SetMonData(mon, MON_DATA_HELD_ITEM, itemBytes); } -static u8 TryTakeMonItem(struct Pokemon* mon) +static u8 TryTakeMonItem(struct Pokemon *mon) { u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); @@ -2064,7 +2138,7 @@ static void CreateCancelConfirmWindows(bool8 chooseHalf) } } -static u16* GetPartyMenuPalBufferPtr(u8 paletteId) +static u16 *GetPartyMenuPalBufferPtr(u8 paletteId) { return &sPartyMenuInternal->palBuffer[paletteId]; } @@ -2371,7 +2445,7 @@ static void PartyMenuRemoveWindow(u8 *ptr) { if (*ptr != WINDOW_NONE) { - ClearStdWindowAndFrameToTransparent(*ptr, 0); + ClearStdWindowAndFrameToTransparent(*ptr, FALSE); RemoveWindow(*ptr); *ptr = WINDOW_NONE; ScheduleBgCopyTilemapToVram(2); @@ -2489,7 +2563,7 @@ static void PartyMenuPrintText(const u8 *text) { DrawStdFrameWithCustomTileAndPalette(6, FALSE, 0x4F, 13); gTextFlags.canABSpeedUpPrint = TRUE; - AddTextPrinterParameterized2(6, FONT_NORMAL, text, GetPlayerTextSpeedDelay(), 0, 2, 1, 3); + AddTextPrinterParameterized2(6, FONT_NORMAL, text, GetPlayerTextSpeedDelay(), 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); } static void PartyMenuDisplayYesNoMenu(void) @@ -2536,7 +2610,7 @@ static void SetPartyMonFieldSelectionActions(struct Pokemon *mons, u8 slotId) // Add field moves to action list for (i = 0; i < MAX_MON_MOVES; i++) { - for (j = 0; sFieldMoves[j] != FIELD_MOVE_TERMINATOR; j++) + for (j = 0; sFieldMoves[j] != FIELD_MOVES_COUNT; j++) { if (GetMonData(&mons[slotId], i + MON_DATA_MOVE1) == sFieldMoves[j]) { @@ -3309,7 +3383,7 @@ static void CursorCb_Read(u8 taskId) static void CB2_ReadHeldMail(void) { - ReadMail(&gSaveBlock1Ptr->mail[GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAIL)], CB2_ReturnToPartyMenuFromReadingMail, 1); + ReadMail(&gSaveBlock1Ptr->mail[GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAIL)], CB2_ReturnToPartyMenuFromReadingMail, TRUE); } static void CB2_ReturnToPartyMenuFromReadingMail(void) @@ -5655,7 +5729,7 @@ static u8 GetBattleEntryLevelCap(void) } } -static const u8* GetFacilityCancelString(void) +static const u8 *GetFacilityCancelString(void) { u8 facilityNum = VarGet(VAR_FRONTIER_FACILITY); @@ -6148,14 +6222,14 @@ static void Task_PartyMenuWaitForFade(u8 taskId) if (IsWeatherNotFadingIn()) { DestroyTask(taskId); - ScriptContext2_Disable(); - EnableBothScriptContexts(); + UnlockPlayerFieldControls(); + ScriptContext_Enable(); } } void ChooseContestMon(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FadeScreen(FADE_TO_BLACK, 0); CreateTask(Task_ChooseContestMon, 10); } @@ -6183,7 +6257,7 @@ static void CB2_ChooseContestMon(void) // Used as a script special for showing a party mon to various npcs (e.g. in-game trades, move deleter) void ChoosePartyMon(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FadeScreen(FADE_TO_BLACK, 0); CreateTask(Task_ChoosePartyMon, 10); } @@ -6200,7 +6274,7 @@ static void Task_ChoosePartyMon(u8 taskId) void ChooseMonForMoveRelearner(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FadeScreen(FADE_TO_BLACK, 0); CreateTask(Task_ChooseMonForMoveRelearner, 10); } @@ -6245,7 +6319,7 @@ void DoBattlePyramidMonsHaveHeldItem(void) // The player can then select to toss items from the bag or take/toss held items from the party void BattlePyramidChooseMonHeldItems(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FadeScreen(FADE_TO_BLACK, 0); CreateTask(Task_BattlePyramidChooseMonHeldItems, 10); } diff --git a/src/player_pc.c b/src/player_pc.c index 0ca78dea86..9ec36d61d2 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -161,7 +161,7 @@ static void ItemStorage_HandleRemoveItem(u8); static void ItemStorage_HandleErrorMessageInput(u8); static void ItemStorage_ReturnToListInput(u8); -static const u8* ItemStorage_GetMessage(u16); +static const u8 *ItemStorage_GetMessage(u16); static void CopyItemName_PlayerPC(u8 *, u16); static void ItemStorage_Init(void); @@ -398,7 +398,7 @@ static void InitPlayerPCMenu(u8 taskId) windowTemplate.width = GetMaxWidthInSubsetOfMenuTable(sPlayerPCMenuActions, sTopMenuOptionOrder, sTopMenuNumOptions); tWindowId = AddWindow(&windowTemplate); - SetStandardWindowBorderStyle(tWindowId, 0); + SetStandardWindowBorderStyle(tWindowId, FALSE); PrintMenuActionTextsInUpperLeftCorner(tWindowId, sTopMenuNumOptions, sPlayerPCMenuActions, sTopMenuOptionOrder); InitMenuInUpperLeftCornerNormal(tWindowId, sTopMenuNumOptions, 0); ScheduleBgCopyTilemapToVram(0); @@ -467,7 +467,7 @@ static void PlayerPC_Mailbox(u8 taskId) SetPlayerPCListCount(taskId); if (MailboxMenu_Alloc(gPlayerPCItemPageInfo.count) == TRUE) { - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); Mailbox_DrawMailboxMenu(taskId); gTasks[taskId].func = Mailbox_ProcessInput; } @@ -489,13 +489,13 @@ static void PlayerPC_TurnOff(u8 taskId) if (sTopMenuNumOptions == NUM_BEDROOM_PC_OPTIONS) // Flimsy way to determine if Bedroom PC is in use { if (gSaveBlock2Ptr->playerGender == MALE) - ScriptContext1_SetupScript(LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC); + ScriptContext_SetupScript(LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC); else - ScriptContext1_SetupScript(LittlerootTown_MaysHouse_2F_EventScript_TurnOffPlayerPC); + ScriptContext_SetupScript(LittlerootTown_MaysHouse_2F_EventScript_TurnOffPlayerPC); } else { - EnableBothScriptContexts(); + ScriptContext_Enable(); } DestroyTask(taskId); } @@ -509,7 +509,7 @@ static void InitItemStorageMenu(u8 taskId, u8 var) windowTemplate = sWindowTemplates_MainMenus[WIN_ITEM_STORAGE_MENU]; windowTemplate.width = GetMaxWidthInMenuTable(sItemStorage_MenuActions, ARRAY_COUNT(sItemStorage_MenuActions)); tWindowId = AddWindow(&windowTemplate); - SetStandardWindowBorderStyle(tWindowId, 0); + SetStandardWindowBorderStyle(tWindowId, FALSE); PrintMenuTable(tWindowId, ARRAY_COUNT(sItemStorage_MenuActions), sItemStorage_MenuActions); InitMenuInUpperLeftCornerNormal(tWindowId, ARRAY_COUNT(sItemStorage_MenuActions), var); ScheduleBgCopyTilemapToVram(0); @@ -632,7 +632,7 @@ static void ItemStorage_Enter(u8 taskId, bool8 toss) FreeAndReserveObjectSpritePalettes(); LoadListMenuSwapLineGfx(); CreateSwapLineSprites(sItemStorageMenu->swapLineSpriteIds, SWAP_LINE_LENGTH); - ClearDialogWindowAndFrame(0,0); + ClearDialogWindowAndFrame(0, FALSE); gTasks[taskId].func = ItemStorage_CreateListMenu; } @@ -928,7 +928,7 @@ static void Mailbox_NoPokemonForMail(u8 taskId) static void Mailbox_Cancel(u8 taskId) { MailboxMenu_RemoveWindow(MAILBOXWIN_OPTIONS); - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); Mailbox_DrawMailboxMenu(taskId); ScheduleBgCopyTilemapToVram(0); gTasks[taskId].func = Mailbox_ProcessInput; @@ -1039,7 +1039,7 @@ static void ItemStorage_PrintMenuItem(u8 windowId, u32 id, u8 yOffset) static void ItemStorage_PrintDescription(s32 id) { - const u8* description; + const u8 *description; u8 windowId = sItemStorageMenu->windowIds[ITEMPC_WIN_MESSAGE]; // Get item description (or Cancel text) @@ -1088,7 +1088,7 @@ static void ItemStorage_DrawSwapArrow(u8 y, u8 b, u8 speed) static void ItemStorage_DrawItemIcon(u16 itemId) { u8 spriteId; - u8* spriteIdLoc = &sItemStorageMenu->spriteId; + u8 *spriteIdLoc = &sItemStorageMenu->spriteId; if (*spriteIdLoc == SPRITE_NONE) { @@ -1107,7 +1107,7 @@ static void ItemStorage_DrawItemIcon(u16 itemId) static void ItemStorage_EraseItemIcon(void) { - u8* spriteIdLoc = &sItemStorageMenu->spriteId; + u8 *spriteIdLoc = &sItemStorageMenu->spriteId; if (*spriteIdLoc != SPRITE_NONE) { FreeSpriteTilesByTag(TAG_ITEM_ICON); @@ -1133,7 +1133,7 @@ static void ItemStorage_CreateListMenu(u8 taskId) s16 *data; bool32 toss; u32 i, x; - const u8* text; + const u8 *text; data = gTasks[taskId].data; for (i = 0; i <= ITEMPC_WIN_LIST_END; i++) @@ -1154,7 +1154,7 @@ static void ItemStorage_CreateListMenu(u8 taskId) gTasks[taskId].func = ItemStorage_ProcessInput; } -static const u8* ItemStorage_GetMessage(u16 itemId) +static const u8 *ItemStorage_GetMessage(u16 itemId) { const u8 *string; diff --git a/src/pokeball.c b/src/pokeball.c index f203633a58..2633fd5740 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -44,49 +44,49 @@ static u16 GetBattlerPokeballItemId(u8 battlerId); // rom const data -#define GFX_TAG_POKEBALL 55000 -#define GFX_TAG_GREATBALL 55001 -#define GFX_TAG_SAFARIBALL 55002 -#define GFX_TAG_ULTRABALL 55003 -#define GFX_TAG_MASTERBALL 55004 -#define GFX_TAG_NETBALL 55005 -#define GFX_TAG_DIVEBALL 55006 -#define GFX_TAG_NESTBALL 55007 -#define GFX_TAG_REPEATBALL 55008 -#define GFX_TAG_TIMERBALL 55009 -#define GFX_TAG_LUXURYBALL 55010 -#define GFX_TAG_PREMIERBALL 55011 +#define GFX_TAG_POKE_BALL 55000 +#define GFX_TAG_GREAT_BALL 55001 +#define GFX_TAG_SAFARI_BALL 55002 +#define GFX_TAG_ULTRA_BALL 55003 +#define GFX_TAG_MASTER_BALL 55004 +#define GFX_TAG_NET_BALL 55005 +#define GFX_TAG_DIVE_BALL 55006 +#define GFX_TAG_NEST_BALL 55007 +#define GFX_TAG_REPEAT_BALL 55008 +#define GFX_TAG_TIMER_BALL 55009 +#define GFX_TAG_LUXURY_BALL 55010 +#define GFX_TAG_PREMIER_BALL 55011 const struct CompressedSpriteSheet gBallSpriteSheets[POKEBALL_COUNT] = { - [BALL_POKE] = {gBallGfx_Poke, 384, GFX_TAG_POKEBALL}, - [BALL_GREAT] = {gBallGfx_Great, 384, GFX_TAG_GREATBALL}, - [BALL_SAFARI] = {gBallGfx_Safari, 384, GFX_TAG_SAFARIBALL}, - [BALL_ULTRA] = {gBallGfx_Ultra, 384, GFX_TAG_ULTRABALL}, - [BALL_MASTER] = {gBallGfx_Master, 384, GFX_TAG_MASTERBALL}, - [BALL_NET] = {gBallGfx_Net, 384, GFX_TAG_NETBALL}, - [BALL_DIVE] = {gBallGfx_Dive, 384, GFX_TAG_DIVEBALL}, - [BALL_NEST] = {gBallGfx_Nest, 384, GFX_TAG_NESTBALL}, - [BALL_REPEAT] = {gBallGfx_Repeat, 384, GFX_TAG_REPEATBALL}, - [BALL_TIMER] = {gBallGfx_Timer, 384, GFX_TAG_TIMERBALL}, - [BALL_LUXURY] = {gBallGfx_Luxury, 384, GFX_TAG_LUXURYBALL}, - [BALL_PREMIER] = {gBallGfx_Premier, 384, GFX_TAG_PREMIERBALL}, + [BALL_POKE] = {gBallGfx_Poke, 384, GFX_TAG_POKE_BALL}, + [BALL_GREAT] = {gBallGfx_Great, 384, GFX_TAG_GREAT_BALL}, + [BALL_SAFARI] = {gBallGfx_Safari, 384, GFX_TAG_SAFARI_BALL}, + [BALL_ULTRA] = {gBallGfx_Ultra, 384, GFX_TAG_ULTRA_BALL}, + [BALL_MASTER] = {gBallGfx_Master, 384, GFX_TAG_MASTER_BALL}, + [BALL_NET] = {gBallGfx_Net, 384, GFX_TAG_NET_BALL}, + [BALL_DIVE] = {gBallGfx_Dive, 384, GFX_TAG_DIVE_BALL}, + [BALL_NEST] = {gBallGfx_Nest, 384, GFX_TAG_NEST_BALL}, + [BALL_REPEAT] = {gBallGfx_Repeat, 384, GFX_TAG_REPEAT_BALL}, + [BALL_TIMER] = {gBallGfx_Timer, 384, GFX_TAG_TIMER_BALL}, + [BALL_LUXURY] = {gBallGfx_Luxury, 384, GFX_TAG_LUXURY_BALL}, + [BALL_PREMIER] = {gBallGfx_Premier, 384, GFX_TAG_PREMIER_BALL}, }; const struct CompressedSpritePalette gBallSpritePalettes[POKEBALL_COUNT] = { - [BALL_POKE] = {gBallPal_Poke, GFX_TAG_POKEBALL}, - [BALL_GREAT] = {gBallPal_Great, GFX_TAG_GREATBALL}, - [BALL_SAFARI] = {gBallPal_Safari, GFX_TAG_SAFARIBALL}, - [BALL_ULTRA] = {gBallPal_Ultra, GFX_TAG_ULTRABALL}, - [BALL_MASTER] = {gBallPal_Master, GFX_TAG_MASTERBALL}, - [BALL_NET] = {gBallPal_Net, GFX_TAG_NETBALL}, - [BALL_DIVE] = {gBallPal_Dive, GFX_TAG_DIVEBALL}, - [BALL_NEST] = {gBallPal_Nest, GFX_TAG_NESTBALL}, - [BALL_REPEAT] = {gBallPal_Repeat, GFX_TAG_REPEATBALL}, - [BALL_TIMER] = {gBallPal_Timer, GFX_TAG_TIMERBALL}, - [BALL_LUXURY] = {gBallPal_Luxury, GFX_TAG_LUXURYBALL}, - [BALL_PREMIER] = {gBallPal_Premier, GFX_TAG_PREMIERBALL}, + [BALL_POKE] = {gBallPal_Poke, GFX_TAG_POKE_BALL}, + [BALL_GREAT] = {gBallPal_Great, GFX_TAG_GREAT_BALL}, + [BALL_SAFARI] = {gBallPal_Safari, GFX_TAG_SAFARI_BALL}, + [BALL_ULTRA] = {gBallPal_Ultra, GFX_TAG_ULTRA_BALL}, + [BALL_MASTER] = {gBallPal_Master, GFX_TAG_MASTER_BALL}, + [BALL_NET] = {gBallPal_Net, GFX_TAG_NET_BALL}, + [BALL_DIVE] = {gBallPal_Dive, GFX_TAG_DIVE_BALL}, + [BALL_NEST] = {gBallPal_Nest, GFX_TAG_NEST_BALL}, + [BALL_REPEAT] = {gBallPal_Repeat, GFX_TAG_REPEAT_BALL}, + [BALL_TIMER] = {gBallPal_Timer, GFX_TAG_TIMER_BALL}, + [BALL_LUXURY] = {gBallPal_Luxury, GFX_TAG_LUXURY_BALL}, + [BALL_PREMIER] = {gBallPal_Premier, GFX_TAG_PREMIER_BALL}, }; static const struct OamData sBallOamData = @@ -94,7 +94,7 @@ static const struct OamData sBallOamData = .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -206,8 +206,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = { [BALL_POKE] = { - .tileTag = GFX_TAG_POKEBALL, - .paletteTag = GFX_TAG_POKEBALL, + .tileTag = GFX_TAG_POKE_BALL, + .paletteTag = GFX_TAG_POKE_BALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -216,8 +216,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = }, [BALL_GREAT] = { - .tileTag = GFX_TAG_GREATBALL, - .paletteTag = GFX_TAG_GREATBALL, + .tileTag = GFX_TAG_GREAT_BALL, + .paletteTag = GFX_TAG_GREAT_BALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -226,8 +226,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = }, [BALL_SAFARI] = { - .tileTag = GFX_TAG_SAFARIBALL, - .paletteTag = GFX_TAG_SAFARIBALL, + .tileTag = GFX_TAG_SAFARI_BALL, + .paletteTag = GFX_TAG_SAFARI_BALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -236,8 +236,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = }, [BALL_ULTRA] = { - .tileTag = GFX_TAG_ULTRABALL, - .paletteTag = GFX_TAG_ULTRABALL, + .tileTag = GFX_TAG_ULTRA_BALL, + .paletteTag = GFX_TAG_ULTRA_BALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -246,8 +246,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = }, [BALL_MASTER] = { - .tileTag = GFX_TAG_MASTERBALL, - .paletteTag = GFX_TAG_MASTERBALL, + .tileTag = GFX_TAG_MASTER_BALL, + .paletteTag = GFX_TAG_MASTER_BALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -256,8 +256,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = }, [BALL_NET] = { - .tileTag = GFX_TAG_NETBALL, - .paletteTag = GFX_TAG_NETBALL, + .tileTag = GFX_TAG_NET_BALL, + .paletteTag = GFX_TAG_NET_BALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -266,8 +266,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = }, [BALL_DIVE] = { - .tileTag = GFX_TAG_DIVEBALL, - .paletteTag = GFX_TAG_DIVEBALL, + .tileTag = GFX_TAG_DIVE_BALL, + .paletteTag = GFX_TAG_DIVE_BALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -276,8 +276,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = }, [BALL_NEST] = { - .tileTag = GFX_TAG_NESTBALL, - .paletteTag = GFX_TAG_NESTBALL, + .tileTag = GFX_TAG_NEST_BALL, + .paletteTag = GFX_TAG_NEST_BALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -286,8 +286,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = }, [BALL_REPEAT] = { - .tileTag = GFX_TAG_REPEATBALL, - .paletteTag = GFX_TAG_REPEATBALL, + .tileTag = GFX_TAG_REPEAT_BALL, + .paletteTag = GFX_TAG_REPEAT_BALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -296,8 +296,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = }, [BALL_TIMER] = { - .tileTag = GFX_TAG_TIMERBALL, - .paletteTag = GFX_TAG_TIMERBALL, + .tileTag = GFX_TAG_TIMER_BALL, + .paletteTag = GFX_TAG_TIMER_BALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -306,8 +306,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = }, [BALL_LUXURY] = { - .tileTag = GFX_TAG_LUXURYBALL, - .paletteTag = GFX_TAG_LUXURYBALL, + .tileTag = GFX_TAG_LUXURY_BALL, + .paletteTag = GFX_TAG_LUXURY_BALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -316,8 +316,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = }, [BALL_PREMIER] = { - .tileTag = GFX_TAG_PREMIERBALL, - .paletteTag = GFX_TAG_PREMIERBALL, + .tileTag = GFX_TAG_PREMIER_BALL, + .paletteTag = GFX_TAG_PREMIER_BALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -337,7 +337,7 @@ u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow) u8 taskId; gDoingBattleAnim = TRUE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive = TRUE; taskId = CreateTask(Task_DoPokeballSendOutAnim, 5); gTasks[taskId].tPan = pan; @@ -407,7 +407,7 @@ static void Task_DoPokeballSendOutAnim(u8 taskId) } // this will perform an unused ball throw animation - gSprites[ballSpriteId].data[0] = 0x22; + gSprites[ballSpriteId].data[0] = 34; gSprites[ballSpriteId].data[2] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_X); gSprites[ballSpriteId].data[4] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_Y) - 16; gSprites[ballSpriteId].data[5] = -40; @@ -431,7 +431,7 @@ static void SpriteCB_BallThrow(struct Sprite *sprite) u8 noOfShakes = gTasks[taskId].tThrowId; StartSpriteAnim(sprite, 1); - sprite->affineAnimPaused = 1; + sprite->affineAnimPaused = TRUE; sprite->x += sprite->x2; sprite->y += sprite->y2; sprite->x2 = 0; @@ -475,6 +475,7 @@ static void SpriteCB_BallThrow_ShrinkMon(struct Sprite *sprite) sprite->data[5]++; if (sprite->data[5] == 11) PlaySE(SE_BALL_TRADE); + if (gSprites[gBattlerSpriteIds[sprite->sBattler]].affineAnimEnded) { StartSpriteAnim(sprite, 2); @@ -644,6 +645,7 @@ static void SpriteCB_BallThrow_Shake(struct Sprite *sprite) StartSpriteAffineAnim(sprite, 2); else StartSpriteAffineAnim(sprite, 1); + PlaySE(SE_BALL); } break; @@ -667,7 +669,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) u16 species = gTasks[taskId].tCryTaskSpecies; u8 battlerId = gTasks[taskId].tCryTaskBattler; u8 monSpriteId = gTasks[taskId].tCryTaskMonSpriteId; - struct Pokemon *mon = (void*)(u32)((gTasks[taskId].tCryTaskMonPtr1 << 16) | (u16)(gTasks[taskId].tCryTaskMonPtr2)); + struct Pokemon *mon = (void *)(u32)((gTasks[taskId].tCryTaskMonPtr1 << 16) | (u16)(gTasks[taskId].tCryTaskMonPtr2)); switch (gTasks[taskId].tCryTaskState) { @@ -864,13 +866,13 @@ static void HandleBallAnimEnd(struct Sprite *sprite) gSprites[gBattlerSpriteIds[battlerId]].y2 = 0; gDoingBattleAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[battlerId].ballAnimActive = 0; + gBattleSpritesDataPtr->healthBoxesData[battlerId].ballAnimActive = FALSE; FreeSpriteOamMatrix(sprite); DestroySprite(sprite); for (doneBattlers = 0, i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (gBattleSpritesDataPtr->healthBoxesData[i].ballAnimActive == 0) + if (gBattleSpritesDataPtr->healthBoxesData[i].ballAnimActive == FALSE) doneBattlers++; } if (doneBattlers == MAX_BATTLERS_COUNT) @@ -902,7 +904,7 @@ static void SpriteCB_BallThrow_CaptureMon(struct Sprite *sprite) DestroySprite(&gSprites[gBattlerSpriteIds[sprite->sBattler]]); DestroySpriteAndFreeResources(sprite); if (gMain.inBattle) - gBattleSpritesDataPtr->healthBoxesData[battlerId].ballAnimActive = 0; + gBattleSpritesDataPtr->healthBoxesData[battlerId].ballAnimActive = FALSE; } } @@ -975,6 +977,8 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite) } } +#undef HIBYTE + static void SpriteCB_ReleaseMon2FromBall(struct Sprite *sprite) { if (sprite->data[0]++ > 24) @@ -1067,7 +1071,7 @@ static void SpriteCB_PokeballReleaseMon(struct Sprite *sprite) StartSpriteAnim(sprite, 1); AnimateBallOpenParticlesForPokeball(sprite->x, sprite->y - 5, sprite->oam.priority, subpriority); // sDelay re-used to store task id but never read - sprite->sDelay = LaunchBallFadeMonTaskForPokeball(1, monPalNum, selectedPalettes); + sprite->sDelay = LaunchBallFadeMonTaskForPokeball(TRUE, monPalNum, selectedPalettes); sprite->callback = SpriteCB_ReleasedMonFlyOut; gSprites[spriteId].invisible = FALSE; StartSpriteAffineAnim(&gSprites[spriteId], BATTLER_AFFINE_EMERGE); @@ -1134,7 +1138,6 @@ static void SpriteCB_ReleasedMonFlyOut(struct Sprite *sprite) #undef sFinalMonY #undef sTrigIdx - #define sTimer data[5] u8 CreateTradePokeballSprite(u8 monSpriteId, u8 monPalNum, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 delay, u32 fadePalettes) @@ -1171,7 +1174,7 @@ static void SpriteCB_TradePokeball(struct Sprite *sprite) StartSpriteAnim(sprite, 1); AnimateBallOpenParticlesForPokeball(sprite->x, sprite->y - 5, sprite->oam.priority, subpriority); // sDelay re-used to store task id but never read - sprite->sDelay = LaunchBallFadeMonTaskForPokeball(1, monPalNum, selectedPalettes); + sprite->sDelay = LaunchBallFadeMonTaskForPokeball(TRUE, monPalNum, selectedPalettes); sprite->callback = SpriteCB_TradePokeballSendOff; #ifdef BUGFIX // FIX: If this is used on a sprite that has previously had an affine animation, it will not @@ -1224,7 +1227,8 @@ static void SpriteCB_TradePokeballEnd(struct Sprite *sprite) #undef sFadePalsHi #undef sTimer -static void Unref_DestroySpriteAndFreeResources(struct Sprite *sprite) +// Unreferenced here and in RS, but used in FRLG, possibly by mistake. +static void DestroySpriteAndFreeResources_Ball(struct Sprite *sprite) { DestroySpriteAndFreeResources(sprite); } @@ -1311,6 +1315,7 @@ void LoadBallGfx(u8 ballId) LoadCompressedSpriteSheetUsingHeap(&gBallSpriteSheets[ballId]); LoadCompressedSpritePaletteUsingHeap(&gBallSpritePalettes[ballId]); } + switch (ballId) { case BALL_DIVE: diff --git a/src/pokeblock.c b/src/pokeblock.c index 58348e1cc5..cf0513f80e 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -237,7 +237,7 @@ static const struct OamData sOamData_PokeblockCase = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -1148,7 +1148,7 @@ static void ShowPokeblockActionsWindow(u8 taskId) tWindowId = WIN_ACTIONS; DestroyScrollArrows(); - DrawStdFrameWithCustomTileAndPalette(tWindowId, 0, 1, 0xE); + DrawStdFrameWithCustomTileAndPalette(tWindowId, FALSE, 1, 0xE); PrintMenuActionTextsInUpperLeftCorner(tWindowId, sPokeblockMenu->numActions, sPokeblockMenuActions, sPokeblockMenu->pokeblockActionIds); InitMenuInUpperLeftCornerNormal(tWindowId, sPokeblockMenu->numActions, 0); PutWindowTilemap(tWindowId); diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index 98a76421c1..5267c3b848 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -466,7 +466,7 @@ static const struct WindowTemplate sWindowTemplates[] = }; // - 1 excludes PBLOCK_CLR_NONE -static const u32* const sPokeblocksPals[] = +static const u32 *const sPokeblocksPals[] = { [PBLOCK_CLR_RED - 1] = gPokeblockRed_Pal, [PBLOCK_CLR_BLUE - 1] = gPokeblockBlue_Pal, @@ -545,7 +545,7 @@ static const struct OamData sOamData_Pokeblock = .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -660,7 +660,7 @@ static bool8 LoadPokeblockFeedScene(void) gMain.state++; break; case 10: - DrawStdFrameWithCustomTileAndPalette(0, 1, 1, 14); + DrawStdFrameWithCustomTileAndPalette(0, TRUE, 1, 14); gMain.state++; break; case 11: @@ -872,7 +872,7 @@ static void Task_PrintAtePokeblockMessage(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_Var1DisdainfullyAteVar2); gTextFlags.canABSpeedUpPrint = TRUE; - AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); gTasks[taskId].func = Task_WaitForAtePokeblockMessage; } @@ -905,7 +905,7 @@ static void Task_FadeOutPokeblockFeed(u8 taskId) #define sAccel data[1] #define sSpecies data[2] -static u8 CreateMonSprite(struct Pokemon* mon) +static u8 CreateMonSprite(struct Pokemon *mon) { u16 species = GetMonData(mon, MON_DATA_SPECIES2); u8 spriteId = CreateSprite(&gMultiuseSpriteTemplate, MON_X, MON_Y, 2); @@ -937,7 +937,7 @@ static void StartMonJumpForPokeblock(u8 spriteId) gSprites[spriteId].callback = SpriteCB_MonJumpForPokeblock; } -static void SpriteCB_MonJumpForPokeblock(struct Sprite* sprite) +static void SpriteCB_MonJumpForPokeblock(struct Sprite *sprite) { sprite->x += 4; sprite->y += sprite->sSpeed; @@ -982,7 +982,7 @@ static u8 CreatePokeblockSprite(void) return spriteId; } -static void SpriteCB_ThrownPokeblock(struct Sprite* sprite) +static void SpriteCB_ThrownPokeblock(struct Sprite *sprite) { sprite->x -= 4; sprite->y += sprite->sSpeed; diff --git a/src/pokedex.c b/src/pokedex.c index 9592aee9ce..8abf972488 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -239,9 +239,9 @@ static void SpriteCB_RotatingPokeBall(struct Sprite *sprite); static void SpriteCB_SeenOwnInfo(struct Sprite *sprite); static void SpriteCB_DexListStartMenuCursor(struct Sprite *sprite); static void SpriteCB_PokedexListMonSprite(struct Sprite *sprite); -static u8 LoadInfoScreen(struct PokedexListItem*, u8 monSpriteId); +static u8 LoadInfoScreen(struct PokedexListItem *, u8 monSpriteId); static bool8 IsInfoScreenScrolling(u8); -static u8 StartInfoScreenScroll(struct PokedexListItem*, u8); +static u8 StartInfoScreenScroll(struct PokedexListItem *, u8); static void Task_LoadInfoScreen(u8); static void Task_HandleInfoScreenInput(u8); static void Task_SwitchScreensFromInfoScreen(u8); @@ -270,6 +270,7 @@ static void PrintMonHeight(u16 height, u8 left, u8 top); static void PrintMonWeight(u16 weight, u8 left, u8 top); static void ResetOtherVideoRegisters(u16); static u8 PrintCryScreenSpeciesName(u8, u16, u8, u8); +static void PrintDecimalNum(u8 windowId, u16 num, u8 left, u8 top); static void DrawFootprint(u8 windowId, u16 dexNum); static u16 CreateSizeScreenTrainerPic(u16, s16, s16, s8); static u16 GetNextPosition(u8, u16, u16, u16); @@ -294,10 +295,10 @@ static void PrintSearchParameterText(u8); static u8 GetSearchModeSelection(u8 taskId, u8 option); static void SetDefaultSearchModeAndOrder(u8); static void CreateSearchParameterScrollArrows(u8); -static void EraseAndPrintSearchTextBox(const u8*); +static void EraseAndPrintSearchTextBox(const u8 *); static void EraseSelectorArrow(u32); static void PrintSelectorArrow(u32); -static void PrintSearchParameterTitle(u32, const u8*); +static void PrintSearchParameterTitle(u32, const u8 *); static void ClearSearchParameterBoxText(void); // const rom data @@ -308,7 +309,7 @@ static const struct OamData sOamData_ScrollBar = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -325,7 +326,7 @@ static const struct OamData sOamData_ScrollArrow = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), .x = 0, @@ -342,7 +343,7 @@ static const struct OamData sOamData_InterfaceText = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, @@ -359,7 +360,7 @@ static const struct OamData sOamData_RotatingPokeBall = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_WINDOW, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -376,7 +377,7 @@ static const struct OamData sOamData_SeenOwnText = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -393,7 +394,7 @@ static const struct OamData sOamData_Dex8x16 = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), .x = 0, @@ -2154,7 +2155,7 @@ static void LoadPokedexBgPalette(bool8 isSearchResults) static void FreeWindowAndBgBuffers(void) { - void* tilemapBuffer; + void *tilemapBuffer; FreeAllWindowBuffers(); tilemapBuffer = GetBgTilemapBuffer(0); @@ -2317,7 +2318,7 @@ static void CreatePokedexList(u8 dexMode, u8 order) } } -static void PrintMonDexNumAndName(u8 windowId, u8 fontId, const u8* str, u8 left, u8 top) +static void PrintMonDexNumAndName(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top) { u8 color[3]; @@ -2440,7 +2441,7 @@ static void CreateCaughtBall(bool16 owned, u8 x, u8 y, u16 unused) static u8 CreateMonName(u16 num, u8 left, u8 top) { - const u8* str; + const u8 *str; num = NationalPokedexNumToSpecies(num); if (num) @@ -3160,7 +3161,7 @@ static void SpriteCB_DexListStartMenuCursor(struct Sprite *sprite) } } -static void PrintInfoScreenText(const u8* str, u8 left, u8 top) +static void PrintInfoScreenText(const u8 *str, u8 left, u8 top) { u8 color[3]; color[0] = TEXT_COLOR_TRANSPARENT; @@ -3177,7 +3178,7 @@ static void PrintInfoScreenText(const u8* str, u8 left, u8 top) #define tMonSpriteId data[4] #define tTrainerSpriteId data[5] -static u8 LoadInfoScreen(struct PokedexListItem* item, u8 monSpriteId) +static u8 LoadInfoScreen(struct PokedexListItem *item, u8 monSpriteId) { u8 taskId; @@ -3872,7 +3873,7 @@ static void HighlightScreenSelectBarItem(u8 selectedScreen, u16 unused) { u8 i; u8 j; - u16* ptr = GetBgTilemapBuffer(1); + u16 *ptr = GetBgTilemapBuffer(1); for (i = 0; i < SCREEN_COUNT; i++) { @@ -3899,7 +3900,7 @@ static void HighlightSubmenuScreenSelectBarItem(u8 a, u16 b) { u8 i; u8 j; - u16* ptr = GetBgTilemapBuffer(1); + u16 *ptr = GetBgTilemapBuffer(1); for (i = 0; i < 4; i++) { @@ -4511,7 +4512,7 @@ static u8 PrintCryScreenSpeciesName(u8 windowId, u16 num, u8 left, u8 top) return i; } -static void UnusedPrintMonName(u8 windowId, const u8* name, u8 left, u8 top) +static void UnusedPrintMonName(u8 windowId, const u8 *name, u8 left, u8 top) { u8 str[POKEMON_NAME_LENGTH + 1]; u8 i; @@ -4531,13 +4532,14 @@ static void UnusedPrintMonName(u8 windowId, const u8* name, u8 left, u8 top) PrintInfoSubMenuText(windowId, str, left, top); } -static void UnusedPrintDecimalNum(u8 windowId, u16 b, u8 left, u8 top) +// Unused in the English version, used to print height/weight in versions which use metric system. +static void PrintDecimalNum(u8 windowId, u16 num, u8 left, u8 top) { u8 str[6]; bool8 outputted = FALSE; u8 result; - result = b / 1000; + result = num / 1000; if (result == 0) { str[0] = CHAR_SPACER; @@ -4549,7 +4551,7 @@ static void UnusedPrintDecimalNum(u8 windowId, u16 b, u8 left, u8 top) outputted = TRUE; } - result = (b % 1000) / 100; + result = (num % 1000) / 100; if (result == 0 && !outputted) { str[1] = CHAR_SPACER; @@ -4561,9 +4563,9 @@ static void UnusedPrintDecimalNum(u8 windowId, u16 b, u8 left, u8 top) outputted = TRUE; } - str[2] = CHAR_0 + ((b % 1000) % 100) / 10; - str[3] = CHAR_PERIOD; - str[4] = CHAR_0 + ((b % 1000) % 100) % 10; + str[2] = CHAR_0 + ((num % 1000) % 100) / 10; + str[3] = CHAR_DEC_SEPARATOR; + str[4] = CHAR_0 + ((num % 1000) % 100) % 10; str[5] = EOS; PrintInfoSubMenuText(windowId, str, left, top); } @@ -4880,7 +4882,7 @@ static void Task_LoadSearchMenu(u8 taskId) static void FreeSearchWindowAndBgBuffers(void) { - void* tilemapBuffer; + void *tilemapBuffer; FreeAllWindowBuffers(); tilemapBuffer = GetBgTilemapBuffer(0); @@ -5419,7 +5421,7 @@ static void DrawOrEraseSearchParameterBox(bool8 erase) { u16 i; u16 j; - u16* ptr = GetBgTilemapBuffer(3); + u16 *ptr = GetBgTilemapBuffer(3); if (!erase) { @@ -5612,7 +5614,7 @@ static void CreateSearchParameterScrollArrows(u8 taskId) #undef sTaskId #undef sIsDownArrow -static void EraseAndPrintSearchTextBox(const u8* str) +static void EraseAndPrintSearchTextBox(const u8 *str) { ClearSearchMenuRect(8, 120, 224, 32); PrintSearchText(str, 8, 121); @@ -5628,7 +5630,7 @@ static void PrintSelectorArrow(u32 y) PrintSearchText(gText_SelectorArrow, 144, y * 16 + 9); } -static void PrintSearchParameterTitle(u32 y, const u8* str) +static void PrintSearchParameterTitle(u32 y, const u8 *str) { PrintSearchText(str, 152, y * 16 + 9); } diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index dde86f1557..01cbacb447 100755 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -560,7 +560,7 @@ static void DoAreaGlow(void) if (sPokedexAreaScreen->markerTimer > 12) { sPokedexAreaScreen->markerTimer = 0; - + // Flash the marker // With a max of 4, the marker will disappear twice sPokedexAreaScreen->markerFlashCounter++; @@ -737,7 +737,7 @@ static void CreateAreaMarkerSprites(void) static void DestroyAreaScreenSprites(void) { u16 i; - + // Destroy area marker sprites FreeSpriteTilesByTag(TAG_AREA_MARKER); FreeSpritePaletteByTag(TAG_AREA_MARKER); @@ -772,7 +772,7 @@ static void CreateAreaUnknownSprites(void) if (sPokedexAreaScreen->numOverworldAreas || sPokedexAreaScreen->numSpecialAreas) { - // The current species is present on the map, don't create any "Area Unknown" sprites + // The current species is present on the map, don't create any "Area Unknown" sprites for (i = 0; i < ARRAY_COUNT(sPokedexAreaScreen->areaUnknownSprites); i++) sPokedexAreaScreen->areaUnknownSprites[i] = NULL; } diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index 28e2bd1632..406d1377d6 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -234,7 +234,7 @@ bool8 LoadCryWaveformWindow(struct CryScreenWindow *window, u8 windowId) if (!sDexCryScreen) { sDexCryScreen = AllocZeroed(sizeof(*sDexCryScreen)); - sCryWaveformWindowTiledata = (u8*)GetWindowAttribute(windowId, WINDOW_TILE_DATA); + sCryWaveformWindowTiledata = (u8 *)GetWindowAttribute(windowId, WINDOW_TILE_DATA); } sDexCryScreen->unk = window->unk0; diff --git a/src/pokemon.c b/src/pokemon.c index 1704253916..b65f97bd85 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -46,6 +46,7 @@ #include "constants/moves.h" #include "constants/songs.h" #include "constants/trainers.h" +#include "constants/union_room.h" struct SpeciesItem { @@ -61,7 +62,7 @@ static void Task_PlayMapChosenOrBattleBGM(u8 taskId); static bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 battlerId); static u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); static bool8 ShouldSkipFriendshipChange(void); -static u8 SendMonToPC(struct Pokemon* mon); +static u8 SendMonToPC(struct Pokemon *mon); EWRAM_DATA static u8 sLearningMoveTableID = 0; EWRAM_DATA u8 gPlayerPartyCount = 0; @@ -1847,7 +1848,7 @@ static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] = #define PP_UP_SHIFTS_INV(val) (u8)~(val), (u8)~((val) << 2), (u8)~((val) << 4), (u8)~((val) << 6) // PP Up bonuses are stored for a Pokémon as a single byte. -// There are 2 bits (a value 0-3) for each move slot that +// There are 2 bits (a value 0-3) for each move slot that // represent how many PP Ups have been applied. // The following arrays take a move slot id and return: // gPPUpGetMask - A mask to get the number of PP Ups applied to that move slot @@ -1884,7 +1885,9 @@ static const u16 sDeoxysBaseStats[] = [STAT_SPDEF] = 90, }; -const u16 gLinkPlayerFacilityClasses[NUM_MALE_LINK_FACILITY_CLASSES + NUM_FEMALE_LINK_FACILITY_CLASSES] = +// The classes used by other players in the Union Room. +// These should correspond with the overworld graphics in sUnionRoomObjGfxIds +const u16 gUnionRoomFacilityClasses[NUM_UNION_ROOM_CLASSES * GENDER_COUNT] = { // Male classes FACILITY_CLASS_COOLTRAINER_M, @@ -1895,7 +1898,7 @@ const u16 gLinkPlayerFacilityClasses[NUM_MALE_LINK_FACILITY_CLASSES + NUM_FEMALE FACILITY_CLASS_BUG_CATCHER, FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_GUITARIST, - // Female Classes + // Female classes FACILITY_CLASS_COOLTRAINER_F, FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_PICNICKER, @@ -1945,7 +1948,7 @@ const struct SpriteTemplate gBattlerSpriteTemplates[MAX_BATTLERS_COUNT] = .anims = NULL, .images = gBattlerPicTable_OpponentLeft, .affineAnims = gAffineAnims_BattleSpriteOpponentSide, - .callback = SpriteCb_WildMon, + .callback = SpriteCB_WildMon, }, [B_POSITION_PLAYER_RIGHT] = { .tileTag = TAG_NONE, @@ -1963,7 +1966,7 @@ const struct SpriteTemplate gBattlerSpriteTemplates[MAX_BATTLERS_COUNT] = .anims = NULL, .images = gBattlerPicTable_OpponentRight, .affineAnims = gAffineAnims_BattleSpriteOpponentSide, - .callback = SpriteCb_WildMon + .callback = SpriteCB_WildMon }, }; @@ -2093,10 +2096,12 @@ static const s8 sFriendshipEventModifiers[][3] = [FRIENDSHIP_EVENT_FAINT_LARGE] = {-5, -5, -10}, }; +#define HM_MOVES_END 0xFFFF + static const u16 sHMMoves[] = { MOVE_CUT, MOVE_FLY, MOVE_SURF, MOVE_STRENGTH, MOVE_FLASH, - MOVE_ROCK_SMASH, MOVE_WATERFALL, MOVE_DIVE, 0xFFFF + MOVE_ROCK_SMASH, MOVE_WATERFALL, MOVE_DIVE, HM_MOVES_END }; static const struct SpeciesItem sAlteringCaveWildMonHeldItems[] = @@ -2117,7 +2122,7 @@ static const struct OamData sOamData_64x64 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -2738,9 +2743,9 @@ u16 GetUnionRoomTrainerPic(void) else linkId = GetMultiplayerId() ^ 1; - arrId = gLinkPlayers[linkId].trainerId & 7; - arrId |= gLinkPlayers[linkId].gender << 3; - return FacilityClassToPicIndex(gLinkPlayerFacilityClasses[arrId]); + arrId = gLinkPlayers[linkId].trainerId % NUM_UNION_ROOM_CLASSES; + arrId |= gLinkPlayers[linkId].gender * NUM_UNION_ROOM_CLASSES; + return FacilityClassToPicIndex(gUnionRoomFacilityClasses[arrId]); } u16 GetUnionRoomTrainerClass(void) @@ -2753,9 +2758,9 @@ u16 GetUnionRoomTrainerClass(void) else linkId = GetMultiplayerId() ^ 1; - arrId = gLinkPlayers[linkId].trainerId & 7; - arrId |= gLinkPlayers[linkId].gender << 3; - return gFacilityClassToTrainerClass[gLinkPlayerFacilityClasses[arrId]]; + arrId = gLinkPlayers[linkId].trainerId % NUM_UNION_ROOM_CLASSES; + arrId |= gLinkPlayers[linkId].gender * NUM_UNION_ROOM_CLASSES; + return gFacilityClassToTrainerClass[gUnionRoomFacilityClasses[arrId]]; } void CreateEventLegalEnemyMon(void) @@ -3114,7 +3119,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de spAttack = attacker->spAttack; spDefense = defender->spDefense; - // Get attacker hold item info + // Get attacker hold item info if (attacker->item == ITEM_ENIGMA_BERRY) { attackerHoldEffect = gEnigmaBerries[battlerIdAtk].holdEffect; @@ -3403,7 +3408,7 @@ static bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battlerId) u8 GetDefaultMoveTarget(u8 battlerId) { - u8 opposing = BATTLE_OPPOSITE(GetBattlerPosition(battlerId) & BIT_SIDE); + u8 opposing = BATTLE_OPPOSITE(GET_BATTLER_SIDE(battlerId)); if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) return GetBattlerAtPosition(opposing); @@ -3618,7 +3623,7 @@ static union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 perso return substruct; } -u32 GetMonData(struct Pokemon *mon, s32 field, u8* data) +u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data) { u32 ret; @@ -4388,7 +4393,7 @@ u8 GiveMonToPlayer(struct Pokemon *mon) return MON_GIVEN_TO_PARTY; } -static u8 SendMonToPC(struct Pokemon* mon) +static u8 SendMonToPC(struct Pokemon *mon) { s32 boxNo, boxPos; @@ -4611,7 +4616,7 @@ void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex) void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex) { - u16* hpSwitchout; + u16 *hpSwitchout; s32 i; u8 nickname[POKEMON_NAME_LENGTH * 2]; @@ -5199,7 +5204,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov case 4: // ITEM5_PP_MAX dataUnsigned = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gPPUpGetMask[moveIndex]) >> (moveIndex * 2); temp2 = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); - + // Check if 3 PP Ups have been applied already, and that the move has a total PP of at least 5 (excludes Sketch) if (dataUnsigned < 3 && temp2 >= 5) { @@ -6479,7 +6484,7 @@ const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u bool32 IsHMMove2(u16 move) { int i = 0; - while (sHMMoves[i] != 0xFFFF) + while (sHMMoves[i] != HM_MOVES_END) { if (sHMMoves[i++] == move) return TRUE; @@ -6673,7 +6678,7 @@ const u8 *GetTrainerPartnerName(void) } #define READ_PTR_FROM_TASK(taskId, dataId) \ - (void*)( \ + (void *)( \ ((u16)(gTasks[taskId].data[dataId]) | \ ((u16)(gTasks[taskId].data[dataId + 1]) << 16))) @@ -6705,7 +6710,7 @@ static void Task_PokemonSummaryAnimateAfterDelay(u8 taskId) } } -void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u8 panMode) +void BattleAnimateFrontSprite(struct Sprite *sprite, u16 species, bool8 noCry, u8 panMode) { if (gHitMarker & HITMARKER_NO_ANIMATIONS && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK))) DoMonFrontSpriteAnimation(sprite, species, noCry, panMode | SKIP_FRONT_ANIM); @@ -6713,7 +6718,7 @@ void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u DoMonFrontSpriteAnimation(sprite, species, noCry, panMode); } -void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, u8 panModeAnimFlag) +void DoMonFrontSpriteAnimation(struct Sprite *sprite, u16 species, bool8 noCry, u8 panModeAnimFlag) { s8 pan; switch (panModeAnimFlag & (u8)~SKIP_FRONT_ANIM) // Exclude anim flag to get pan mode @@ -6760,7 +6765,7 @@ void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, } } -void PokemonSummaryDoMonAnimation(struct Sprite* sprite, u16 species, bool8 oneFrame) +void PokemonSummaryDoMonAnimation(struct Sprite *sprite, u16 species, bool8 oneFrame) { if (!oneFrame && HasTwoFramesAnimation(species)) StartSpriteAnim(sprite, 1); @@ -6788,7 +6793,7 @@ void StopPokemonAnimationDelayTask(void) DestroyTask(delayTaskId); } -void BattleAnimateBackSprite(struct Sprite* sprite, u16 species) +void BattleAnimateBackSprite(struct Sprite *sprite, u16 species) { if (gHitMarker & HITMARKER_NO_ANIMATIONS && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK))) { @@ -6913,7 +6918,7 @@ static bool8 ShouldSkipFriendshipChange(void) // Only the 'default' mode (MON_SPR_GFX_MODE_NORMAL) is used, which is set // up to allocate 4 sprites using the battler sprite templates (gBattlerSpriteTemplates). // MON_SPR_GFX_MODE_BATTLE is identical but never used. -// MON_SPR_GFX_MODE_FULL_PARTY is set up to allocate 7 sprites (party + trainer?) +// MON_SPR_GFX_MODE_FULL_PARTY is set up to allocate 7 sprites (party + trainer?) // using a generic 64x64 template, and is also never used. // Between the unnecessarily large sizes below, a mistake allocating the spritePointers @@ -6975,7 +6980,7 @@ struct MonSpritesGfxManager *CreateMonSpritesGfxManager(u8 managerId, u8 mode) gfx->dataSize = 1; gfx->mode = MON_SPR_GFX_MODE_FULL_PARTY; break; - // case MON_SPR_GFX_MODE_BATTLE: + // case MON_SPR_GFX_MODE_BATTLE: case MON_SPR_GFX_MODE_NORMAL: default: gfx->numSprites = MAX_BATTLERS_COUNT; diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 2c010f35e6..7f9b146a41 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1186,12 +1186,12 @@ void SpriteCB_MonIcon(struct Sprite *sprite) UpdateMonIconFrame(sprite); } -const u8* GetMonIconTiles(u16 species, bool32 handleDeoxys) +const u8 *GetMonIconTiles(u16 species, bool32 handleDeoxys) { - const u8* iconSprite = gMonIconTable[species]; + const u8 *iconSprite = gMonIconTable[species]; if (species == SPECIES_DEOXYS && handleDeoxys == TRUE) { - iconSprite = (const u8*)(0x400 + (u32)iconSprite); // use the specific Deoxys form icon (Speed in this case) + iconSprite = (const u8 *)(0x400 + (u32)iconSprite); // use the specific Deoxys form icon (Speed in this case) } return iconSprite; } @@ -1225,7 +1225,7 @@ u8 GetMonIconPaletteIndexFromSpecies(u16 species) return gMonIconPaletteIndices[species]; } -const u16* GetValidMonIconPalettePtr(u16 species) +const u16 *GetValidMonIconPalettePtr(u16 species) { if (species > NUM_SPECIES) species = INVALID_ICON_SPECIES; diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index 32333ee67b..4f2a14fdf0 100755 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -2431,7 +2431,7 @@ static const struct OamData sOamData_JumpMon = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -2448,7 +2448,7 @@ static const struct OamData sOamData_Vine16x32 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), .x = 0, @@ -2465,7 +2465,7 @@ static const struct OamData sOamData_Vine32x32 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -2482,7 +2482,7 @@ static const struct OamData sOamData_Vine32x16 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, @@ -2636,7 +2636,7 @@ static const struct OamData sOamData_Star = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -3765,7 +3765,7 @@ static void InitDigitPrinters(void) .xDelta = 8, .x = 108, .y = 6, - .spriteSheet = (void*) &sSpriteSheet_Digits, + .spriteSheet = (void *) &sSpriteSheet_Digits, .spritePal = &sSpritePalette_Digits, }; @@ -4195,7 +4195,7 @@ static void Task_ShowPokemonJumpRecords(u8 taskId) { RemoveWindow(tWindowId); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } break; } diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 008fae3c96..32069153e6 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -472,7 +472,7 @@ struct PokemonStorageSystemData u8 iconScrollCurColumn; s8 iconScrollDirection; // Unnecessary duplicate of scrollDirection u8 iconScrollState; - u8 iconScrollToBoxId; // Unnecessary duplicate of scrollToBoxId + u8 iconScrollToBoxId; // Unused duplicate of scrollToBoxId struct WindowTemplate menuWindow; struct StorageMenu menuItems[7]; u8 menuItemsCount; @@ -1113,7 +1113,7 @@ static const struct OamData sOamData_DisplayMon = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -1130,7 +1130,7 @@ static const struct OamData sOamData_Waveform = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), .x = 0, @@ -1206,7 +1206,7 @@ static const struct OamData sOamData_MonIcon = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -1337,7 +1337,7 @@ void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 zero1, u8 zero winTemplate.height = 2; windowId = AddWindow(&winTemplate); FillWindowPixelBuffer(windowId, PIXEL_FILL(zero2)); - tileData1 = (u8*) GetWindowAttribute(windowId, WINDOW_TILE_DATA); + tileData1 = (u8 *) GetWindowAttribute(windowId, WINDOW_TILE_DATA); tileData2 = (winTemplate.width * TILE_SIZE_4BPP) + tileData1; if (!zero1) @@ -1385,7 +1385,7 @@ static void UnusedDrawTextWindow(const u8 *string, void *dst, u16 offset, u8 bgC tilesSize = winTemplate.width * TILE_SIZE_4BPP; windowId = AddWindow(&winTemplate); FillWindowPixelBuffer(windowId, PIXEL_FILL(bgColor)); - tileData1 = (u8*) GetWindowAttribute(windowId, WINDOW_TILE_DATA); + tileData1 = (u8 *) GetWindowAttribute(windowId, WINDOW_TILE_DATA); tileData2 = (winTemplate.width * TILE_SIZE_4BPP) + tileData1; txtColor[0] = bgColor; txtColor[1] = fgColor; @@ -1547,9 +1547,9 @@ static void Task_PCMainMenu(u8 taskId) case STATE_LOAD: CreateMainMenu(task->tSelectedOption, &task->tWindowId); LoadMessageBoxAndBorderGfx(); - DrawDialogueFrame(0, 0); + DrawDialogueFrame(0, FALSE); FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, sMainMenuTexts[task->tSelectedOption].desc, TEXT_SKIP_DRAW, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sMainMenuTexts[task->tSelectedOption].desc, TEXT_SKIP_DRAW, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); CopyWindowToVram(0, COPYWIN_FULL); CopyWindowToVram(task->tWindowId, COPYWIN_FULL); task->tState++; @@ -1573,14 +1573,14 @@ static void Task_PCMainMenu(u8 taskId) { task->tSelectedOption = task->tNextOption; FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, sMainMenuTexts[task->tSelectedOption].desc, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sMainMenuTexts[task->tSelectedOption].desc, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); } break; case MENU_B_PRESSED: case OPTION_EXIT: ClearStdWindowAndFrame(task->tWindowId, TRUE); - ScriptContext2_Disable(); - EnableBothScriptContexts(); + UnlockPlayerFieldControls(); + ScriptContext_Enable(); RemoveWindow(task->tWindowId); DestroyTask(taskId); break; @@ -1589,14 +1589,14 @@ static void Task_PCMainMenu(u8 taskId) { // Can't withdraw FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, gText_PartyFull, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gText_PartyFull, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); task->tState = STATE_ERROR_MSG; } else if (task->tInput == OPTION_DEPOSIT && CountPartyMons() == 1) { // Can't deposit FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, gText_JustOnePkmn, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gText_JustOnePkmn, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); task->tState = STATE_ERROR_MSG; } else @@ -1614,7 +1614,7 @@ static void Task_PCMainMenu(u8 taskId) if (JOY_NEW(A_BUTTON | B_BUTTON)) { FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, sMainMenuTexts[task->tSelectedOption].desc, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sMainMenuTexts[task->tSelectedOption].desc, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); task->tState = STATE_HANDLE_INPUT; } else if (JOY_NEW(DPAD_UP)) @@ -1624,7 +1624,7 @@ static void Task_PCMainMenu(u8 taskId) Menu_MoveCursor(-1); task->tSelectedOption = Menu_GetCursorPos(); FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, sMainMenuTexts[task->tSelectedOption].desc, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sMainMenuTexts[task->tSelectedOption].desc, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); task->tState = STATE_HANDLE_INPUT; } else if (JOY_NEW(DPAD_DOWN)) @@ -1634,7 +1634,7 @@ static void Task_PCMainMenu(u8 taskId) Menu_MoveCursor(1); task->tSelectedOption = Menu_GetCursorPos(); FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, sMainMenuTexts[task->tSelectedOption].desc, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sMainMenuTexts[task->tSelectedOption].desc, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); task->tState = STATE_HANDLE_INPUT; } break; @@ -1655,7 +1655,7 @@ void ShowPokemonStorageSystemPC(void) u8 taskId = CreateTask(Task_PCMainMenu, 80); gTasks[taskId].tState = 0; gTasks[taskId].tSelectedOption = 0; - ScriptContext2_Enable(); + LockPlayerFieldControls(); } static void FieldTask_ReturnToPcMenu(void) @@ -3871,7 +3871,7 @@ static void CreateMarkingComboSprite(void) sStorage->markingComboSprite->subpriority = 1; sStorage->markingComboSprite->x = 40; sStorage->markingComboSprite->y = 150; - sStorage->markingComboTilesPtr = (void*) OBJ_VRAM0 + 32 * GetSpriteTileStartByTag(GFXTAG_MARKING_COMBO); + sStorage->markingComboTilesPtr = (void *) OBJ_VRAM0 + 32 * GetSpriteTileStartByTag(GFXTAG_MARKING_COMBO); } static void CreateWaveformSprites(void) @@ -3959,7 +3959,7 @@ static void CreateDisplayMonSprite(void) sStorage->displayMonSprite = &gSprites[spriteId]; sStorage->displayMonPalOffset = palSlot * 16 + 0x100; - sStorage->displayMonTilePtr = (void*) OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP; + sStorage->displayMonTilePtr = (void *) OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP; } while (0); if (sStorage->displayMonSprite == NULL) @@ -5119,7 +5119,7 @@ static u16 TryLoadMonIconTiles(u16 species) sStorage->iconSpeciesList[i] = species; sStorage->numIconsPerSpecies[i]++; offset = 16 * i; - CpuCopy32(GetMonIconTiles(species, TRUE), (void*)(OBJ_VRAM0) + offset * TILE_SIZE_4BPP, 0x200); + CpuCopy32(GetMonIconTiles(species, TRUE), (void *)(OBJ_VRAM0) + offset * TILE_SIZE_4BPP, 0x200); return offset; } @@ -6555,7 +6555,7 @@ static void InitCanReleaseMonVars(void) } GetRestrictedReleaseMoves(sStorage->restrictedMoveList); - sStorage->restrictedReleaseMonMoves = GetMonData(&sStorage->tempMon, MON_DATA_KNOWN_MOVES, (u8*)sStorage->restrictedMoveList); + sStorage->restrictedReleaseMonMoves = GetMonData(&sStorage->tempMon, MON_DATA_KNOWN_MOVES, (u8 *)sStorage->restrictedMoveList); if (sStorage->restrictedReleaseMonMoves != 0) { // Pokémon knows at least one restricted release move @@ -6621,7 +6621,7 @@ static s8 RunCanReleaseMon(void) // Make sure party Pokémon isn't the one we're releasing first if (sStorage->releaseBoxId != TOTAL_BOXES_COUNT || sStorage->releaseBoxPos != i) { - knownMoves = GetMonData(&gPlayerParty[i], MON_DATA_KNOWN_MOVES, (u8*)sStorage->restrictedMoveList); + knownMoves = GetMonData(&gPlayerParty[i], MON_DATA_KNOWN_MOVES, (u8 *)sStorage->restrictedMoveList); sStorage->restrictedReleaseMonMoves &= ~(knownMoves); } } @@ -6646,7 +6646,7 @@ static s8 RunCanReleaseMon(void) // moves the release Pokémon knows for (i = 0; i < IN_BOX_COUNT; i++) { - knownMoves = GetAndCopyBoxMonDataAt(sStorage->releaseCheckBoxId, sStorage->releaseCheckBoxPos, MON_DATA_KNOWN_MOVES, (u8*)sStorage->restrictedMoveList); + knownMoves = GetAndCopyBoxMonDataAt(sStorage->releaseCheckBoxId, sStorage->releaseCheckBoxPos, MON_DATA_KNOWN_MOVES, (u8 *)sStorage->restrictedMoveList); if (knownMoves != 0 && !(sStorage->releaseBoxId == sStorage->releaseCheckBoxId && sStorage->releaseBoxPos == sStorage->releaseCheckBoxPos)) { @@ -8010,7 +8010,7 @@ static void AddMenu(void) sStorage->menuWindowId = AddWindow(&sStorage->menuWindow); ClearWindowTilemap(sStorage->menuWindowId); DrawStdFrameWithCustomTileAndPalette(sStorage->menuWindowId, FALSE, 11, 14); - PrintMenuTable(sStorage->menuWindowId, sStorage->menuItemsCount, (void*)sStorage->menuItems); + PrintMenuTable(sStorage->menuWindowId, sStorage->menuItemsCount, (void *)sStorage->menuItems); InitMenuInUpperLeftCornerNormal(sStorage->menuWindowId, sStorage->menuItemsCount, 0); ScheduleBgCopyTilemapToVram(0); sStorage->menuUnusedField = 0; @@ -8643,7 +8643,7 @@ static const struct OamData sOamData_ItemIcon = .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -8743,7 +8743,7 @@ static void CreateItemIconSprites(void) { spriteSheet.tag = GFXTAG_ITEM_ICON_0 + i; LoadCompressedSpriteSheet(&spriteSheet); - sStorage->itemIcons[i].tiles = GetSpriteTileStartByTag(spriteSheet.tag) * TILE_SIZE_4BPP + (void*)(OBJ_VRAM0); + sStorage->itemIcons[i].tiles = GetSpriteTileStartByTag(spriteSheet.tag) * TILE_SIZE_4BPP + (void *)(OBJ_VRAM0); sStorage->itemIcons[i].palIndex = AllocSpritePalette(PALTAG_ITEM_ICON_0 + i); sStorage->itemIcons[i].palIndex *= 16; sStorage->itemIcons[i].palIndex += 0x100; @@ -9241,16 +9241,16 @@ static bool8 UpdateItemInfoWindowSlideOut(void) return TRUE; } -static void DrawItemInfoWindow(u32 pos) +static void DrawItemInfoWindow(u32 x) { - if (pos != 0) + if (x != 0) { - FillBgTilemapBufferRect(0, 0x13A, 0, 0xC, pos, 1, 0xFu); - FillBgTilemapBufferRect(0, 0x93A, 0, 0x14, pos, 1, 0xFu); + FillBgTilemapBufferRect(0, 0x13A, 0, 0xC, x, 1, 0xFu); + FillBgTilemapBufferRect(0, 0x93A, 0, 0x14, x, 1, 0xFu); } - FillBgTilemapBufferRect(0, 0x13B, pos, 0xD, 1, 7, 0xFu); - FillBgTilemapBufferRect(0, 0x13C, pos, 0xC, 1, 1, 0xFu); - FillBgTilemapBufferRect(0, 0x13D, pos, 0x14, 1, 1, 0xFu); + FillBgTilemapBufferRect(0, 0x13B, x, 0xD, 1, 7, 0xFu); + FillBgTilemapBufferRect(0, 0x13C, x, 0xC, 1, 1, 0xFu); + FillBgTilemapBufferRect(0, 0x13D, x, 0x14, 1, 1, 0xFu); ScheduleBgCopyTilemapToVram(0); } @@ -9648,7 +9648,7 @@ bool32 AnyStorageMonWithMove(u16 moveId) { if (GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_HAS_SPECIES) && !GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_IS_EGG) - && GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_KNOWN_MOVES, (u8*)moves)) + && GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_KNOWN_MOVES, (u8 *)moves)) return TRUE; } } @@ -10032,7 +10032,7 @@ static void UnkUtil_CpuRun(struct UnkUtilData *data) for (i = 0; i < data->height; i++) { - CpuSet(data->src, data->dest, data->size / 2); + CpuCopy16(data->src, data->dest, data->size); data->dest += 64; data->src += data->unk * 2; } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index c25d58ae65..74e1da2cc6 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -195,8 +195,8 @@ static bool8 LoadGraphics(void); static void CB2_InitSummaryScreen(void); static void InitBGs(void); static bool8 DecompressGraphics(void); -static void CopyMonToSummaryStruct(struct Pokemon*); -static bool8 ExtractMonDataToSummaryStruct(struct Pokemon*); +static void CopyMonToSummaryStruct(struct Pokemon *); +static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *); static void SetDefaultTilemaps(void); static void CloseSummaryScreen(u8); static void Task_HandleInput(u8); @@ -204,7 +204,7 @@ static void ChangeSummaryPokemon(u8, s8); static void Task_ChangeSummaryMon(u8); static s8 AdvanceMonIndex(s8); static s8 AdvanceMultiBattleMonIndex(s8); -static bool8 IsValidToViewInMulti(struct Pokemon*); +static bool8 IsValidToViewInMulti(struct Pokemon *); static void ChangePage(u8, s8); static void PssScrollRight(u8); static void PssScrollRightEnd(u8); @@ -234,8 +234,8 @@ static void Task_ShowAppealJamWindow(u8); static void HandleStatusTilemap(u16, s16); static void Task_ShowStatusWindow(u8); static void TilemapFiveMovesDisplay(u16 *, u16, bool8); -static void DrawPokerusCuredSymbol(struct Pokemon*); -static void DrawExperienceProgressBar(struct Pokemon*); +static void DrawPokerusCuredSymbol(struct Pokemon *); +static void DrawExperienceProgressBar(struct Pokemon *); static void DrawContestMoveHearts(u16); static void LimitEggSummaryPageDisplay(void); static void ResetWindows(void); @@ -305,7 +305,7 @@ static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *); static void CreateCaughtBallSprite(struct Pokemon *); static void CreateSetStatusSprite(void); static void CreateMoveSelectorSprites(u8); -static void SpriteCb_MoveSelector(struct Sprite *); +static void SpriteCB_MoveSelector(struct Sprite *); static void DestroyMoveSelectorSprites(u8); static void SetMainMoveSelectorColor(u8); static void KeepMoveSelectorVisible(u8); @@ -736,7 +736,7 @@ static const struct OamData sOamData_MoveTypes = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, @@ -912,7 +912,7 @@ static const struct OamData sOamData_MoveSelector = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -1002,7 +1002,7 @@ static const struct OamData sOamData_StatusCondition = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, @@ -1725,7 +1725,7 @@ static s8 AdvanceMultiBattleMonIndex(s8 delta) } } -static bool8 IsValidToViewInMulti(struct Pokemon* mon) +static bool8 IsValidToViewInMulti(struct Pokemon *mon) { if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_NONE) return FALSE; @@ -2027,7 +2027,7 @@ static void SwitchToMovePositionSwitchMode(u8 taskId) static void Task_HandleInput_MovePositionSwitch(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE) { @@ -2168,7 +2168,7 @@ static void Task_SetHandleReplaceMoveInput(u8 taskId) static void Task_HandleReplaceMoveInput(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (MenuHelpers_ShouldWaitForLinkRecv() != TRUE) { @@ -2244,7 +2244,7 @@ static void ShowCantForgetHMsWindow(u8 taskId) // This redraws the power/accuracy window when the player scrolls out of the "HM Moves can't be forgotten" message static void Task_HandleInputCantForgetHMsMoves(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; u16 move; if (FuncIsActiveTask(Task_ShowPowerAccWindow) != 1) { @@ -3879,7 +3879,7 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state) summary->species2, summary->pid); else - HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_LEFT], summary->species2, summary->pid); @@ -3891,7 +3891,7 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state) if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE) HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_LEFT], - summary->species2, + summary->species2, summary->pid); else HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], @@ -4082,14 +4082,14 @@ static void CreateMoveSelectorSprites(u8 idArrayStart) else StartSpriteAnim(&gSprites[spriteIds[i]], 6); // middle - gSprites[spriteIds[i]].callback = SpriteCb_MoveSelector; + gSprites[spriteIds[i]].callback = SpriteCB_MoveSelector; gSprites[spriteIds[i]].data[0] = idArrayStart; gSprites[spriteIds[i]].data[1] = 0; } } } -static void SpriteCb_MoveSelector(struct Sprite *sprite) +static void SpriteCB_MoveSelector(struct Sprite *sprite) { if (sprite->animNum > 3 && sprite->animNum < 7) { diff --git a/src/pokenav_conditions_gfx.c b/src/pokenav_conditions_gfx.c index d2fb715ab8..5631f5bb2a 100644 --- a/src/pokenav_conditions_gfx.c +++ b/src/pokenav_conditions_gfx.c @@ -299,8 +299,8 @@ static u32 LoopedTask_OpenConditionGraphMenu(s32 state) if (!IsConditionMenuSearchMode()) { LoadLeftHeaderGfxForIndex(POKENAV_GFX_PARTY_MENU); - ShowLeftHeaderGfx(POKENAV_GFX_CONDITION_MENU, TRUE, 0); - ShowLeftHeaderGfx(POKENAV_GFX_PARTY_MENU, TRUE, 0); + ShowLeftHeaderGfx(POKENAV_GFX_CONDITION_MENU, TRUE, FALSE); + ShowLeftHeaderGfx(POKENAV_GFX_PARTY_MENU, TRUE, FALSE); } return LT_INC_AND_PAUSE; case 16: @@ -826,7 +826,7 @@ static void CreateConditionMonPic(u8 id) { menu->monPicSpriteId = spriteId; gSprites[menu->monPicSpriteId].callback = MonPicGfxSpriteCallback; - menu->monGfxPtr = (void*)VRAM + BG_VRAM_SIZE + (menu->monGfxTileStart * 32); + menu->monGfxPtr = (void *)VRAM + BG_VRAM_SIZE + (menu->monGfxTileStart * 32); menu->monPalIndex = (menu->monPalIndex * 16) + 0x100; } } diff --git a/src/pokenav_conditions_search_results.c b/src/pokenav_conditions_search_results.c index bbc07df2c3..d0d2b7c55a 100644 --- a/src/pokenav_conditions_search_results.c +++ b/src/pokenav_conditions_search_results.c @@ -267,7 +267,7 @@ static u32 BuildPartyMonSearchResults(s32 state) item.boxId = TOTAL_BOXES_COUNT; for (i = 0; i < PARTY_SIZE; i++) { - struct Pokemon * pokemon = &gPlayerParty[i]; + struct Pokemon *pokemon = &gPlayerParty[i]; if (!GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES)) return LT_INC_AND_CONTINUE; if (!GetMonData(pokemon, MON_DATA_SANITY_IS_EGG)) @@ -464,8 +464,8 @@ static u32 LoopedTask_OpenConditionSearchResults(s32 state) { u8 searchGfxId = GetSelectedConditionSearch() + POKENAV_MENUITEM_CONDITION_SEARCH_COOL; LoadLeftHeaderGfxForIndex(searchGfxId); - ShowLeftHeaderGfx(searchGfxId, 1, 0); - ShowLeftHeaderGfx(POKENAV_GFX_CONDITION_MENU, 1, 0); + ShowLeftHeaderGfx(searchGfxId, TRUE, FALSE); + ShowLeftHeaderGfx(POKENAV_GFX_CONDITION_MENU, TRUE, FALSE); } PokenavFadeScreen(POKENAV_FADE_FROM_BLACK); return LT_INC_AND_PAUSE; @@ -697,7 +697,7 @@ static void BufferSearchMonListItem(struct PokenavMonListItem * item, u8 * dest) // Mon is in party if (item->boxId == TOTAL_BOXES_COUNT) { - struct Pokemon * mon = &gPlayerParty[item->monId]; + struct Pokemon *mon = &gPlayerParty[item->monId]; gender = GetMonGender(mon); level = GetLevelFromMonExp(mon); GetMonData(mon, MON_DATA_NICKNAME, gStringVar3); diff --git a/src/pokenav_list.c b/src/pokenav_list.c index 350a785042..ed3d40dee2 100644 --- a/src/pokenav_list.c +++ b/src/pokenav_list.c @@ -72,7 +72,7 @@ static void InitPokenavListWindowState(struct PokenavListWindowState *, struct P static void SpriteCB_UpArrow(struct Sprite *); static void SpriteCB_DownArrow(struct Sprite *); static void SpriteCB_RightArrow(struct Sprite *); -static void ToggleListArrows(struct PokenavListSub *, u32); +static void ToggleListArrows(struct PokenavListSub *, bool32); static void DestroyListArrows(struct PokenavListSub *); static void CreateListArrowSprites(struct PokenavListWindowState *, struct PokenavListSub *); static void LoadListArrowGfx(void); @@ -503,7 +503,7 @@ static u32 LoopedTask_EraseListForCheckPage(s32 state) switch (state) { case 0: - ToggleListArrows(&list->sub, 1); + ToggleListArrows(&list->sub, TRUE); // fall-through case 1: if (list->eraseIndex != list->windowState.selectedIndexOffset) @@ -656,7 +656,7 @@ static u32 LoopedTask_ReshowListFromCheckPage(s32 state) return LT_INC_AND_CONTINUE; return LT_SET_STATE(4); case 6: - ToggleListArrows(subPtr, 0); + ToggleListArrows(subPtr, FALSE); return LT_FINISH; } @@ -665,7 +665,7 @@ static u32 LoopedTask_ReshowListFromCheckPage(s32 state) static void EraseListEntry(struct PokenavListMenuWindow *listWindow, s32 offset, s32 entries) { - u8 *tileData = (u8*)GetWindowAttribute(listWindow->windowId, WINDOW_TILE_DATA); + u8 *tileData = (u8 *)GetWindowAttribute(listWindow->windowId, WINDOW_TILE_DATA); u32 width = listWindow->width * 64; offset = (listWindow->unkA + offset) & 0xF; @@ -694,7 +694,7 @@ static void EraseListEntry(struct PokenavListMenuWindow *listWindow, s32 offset, static void SetListMarginTile(struct PokenavListMenuWindow *listWindow, bool32 draw) { u16 var; - u16 *tilemapBuffer = (u16*)GetBgTilemapBuffer(GetWindowAttribute(listWindow->windowId, WINDOW_BG)); + u16 *tilemapBuffer = (u16 *)GetBgTilemapBuffer(GetWindowAttribute(listWindow->windowId, WINDOW_BG)); tilemapBuffer += (listWindow->unkA << 6) + listWindow->x - 1; if (draw) diff --git a/src/pokenav_main_menu.c b/src/pokenav_main_menu.c index 7d668c67f2..c51ab10bae 100644 --- a/src/pokenav_main_menu.c +++ b/src/pokenav_main_menu.c @@ -50,7 +50,7 @@ static void InitHelpBar(void); static u32 LoopedTask_SlideMenuHeaderUp(s32); static u32 LoopedTask_SlideMenuHeaderDown(s32); static void DrawHelpBar(u32); -static void SpriteCB_SpinningPokenav(struct Sprite*); +static void SpriteCB_SpinningPokenav(struct Sprite *); static u32 LoopedTask_InitPokenavMenu(s32); static const u16 sSpinningPokenav_Pal[] = INCBIN_U16("graphics/pokenav/nav_icon.gbapal"); diff --git a/src/pokenav_match_call_gfx.c b/src/pokenav_match_call_gfx.c index 056ab2f1d2..fd5b36fae0 100755 --- a/src/pokenav_match_call_gfx.c +++ b/src/pokenav_match_call_gfx.c @@ -379,7 +379,7 @@ static u32 LoopedTask_OpenMatchCall(s32 state) ShowBg(1); AllocMatchCallSprites(); LoadLeftHeaderGfxForIndex(3); - ShowLeftHeaderGfx(POKENAV_GFX_MATCH_CALL_MENU, 1, 0); + ShowLeftHeaderGfx(POKENAV_GFX_MATCH_CALL_MENU, TRUE, FALSE); PokenavFadeScreen(POKENAV_FADE_FROM_BLACK); return LT_INC_AND_PAUSE; case 7: diff --git a/src/pokenav_match_call_list.c b/src/pokenav_match_call_list.c index d56cfdb62e..b00c76b48a 100755 --- a/src/pokenav_match_call_list.c +++ b/src/pokenav_match_call_list.c @@ -24,7 +24,7 @@ struct Pokenav_MatchCallMenu u16 numSpecialTrainers; bool32 initFinished; u32 loopedTaskId; - u32 (*callback)(struct Pokenav_MatchCallMenu*); + u32 (*callback)(struct Pokenav_MatchCallMenu *); struct PokenavMatchCallEntry matchCallEntries[MAX_REMATCH_ENTRIES - 1]; }; diff --git a/src/pokenav_menu_handler.c b/src/pokenav_menu_handler.c index b72247742c..b81b4c892f 100644 --- a/src/pokenav_menu_handler.c +++ b/src/pokenav_menu_handler.c @@ -12,7 +12,7 @@ struct Pokenav_Menu u16 currMenuItem; u16 helpBarIndex; u32 menuId; - u32 (*callback)(struct Pokenav_Menu*); + u32 (*callback)(struct Pokenav_Menu *); }; static bool32 UpdateMenuCursorPos(struct Pokenav_Menu *); @@ -28,7 +28,7 @@ static u32 HandleCantOpenRibbonsInput(struct Pokenav_Menu *); static u32 HandleMainMenuInputEndTutorial(struct Pokenav_Menu *); static u32 HandleMainMenuInputTutorial(struct Pokenav_Menu *); static u32 HandleMainMenuInput(struct Pokenav_Menu *); -static u32 (*GetMainMenuInputHandler(void))(struct Pokenav_Menu*); +static u32 (*GetMainMenuInputHandler(void))(struct Pokenav_Menu *); static void SetMenuInputHandler(struct Pokenav_Menu *); // Number of entries - 1 for that menu type @@ -186,7 +186,7 @@ static void SetMenuInputHandler(struct Pokenav_Menu *menu) } } -static u32 (*GetMainMenuInputHandler(void))(struct Pokenav_Menu*) +static u32 (*GetMainMenuInputHandler(void))(struct Pokenav_Menu *) { switch (GetPokenavMode()) { diff --git a/src/pokenav_menu_handler_gfx.c b/src/pokenav_menu_handler_gfx.c index b9dd130468..ec8d67cbe2 100644 --- a/src/pokenav_menu_handler_gfx.c +++ b/src/pokenav_menu_handler_gfx.c @@ -579,7 +579,7 @@ static u32 LoopedTask_OpenConditionMenu(s32 state) case 0: ResetBldCnt(); StartOptionAnimations_Exit(); - HideMainOrSubMenuLeftHeader(POKENAV_GFX_MAIN_MENU, 0); + HideMainOrSubMenuLeftHeader(POKENAV_GFX_MAIN_MENU, FALSE); PlaySE(SE_SELECT); return LT_INC_AND_PAUSE; case 1: @@ -618,7 +618,7 @@ static u32 LoopedTask_ReturnToMainMenu(s32 state) case 0: ResetBldCnt(); StartOptionAnimations_Exit(); - HideMainOrSubMenuLeftHeader(POKENAV_GFX_CONDITION_MENU, 0); + HideMainOrSubMenuLeftHeader(POKENAV_GFX_CONDITION_MENU, FALSE); return LT_INC_AND_PAUSE; case 1: if (AreMenuOptionSpritesMoving()) @@ -689,7 +689,7 @@ static u32 LoopedTask_ReturnToConditionMenu(s32 state) case 0: ResetBldCnt(); StartOptionAnimations_Exit(); - HideMainOrSubMenuLeftHeader(POKENAV_GFX_SEARCH_MENU, 0); + HideMainOrSubMenuLeftHeader(POKENAV_GFX_SEARCH_MENU, FALSE); return LT_INC_AND_PAUSE; case 1: if (AreMenuOptionSpritesMoving()) @@ -904,7 +904,7 @@ static void StartOptionAnimations_Enter(void) // Not selected, set default position x = OPTION_DEFAULT_X; } - + // Slide new options in StartOptionSlide(gfx->iconSprites[i], OPTION_EXIT_X, x, 12); SetOptionInvisibility(gfx->iconSprites[i], FALSE); diff --git a/src/pokenav_region_map.c b/src/pokenav_region_map.c index 1c06ec030a..036ea5ff10 100755 --- a/src/pokenav_region_map.c +++ b/src/pokenav_region_map.c @@ -366,7 +366,7 @@ static u32 LoopedTask_OpenRegionMap(s32 taskState) menuGfxId = POKENAV_GFX_MAP_MENU_ZOOMED_IN; LoadLeftHeaderGfxForIndex(menuGfxId); - ShowLeftHeaderGfx(menuGfxId, 1, 1); + ShowLeftHeaderGfx(menuGfxId, TRUE, TRUE); PokenavFadeScreen(POKENAV_FADE_FROM_BLACK); return LT_INC_AND_PAUSE; case 7: diff --git a/src/pokenav_ribbons_list.c b/src/pokenav_ribbons_list.c index 724ced507e..ca5559d966 100644 --- a/src/pokenav_ribbons_list.c +++ b/src/pokenav_ribbons_list.c @@ -22,7 +22,7 @@ enum struct Pokenav_RibbonsMonList { - u32 (*callback)(struct Pokenav_RibbonsMonList*); + u32 (*callback)(struct Pokenav_RibbonsMonList *); u32 loopedTaskId; u16 winid; s32 boxId; @@ -256,7 +256,7 @@ static u32 BuildPartyMonRibbonList(s32 state) item.boxId = TOTAL_BOXES_COUNT; for (i = 0; i < PARTY_SIZE; i++) { - struct Pokemon * pokemon = &gPlayerParty[i]; + struct Pokemon *pokemon = &gPlayerParty[i]; if (!GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES)) return LT_INC_AND_CONTINUE; if (!GetMonData(pokemon, MON_DATA_SANITY_IS_EGG) && !GetMonData(pokemon, MON_DATA_SANITY_IS_BAD_EGG)) @@ -464,7 +464,7 @@ static u32 LoopedTask_OpenRibbonsMonList(s32 state) if (!menu->fromSummary) { LoadLeftHeaderGfxForIndex(POKENAV_GFX_RIBBONS_MENU); - ShowLeftHeaderGfx(POKENAV_GFX_RIBBONS_MENU, 1, 0); + ShowLeftHeaderGfx(POKENAV_GFX_RIBBONS_MENU, TRUE, FALSE); } return LT_INC_AND_PAUSE; case 5: @@ -707,7 +707,7 @@ static void BufferRibbonMonInfoText(struct PokenavListItem * listItem, u8 * dest // Mon is in party if (item->boxId == TOTAL_BOXES_COUNT) { - struct Pokemon * mon = &gPlayerParty[item->monId]; + struct Pokemon *mon = &gPlayerParty[item->monId]; gender = GetMonGender(mon); level = GetLevelFromMonExp(mon); GetMonData(mon, MON_DATA_NICKNAME, gStringVar3); diff --git a/src/pokenav_ribbons_summary.c b/src/pokenav_ribbons_summary.c index 581228ff41..15f9db5e6a 100644 --- a/src/pokenav_ribbons_summary.c +++ b/src/pokenav_ribbons_summary.c @@ -1154,7 +1154,7 @@ static const struct OamData sOamData_RibbonIconBig = .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c index 5572ef8338..83298b03df 100644 --- a/src/rayquaza_scene.c +++ b/src/rayquaza_scene.c @@ -154,7 +154,7 @@ static const struct OamData sOam_64x64 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -171,7 +171,7 @@ static const struct OamData sOam_32x32 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -188,7 +188,7 @@ static const struct OamData sOam_64x32 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -205,7 +205,7 @@ static const struct OamData sOam_32x16 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, @@ -222,7 +222,7 @@ static const struct OamData sOam_16x8 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), .x = 0, @@ -239,7 +239,7 @@ static const struct OamData sOam_16x32 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), .x = 0, @@ -256,7 +256,7 @@ static const struct OamData sOam_16x16 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -273,7 +273,7 @@ static const struct OamData sOam_32x8 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, @@ -1627,7 +1627,7 @@ static void Task_DuoFightAnim(u8 taskId) StopMapMusic(); } - BlendPalettes(PALETTES_ALL, 0x10, 0); + BlendPalettes(PALETTES_ALL, 0x10, RGB_BLACK); BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK); SetVBlankCallback(VBlankCB_DuoFight); PlaySE(SE_DOWNPOUR); @@ -2284,7 +2284,7 @@ static void Task_RayDescendsAnim(u8 taskId) LoadDescendsSceneGfx(); SetGpuRegBits(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); - BlendPalettes(PALETTES_ALL, 0x10, 0); + BlendPalettes(PALETTES_ALL, 0x10, RGB_BLACK); SetVBlankCallback(VBlankCB_RayquazaScene); sRayScene->revealedLightLine = 0; sRayScene->revealedLightTimer = 0; @@ -2501,7 +2501,7 @@ static void Task_RayChargesAnim(u8 taskId) InitChargesSceneBgs(); LoadChargesSceneGfx(); SetWindowsHideVertBorders(); - BlendPalettes(PALETTES_ALL, 0x10, 0); + BlendPalettes(PALETTES_ALL, 0x10, RGB_BLACK); SetVBlankCallback(VBlankCB_RayquazaScene); tState = 0; tTimer = 0; @@ -2697,7 +2697,7 @@ static void Task_RayChasesAwayAnim(u8 taskId) ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(9, 14)); - BlendPalettes(PALETTES_ALL, 0x10, 0); + BlendPalettes(PALETTES_ALL, 0x10, RGB_BLACK); SetVBlankCallback(VBlankCB_RayquazaScene); tState = 0; tTimer = 0; diff --git a/src/record_mixing.c b/src/record_mixing.c index 4365f2cb3d..5d75f3fc89 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -315,8 +315,8 @@ static void Task_RecordMixing_Main(u8 taskId) switch (tState) { case 0: // init - sSentRecord = malloc(sizeof(*sSentRecord)); - sReceivedRecords = malloc(sizeof(*sReceivedRecords) * MAX_LINK_PLAYERS); + sSentRecord = Alloc(sizeof(*sSentRecord)); + sReceivedRecords = Alloc(sizeof(*sReceivedRecords) * MAX_LINK_PLAYERS); SetLocalLinkPlayerId(gSpecialVar_0x8005); VarSet(VAR_TEMP_0, 1); sReadyToReceive = FALSE; @@ -358,14 +358,14 @@ static void Task_RecordMixing_Main(u8 taskId) case 5: // Wait for the task created by CreateTask_ReestablishCableClubLink if (!gTasks[tLinkTaskId].isActive) { - free(sReceivedRecords); - free(sSentRecord); + Free(sReceivedRecords); + Free(sSentRecord); SetLinkWaitingForScript(); if (gWirelessCommType != 0) CreateTask(Task_ReturnToFieldRecordMixing, 10); - ClearDialogWindowAndFrame(0, 1); + ClearDialogWindowAndFrame(0, TRUE); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } break; } @@ -444,7 +444,7 @@ static void Task_MixingRecordsRecv(u8 taskId) } break; case 1: // wait for handshake - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { ConvertIntToDecimalStringN(gStringVar1, GetMultiplayerId_(), STR_CONV_MODE_LEADING_ZEROS, 2); task->tState = 5; @@ -689,7 +689,7 @@ static void ReceiveLilycoveLadyData(LilycoveLady *records, size_t recordSize, u8 if (GetLilycoveLadyId() == 0) { - lilycoveLady = malloc(sizeof(*lilycoveLady)); + lilycoveLady = Alloc(sizeof(*lilycoveLady)); if (lilycoveLady == NULL) return; @@ -705,7 +705,7 @@ static void ReceiveLilycoveLadyData(LilycoveLady *records, size_t recordSize, u8 if (lilycoveLady != NULL) { QuizLadyClearQuestionForRecordMix(lilycoveLady); - free(lilycoveLady); + Free(lilycoveLady); } } @@ -879,7 +879,7 @@ static void ReceiveDaycareMailData(struct RecordMixingDaycareMail *records, size for (i = 0; i < linkPlayerCount; i++) { mixMail = (void *)records + i * recordSize; - + // Count number of players that have at least // one daycare Pokémon with no held item if (canHoldItem[i][0] == TRUE || canHoldItem[i][1] == TRUE) @@ -945,7 +945,7 @@ static void ReceiveDaycareMailData(struct RecordMixingDaycareMail *records, size case 4: // 4 players can swap, select which 2 pairings will swap ptr = idxs; - + // Swap pair 1 playerSlot1 = sDaycareMailSwapIds_4Player[tableId][0]; playerSlot2 = sDaycareMailSwapIds_4Player[tableId][1]; @@ -1174,7 +1174,7 @@ static void ReceiveApprenticeData(struct Apprentice *records, size_t recordSize, u32 apprenticeSaveId; ShufflePlayerIndices(mixIndices); - mixApprentice = (void*)records + (recordSize * mixIndices[multiplayerId]); + mixApprentice = (void *)records + (recordSize * mixIndices[multiplayerId]); numApprentices = 0; apprenticeId = 0; for (i = 0; i < 2; i++) diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 951572636a..dead1dd7e3 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -67,7 +67,8 @@ struct RecordedBattleSave u32 checksum; }; -STATIC_ASSERT(sizeof(struct RecordedBattleSave) <= SECTOR_DATA_SIZE, RecordedBattleSaveFreeSpace); +// Save data using TryWriteSpecialSaveSector is allowed to exceed SECTOR_DATA_SIZE (up to the counter field) +STATIC_ASSERT(sizeof(struct RecordedBattleSave) <= SECTOR_COUNTER_OFFSET, RecordedBattleSaveFreeSpace); EWRAM_DATA u32 gRecordedBattleRngSeed = 0; EWRAM_DATA u32 gBattlePalaceMoveSelectionRngValue = 0; @@ -302,7 +303,7 @@ static bool32 IsRecordedBattleSaveValid(struct RecordedBattleSave *save) return FALSE; if (save->battleFlags & ILLEGAL_BATTLE_TYPES) return FALSE; - if (CalcByteArraySum((void*)(save), sizeof(*save) - 4) != save->checksum) + if (CalcByteArraySum((void *)(save), sizeof(*save) - 4) != save->checksum) return FALSE; return TRUE; @@ -313,9 +314,9 @@ static bool32 RecordedBattleToSave(struct RecordedBattleSave *battleSave, struct memset(saveSector, 0, SECTOR_SIZE); memcpy(saveSector, battleSave, sizeof(*battleSave)); - saveSector->checksum = CalcByteArraySum((void*)(saveSector), sizeof(*saveSector) - 4); + saveSector->checksum = CalcByteArraySum((void *)(saveSector), sizeof(*saveSector) - 4); - if (TryWriteSpecialSaveSector(SECTOR_ID_RECORDED_BATTLE, (void*)(saveSector)) != SAVE_STATUS_OK) + if (TryWriteSpecialSaveSector(SECTOR_ID_RECORDED_BATTLE, (void *)(saveSector)) != SAVE_STATUS_OK) return FALSE; else return TRUE; @@ -474,14 +475,14 @@ bool32 MoveRecordedBattleToSaveData(void) break; } - free(battleSave); - free(savSection); + Free(battleSave); + Free(savSection); return ret; } static bool32 TryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst, struct SaveSector *saveBuffer) { - if (TryReadSpecialSaveSector(SECTOR_ID_RECORDED_BATTLE, (void*)(saveBuffer)) != SAVE_STATUS_OK) + if (TryReadSpecialSaveSector(SECTOR_ID_RECORDED_BATTLE, (void *)(saveBuffer)) != SAVE_STATUS_OK) return FALSE; memcpy(dst, saveBuffer, sizeof(struct RecordedBattleSave)); diff --git a/src/region_map.c b/src/region_map.c index 6d7daed03a..1d01f5a94c 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1654,7 +1654,7 @@ void CB2_OpenFlyMap(void) SetGpuReg(REG_OFFSET_BG2HOFS, 0); SetGpuReg(REG_OFFSET_BG3HOFS, 0); SetGpuReg(REG_OFFSET_BG3VOFS, 0); - sFlyMap = malloc(sizeof(*sFlyMap)); + sFlyMap = Alloc(sizeof(*sFlyMap)); if (sFlyMap == NULL) { SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index 25e3a73302..0a9ec49113 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -159,7 +159,7 @@ static const struct OamData sOamData_Arrow = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 1b49a374c8..fd2ed03cca 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -63,7 +63,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void) gBattle_BG3_Y = 0; break; case 1: - CpuFastFill(0, (void*)(VRAM), VRAM_SIZE); + CpuFastFill(0, (void *)(VRAM), VRAM_SIZE); break; case 2: LoadBattleTextboxAndBackground(); @@ -73,7 +73,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void) break; case 4: FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; break; case 5: ClearSpritesHealthboxAnimData(); @@ -149,7 +149,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void) ActionSelectionCreateCursorAt(gActionSelectionCursor[gBattlerInMenuId], 0); - if (gWirelessCommType != 0 && gReceivedRemoteLinkPlayers != 0) + if (gWirelessCommType != 0 && gReceivedRemoteLinkPlayers) { LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); diff --git a/src/roamer.c b/src/roamer.c index c17ec490c8..e9dc72a993 100644 --- a/src/roamer.c +++ b/src/roamer.c @@ -127,7 +127,7 @@ void UpdateLocationHistoryForRoamer(void) void RoamerMoveToOtherLocationSet(void) { u8 mapNum = 0; - + if (!ROAMER->active) return; @@ -170,8 +170,8 @@ void RoamerMove(void) // Choose a new map (excluding the first) within this set // Also exclude a map if the roamer was there 2 moves ago mapNum = sRoamerLocations[locSet][(Random() % (NUM_LOCATIONS_PER_SET - 1)) + 1]; - if (!(sLocationHistory[2][MAP_GRP] == ROAMER_MAP_GROUP - && sLocationHistory[2][MAP_NUM] == mapNum) + if (!(sLocationHistory[2][MAP_GRP] == ROAMER_MAP_GROUP + && sLocationHistory[2][MAP_NUM] == mapNum) && mapNum != MAP_NUM(UNDEFINED)) break; } diff --git a/src/rom_header.s b/src/rom_header.s index 9ab7240fba..5ced627a39 100644 --- a/src/rom_header.s +++ b/src/rom_header.s @@ -1,19 +1,16 @@ @ Note: ROM header data is empty space here. -@ It's populated by gbafix using data provided in the Makefile. +@ It's populated by gbafix using data provided in the Makefile. - .global Start -Start: +Start:: b Init - .global RomHeaderNintendoLogo -RomHeaderNintendoLogo: +RomHeaderNintendoLogo:: .space 156 RomHeaderGameTitle: .space 12 - .global RomHeaderGameCode -RomHeaderGameCode: +RomHeaderGameCode:: .space 4 RomHeaderMakerCode: @@ -31,8 +28,7 @@ RomHeaderDeviceType: RomHeaderReserved1: .space 7 - .global RomHeaderSoftwareVersion -RomHeaderSoftwareVersion: +RomHeaderSoftwareVersion:: .byte 0 RomHeaderChecksum: @@ -41,20 +37,17 @@ RomHeaderChecksum: RomHeaderReserved2: .space 2 - .word 0 + .word 0 - .global GPIOPortData -GPIOPortData: - .2byte 0 +GPIOPortData:: + .2byte 0 - .global GPIOPortDirection -GPIOPortDirection: - .2byte 0 +GPIOPortDirection:: + .2byte 0 - .global GPIOPortReadEnable -GPIOPortReadEnable: - .2byte 0 +GPIOPortReadEnable:: + .2byte 0 - .2byte 0 + .2byte 0 - .space 0x34 + .space 0x34 diff --git a/src/rom_header_gf.c b/src/rom_header_gf.c index 782a05c75c..2723e1200e 100644 --- a/src/rom_header_gf.c +++ b/src/rom_header_gf.c @@ -30,10 +30,10 @@ struct GFRomHeader u32 pokedexFlag; u32 mysteryEventFlag; u32 pokedexCount; - u8 unk1; - u8 unk2; - u8 unk3; - u8 unk4; + u8 playerNameLength; + u8 trainerNameLength; + u8 pokemonNameLength1; + u8 pokemonNameLength2; u8 unk5; u8 unk6; u8 unk7; @@ -79,8 +79,8 @@ struct GFRomHeader u32 pcItemsOffset; u32 giftRibbonsOffset; u32 enigmaBerryOffset; - u32 mapViewOffset; - u32 unk19; + u32 enigmaBerrySize; + const u8 * moveDescriptions; u32 unk20; }; @@ -110,23 +110,24 @@ static const struct GFRomHeader sGFRomHeader = { .pokedexFlag = FLAG_RECEIVED_POKEDEX_FROM_BIRCH, .mysteryEventFlag = FLAG_SYS_MYSTERY_EVENT_ENABLE, .pokedexCount = NATIONAL_DEX_COUNT, - .unk1 = 0x07, - .unk2 = 0x0a, - .unk3 = 0x0a, - .unk4 = 0x0a, - .unk5 = 0x0c, - .unk6 = 0x0c, - .unk7 = 0x06, - .unk8 = 0x0c, - .unk9 = 0x06, - .unk10 = 0x10, - .unk11 = 0x12, - .unk12 = 0x0c, - .unk13 = 0x0f, - .unk14 = 0x0b, - .unk15 = 0x01, - .unk16 = 0x08, - .unk17 = 0x0c, + .playerNameLength = PLAYER_NAME_LENGTH, + .trainerNameLength = TRAINER_NAME_LENGTH, + .pokemonNameLength1 = POKEMON_NAME_LENGTH, + .pokemonNameLength2 = POKEMON_NAME_LENGTH, + // Two of the below 12s are likely move/ability name length, given their presence in this header + .unk5 = 12, + .unk6 = 12, + .unk7 = 6, + .unk8 = 12, + .unk9 = 6, + .unk10 = 16, + .unk11 = 18, + .unk12 = 12, + .unk13 = 15, + .unk14 = 11, + .unk15 = 1, + .unk16 = 8, + .unk17 = 12, .saveBlock2Size = sizeof(struct SaveBlock2), .saveBlock1Size = sizeof(struct SaveBlock1), .partyCountOffset = offsetof(struct SaveBlock1, playerPartyCount), @@ -159,7 +160,7 @@ static const struct GFRomHeader sGFRomHeader = { .pcItemsOffset = offsetof(struct SaveBlock1, pcItems), .giftRibbonsOffset = offsetof(struct SaveBlock1, giftRibbons), .enigmaBerryOffset = offsetof(struct SaveBlock1, enigmaBerry), - .mapViewOffset = offsetof(struct SaveBlock1, mapView), - .unk19 = 0x00000000, + .enigmaBerrySize = sizeof(struct EnigmaBerry), + .moveDescriptions = NULL, .unk20 = 0x00000000, // 0xFFFFFFFF in FRLG }; diff --git a/src/rotating_gate.c b/src/rotating_gate.c index e2fd575a18..d1184dae01 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -233,7 +233,7 @@ static const struct OamData sOamData_RotatingGateLarge = .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -250,7 +250,7 @@ static const struct OamData sOamData_RotatingGateRegular = .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -874,7 +874,12 @@ static s32 RotatingGate_CanRotate(u8 gateId, s32 rotationDirection) if (sRotatingGate_ArmLayout[shape][2 * i + j]) { - if (MapGridIsImpassableAt(x + armPos[armIndex].x, y + armPos[armIndex].y) == TRUE) + #ifdef BUGFIX + // Collision has a range 0-3, any value != 0 is impassable + if (MapGridGetCollisionAt(x + armPos[armIndex].x, y + armPos[armIndex].y)) + #else + if (MapGridGetCollisionAt(x + armPos[armIndex].x, y + armPos[armIndex].y) == 1) + #endif return FALSE; } } diff --git a/src/rotating_tile_puzzle.c b/src/rotating_tile_puzzle.c index 4581f6e5be..7581b81072 100644 --- a/src/rotating_tile_puzzle.c +++ b/src/rotating_tile_puzzle.c @@ -27,33 +27,33 @@ struct RotatingTilePuzzle static const u8 sMovement_ShiftRight[] = { - MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, + MOVEMENT_ACTION_LOCK_ANIM, MOVEMENT_ACTION_WALK_NORMAL_RIGHT, - MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, + MOVEMENT_ACTION_UNLOCK_ANIM, MOVEMENT_ACTION_STEP_END }; static const u8 sMovement_ShiftDown[] = { - MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, + MOVEMENT_ACTION_LOCK_ANIM, MOVEMENT_ACTION_WALK_NORMAL_DOWN, - MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, + MOVEMENT_ACTION_UNLOCK_ANIM, MOVEMENT_ACTION_STEP_END }; static const u8 sMovement_ShiftLeft[] = { - MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, + MOVEMENT_ACTION_LOCK_ANIM, MOVEMENT_ACTION_WALK_NORMAL_LEFT, - MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, + MOVEMENT_ACTION_UNLOCK_ANIM, MOVEMENT_ACTION_STEP_END }; static const u8 sMovement_ShiftUp[] = { - MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, + MOVEMENT_ACTION_LOCK_ANIM, MOVEMENT_ACTION_WALK_NORMAL_UP, - MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, + MOVEMENT_ACTION_UNLOCK_ANIM, MOVEMENT_ACTION_STEP_END }; diff --git a/src/roulette.c b/src/roulette.c index 5b870fb604..52efc8779f 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -1040,11 +1040,11 @@ static const struct YesNoFuncTable sYesNoTable_KeepPlaying = static void CB2_Roulette(void) { - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - if (sRoulette->flashUtil.enabled) - RouletteFlash_Run(&sRoulette->flashUtil); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + if (sRoulette->flashUtil.enabled) + RouletteFlash_Run(&sRoulette->flashUtil); } static void VBlankCB_Roulette(void) @@ -1293,7 +1293,7 @@ static void Task_StartPlaying(u8 taskId) static void Task_AskKeepPlaying(u8 taskId) { DisplayYesNoMenuDefaultYes(); - DrawStdWindowFrame(sTextWindowId, 0); + DrawStdWindowFrame(sTextWindowId, FALSE); AddTextPrinterParameterized(sTextWindowId, FONT_NORMAL, Roulette_Text_KeepPlaying, 0, 1, TEXT_SKIP_DRAW, 0); CopyWindowToVram(sTextWindowId, COPYWIN_FULL); DoYesNoFuncWithChoice(taskId, &sYesNoTable_KeepPlaying); @@ -2662,7 +2662,7 @@ static const struct SpriteTemplate sSpriteTemplates_ColorHeaders[NUM_BOARD_COLOR } }; -static const struct SpriteTemplate sSpriteTemplate_GridIcons[NUM_BOARD_POKES] = +static const struct SpriteTemplate sSpriteTemplates_GridIcons[NUM_BOARD_POKES] = { { .tileTag = GFXTAG_GRID_ICONS, @@ -3401,7 +3401,7 @@ static void Task_DeclineMinBet(u8 taskId) { ClearStdWindowAndFrame(0, FALSE); HideCoinsWindow(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); } @@ -3413,7 +3413,7 @@ static void Task_NotEnoughForMinBet(u8 taskId) gSpecialVar_0x8004 = 1; HideCoinsWindow(); ClearStdWindowAndFrame(0, TRUE); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); } } @@ -3475,7 +3475,7 @@ static void Task_PrintRouletteEntryMsg(u8 taskId) void PlayRoulette(void) { u8 taskId; - ScriptContext2_Enable(); + LockPlayerFieldControls(); ShowCoinsWindow(GetCoins(), 1, 1); taskId = CreateTask(Task_PrintRouletteEntryMsg, 0); gTasks[taskId].tCoins = GetCoins(); @@ -3537,7 +3537,7 @@ static void CreateGridSprites(void) u8 y = i * 24; for (j = 0; j < NUM_BOARD_POKES; j++) { - spriteId = sRoulette->spriteIds[(i * NUM_BOARD_POKES) + SPR_GRID_ICONS + j] = CreateSprite(&sSpriteTemplate_GridIcons[j], (j * 24) + 148, y + 92, 30); + spriteId = sRoulette->spriteIds[(i * NUM_BOARD_POKES) + SPR_GRID_ICONS + j] = CreateSprite(&sSpriteTemplates_GridIcons[j], (j * 24) + 148, y + 92, 30); gSprites[spriteId].animPaused = TRUE; y += 24; if (y >= 72) @@ -4516,7 +4516,7 @@ static void SpriteCB_ShroomishExit(struct Sprite *sprite) // Delay for screen shaking, then exit left if (sprite->data[1]++ >= sprite->data[3]) { - sprite->x -= 2; + sprite->x -= 2; if (sprite->x < -16) { if (!sRoulette->ballUnstuck) diff --git a/src/safari_zone.c b/src/safari_zone.c index 1f13976569..ab4d4736ce 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -83,7 +83,7 @@ bool8 SafariZoneTakeStep(void) sSafariZoneStepCounter--; if (sSafariZoneStepCounter == 0) { - ScriptContext1_SetupScript(SafariZone_EventScript_TimesUp); + ScriptContext_SetupScript(SafariZone_EventScript_TimesUp); return TRUE; } return FALSE; @@ -91,7 +91,7 @@ bool8 SafariZoneTakeStep(void) void SafariZoneRetirePrompt(void) { - ScriptContext1_SetupScript(SafariZone_EventScript_RetirePrompt); + ScriptContext_SetupScript(SafariZone_EventScript_RetirePrompt); } void CB2_EndSafariBattle(void) @@ -105,15 +105,15 @@ void CB2_EndSafariBattle(void) } else if (gBattleOutcome == B_OUTCOME_NO_SAFARI_BALLS) { - ScriptContext2_RunNewScript(SafariZone_EventScript_OutOfBallsMidBattle); + RunScriptImmediately(SafariZone_EventScript_OutOfBallsMidBattle); WarpIntoMap(); gFieldCallback = FieldCB_ReturnToFieldNoScriptCheckMusic; SetMainCallback2(CB2_LoadMap); } else if (gBattleOutcome == B_OUTCOME_CAUGHT) { - ScriptContext1_SetupScript(SafariZone_EventScript_OutOfBalls); - ScriptContext1_Stop(); + ScriptContext_SetupScript(SafariZone_EventScript_OutOfBalls); + ScriptContext_Stop(); SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } } diff --git a/src/save.c b/src/save.c index 52cdaa5ddc..765fb045c3 100644 --- a/src/save.c +++ b/src/save.c @@ -196,7 +196,7 @@ static u8 HandleWriteSector(u16 sectorId, const struct SaveSectorLocation *locat // Set footer data gReadWriteSector->id = sectorId; - gReadWriteSector->security = SECTOR_SECURITY_NUM; + gReadWriteSector->signature = SECTOR_SIGNATURE; gReadWriteSector->counter = gSaveCounter; // Copy current data to temp buffer for writing @@ -217,7 +217,7 @@ static u8 HandleWriteSectorNBytes(u8 sectorId, u8 *data, u16 size) for (i = 0; i < SECTOR_SIZE; i++) ((u8 *)sector)[i] = 0; - sector->security = SECTOR_SECURITY_NUM; + sector->signature = SECTOR_SIGNATURE; // Copy data to temp buffer for writing for (i = 0; i < size; i++) @@ -306,7 +306,7 @@ static u8 HandleReplaceSectorAndVerify(u16 sectorId, const struct SaveSectorLoca return status; } -// Similar to HandleWriteSector, but fully erases the sector first, and skips writing the first security byte +// Similar to HandleWriteSector, but fully erases the sector first, and skips writing the first signature byte static u8 HandleReplaceSector(u16 sectorId, const struct SaveSectorLocation *locations) { u16 i; @@ -330,7 +330,7 @@ static u8 HandleReplaceSector(u16 sectorId, const struct SaveSectorLocation *loc // Set footer data gReadWriteSector->id = sectorId; - gReadWriteSector->security = SECTOR_SECURITY_NUM; + gReadWriteSector->signature = SECTOR_SIGNATURE; gReadWriteSector->counter = gSaveCounter; // Copy current data to temp buffer for writing @@ -344,8 +344,8 @@ static u8 HandleReplaceSector(u16 sectorId, const struct SaveSectorLocation *loc status = SAVE_STATUS_OK; - // Write new save data up to security field - for (i = 0; i < SECTOR_SECURITY_OFFSET; i++) + // Write new save data up to signature field + for (i = 0; i < SECTOR_SIGNATURE_OFFSET; i++) { if (ProgramFlashByte(sector, i, ((u8 *)gReadWriteSector)[i])) { @@ -362,14 +362,14 @@ static u8 HandleReplaceSector(u16 sectorId, const struct SaveSectorLocation *loc } else { - // Writing save data succeeded, write security and counter + // Writing save data succeeded, write signature and counter status = SAVE_STATUS_OK; - // Write security (skipping the first byte) and counter fields. - // The byte of security that is skipped is instead written by WriteSectorSecurityByte or WriteSectorSecurityByte_NoOffset - for (i = 0; i < SECTOR_SIZE - (SECTOR_SECURITY_OFFSET + 1); i++) + // Write signature (skipping the first byte) and counter fields. + // The byte of signature that is skipped is instead written by WriteSectorSignatureByte or WriteSectorSignatureByte_NoOffset + for (i = 0; i < SECTOR_SIZE - (SECTOR_SIGNATURE_OFFSET + 1); i++) { - if (ProgramFlashByte(sector, SECTOR_SECURITY_OFFSET + 1 + i, ((u8 *)gReadWriteSector)[SECTOR_SECURITY_OFFSET + 1 + i])) + if (ProgramFlashByte(sector, SECTOR_SIGNATURE_OFFSET + 1 + i, ((u8 *)gReadWriteSector)[SECTOR_SIGNATURE_OFFSET + 1 + i])) { status = SAVE_STATUS_ERROR; break; @@ -378,7 +378,7 @@ static u8 HandleReplaceSector(u16 sectorId, const struct SaveSectorLocation *loc if (status == SAVE_STATUS_ERROR) { - // Writing security/counter failed + // Writing signature/counter failed SetDamagedSectorBits(ENABLE, sector); return SAVE_STATUS_ERROR; } @@ -391,16 +391,16 @@ static u8 HandleReplaceSector(u16 sectorId, const struct SaveSectorLocation *loc } } -static u8 WriteSectorSecurityByte_NoOffset(u16 sectorId, const struct SaveSectorLocation *locations) +static u8 WriteSectorSignatureByte_NoOffset(u16 sectorId, const struct SaveSectorLocation *locations) { // Adjust sector id for current save slot - // This first line lacking -1 is the only difference from WriteSectorSecurityByte + // This first line lacking -1 is the only difference from WriteSectorSignatureByte u16 sector = sectorId + gLastWrittenSector; sector %= NUM_SECTORS_PER_SLOT; sector += NUM_SECTORS_PER_SLOT * (gSaveCounter % NUM_SAVE_SLOTS); - // Write just the first byte of the security field, which was skipped by HandleReplaceSector - if (ProgramFlashByte(sector, SECTOR_SECURITY_OFFSET, SECTOR_SECURITY_NUM & 0xFF)) + // Write just the first byte of the signature field, which was skipped by HandleReplaceSector + if (ProgramFlashByte(sector, SECTOR_SIGNATURE_OFFSET, SECTOR_SIGNATURE & 0xFF)) { // Sector is damaged, so enable the bit in gDamagedSaveSectors and restore the last written sector and save counter. SetDamagedSectorBits(ENABLE, sector); @@ -416,15 +416,15 @@ static u8 WriteSectorSecurityByte_NoOffset(u16 sectorId, const struct SaveSector } } -static u8 CopySectorSecurityByte(u16 sectorId, const struct SaveSectorLocation *locations) +static u8 CopySectorSignatureByte(u16 sectorId, const struct SaveSectorLocation *locations) { // Adjust sector id for current save slot u16 sector = sectorId + gLastWrittenSector - 1; sector %= NUM_SECTORS_PER_SLOT; sector += NUM_SECTORS_PER_SLOT * (gSaveCounter % NUM_SAVE_SLOTS); - // Copy just the first byte of the security field from the read/write buffer - if (ProgramFlashByte(sector, SECTOR_SECURITY_OFFSET, ((u8 *)gReadWriteSector)[SECTOR_SECURITY_OFFSET])) + // Copy just the first byte of the signature field from the read/write buffer + if (ProgramFlashByte(sector, SECTOR_SIGNATURE_OFFSET, ((u8 *)gReadWriteSector)[SECTOR_SIGNATURE_OFFSET])) { // Sector is damaged, so enable the bit in gDamagedSaveSectors and restore the last written sector and save counter. SetDamagedSectorBits(ENABLE, sector); @@ -440,15 +440,15 @@ static u8 CopySectorSecurityByte(u16 sectorId, const struct SaveSectorLocation * } } -static u8 WriteSectorSecurityByte(u16 sectorId, const struct SaveSectorLocation *locations) +static u8 WriteSectorSignatureByte(u16 sectorId, const struct SaveSectorLocation *locations) { // Adjust sector id for current save slot u16 sector = sectorId + gLastWrittenSector - 1; sector %= NUM_SECTORS_PER_SLOT; sector += NUM_SECTORS_PER_SLOT * (gSaveCounter % NUM_SAVE_SLOTS); - // Write just the first byte of the security field, which was skipped by HandleReplaceSector - if (ProgramFlashByte(sector, SECTOR_SECURITY_OFFSET, SECTOR_SECURITY_NUM & 0xFF)) + // Write just the first byte of the signature field, which was skipped by HandleReplaceSector + if (ProgramFlashByte(sector, SECTOR_SIGNATURE_OFFSET, SECTOR_SIGNATURE & 0xFF)) { // Sector is damaged, so enable the bit in gDamagedSaveSectors and restore the last written sector and save counter. SetDamagedSectorBits(ENABLE, sector); @@ -500,8 +500,8 @@ static u8 CopySaveSlotData(u16 sectorId, struct SaveSectorLocation *locations) checksum = CalculateChecksum(gReadWriteSector->data, locations[id].size); - // Only copy data for sectors whose security and checksum fields are correct - if (gReadWriteSector->security == SECTOR_SECURITY_NUM && gReadWriteSector->checksum == checksum) + // Only copy data for sectors whose signature and checksum fields are correct + if (gReadWriteSector->signature == SECTOR_SIGNATURE && gReadWriteSector->checksum == checksum) { u16 j; for (j = 0; j < locations[id].size; j++) @@ -519,7 +519,7 @@ static u8 GetSaveValidStatus(const struct SaveSectorLocation *locations) u32 saveSlot1Counter = 0; u32 saveSlot2Counter = 0; u32 validSectorFlags = 0; - bool8 securityPassed = FALSE; + bool8 signatureValid = FALSE; u8 saveSlot1Status; u8 saveSlot2Status; @@ -527,9 +527,9 @@ static u8 GetSaveValidStatus(const struct SaveSectorLocation *locations) for (i = 0; i < NUM_SECTORS_PER_SLOT; i++) { ReadFlashSector(i, gReadWriteSector); - if (gReadWriteSector->security == SECTOR_SECURITY_NUM) + if (gReadWriteSector->signature == SECTOR_SIGNATURE) { - securityPassed = TRUE; + signatureValid = TRUE; checksum = CalculateChecksum(gReadWriteSector->data, locations[gReadWriteSector->id].size); if (gReadWriteSector->checksum == checksum) { @@ -539,7 +539,7 @@ static u8 GetSaveValidStatus(const struct SaveSectorLocation *locations) } } - if (securityPassed) + if (signatureValid) { if (validSectorFlags == (1 << NUM_SECTORS_PER_SLOT) - 1) saveSlot1Status = SAVE_STATUS_OK; @@ -548,20 +548,20 @@ static u8 GetSaveValidStatus(const struct SaveSectorLocation *locations) } else { - // No sectors in slot 1 have the security number, treat it as empty + // No sectors in slot 1 have the correct signature, treat it as empty saveSlot1Status = SAVE_STATUS_EMPTY; } validSectorFlags = 0; - securityPassed = FALSE; + signatureValid = FALSE; // Check save slot 2 for (i = 0; i < NUM_SECTORS_PER_SLOT; i++) { ReadFlashSector(i + NUM_SECTORS_PER_SLOT, gReadWriteSector); - if (gReadWriteSector->security == SECTOR_SECURITY_NUM) + if (gReadWriteSector->signature == SECTOR_SIGNATURE) { - securityPassed = TRUE; + signatureValid = TRUE; checksum = CalculateChecksum(gReadWriteSector->data, locations[gReadWriteSector->id].size); if (gReadWriteSector->checksum == checksum) { @@ -571,7 +571,7 @@ static u8 GetSaveValidStatus(const struct SaveSectorLocation *locations) } } - if (securityPassed) + if (signatureValid) { if (validSectorFlags == (1 << NUM_SECTORS_PER_SLOT) - 1) saveSlot2Status = SAVE_STATUS_OK; @@ -580,7 +580,7 @@ static u8 GetSaveValidStatus(const struct SaveSectorLocation *locations) } else { - // No sectors in slot 2 have the security number, treat it as empty. + // No sectors in slot 2 have the correct signature, treat it as empty. saveSlot2Status = SAVE_STATUS_EMPTY; } @@ -642,12 +642,12 @@ static u8 TryLoadSaveSector(u8 sectorId, u8 *data, u16 size) u16 i; struct SaveSector *sector = &gSaveDataBuffer; ReadFlashSector(sectorId, sector); - if (sector->security == SECTOR_SECURITY_NUM) + if (sector->signature == SECTOR_SIGNATURE) { u16 checksum = CalculateChecksum(sector->data, size); if (sector->id == checksum) { - // Security and checksum are correct, copy data + // Signature and checksum are correct, copy data for (i = 0; i < size; i++) data[i] = sector->data[i]; return SAVE_STATUS_OK; @@ -660,7 +660,7 @@ static u8 TryLoadSaveSector(u8 sectorId, u8 *data, u16 size) } else { - // Incorrect security value + // Incorrect signature value return SAVE_STATUS_EMPTY; } } @@ -689,18 +689,18 @@ static u16 CalculateChecksum(void *data, u16 size) static void UpdateSaveAddresses(void) { int i = SECTOR_ID_SAVEBLOCK2; - gRamSaveSectorLocations[i].data = (void*)(gSaveBlock2Ptr) + sSaveSlotLayout[i].offset; + gRamSaveSectorLocations[i].data = (void *)(gSaveBlock2Ptr) + sSaveSlotLayout[i].offset; gRamSaveSectorLocations[i].size = sSaveSlotLayout[i].size; for (i = SECTOR_ID_SAVEBLOCK1_START; i <= SECTOR_ID_SAVEBLOCK1_END; i++) { - gRamSaveSectorLocations[i].data = (void*)(gSaveBlock1Ptr) + sSaveSlotLayout[i].offset; + gRamSaveSectorLocations[i].data = (void *)(gSaveBlock1Ptr) + sSaveSlotLayout[i].offset; gRamSaveSectorLocations[i].size = sSaveSlotLayout[i].size; } for (; i <= SECTOR_ID_PKMN_STORAGE_END; i++) //setting i to SECTOR_ID_PKMN_STORAGE_START does not match { - gRamSaveSectorLocations[i].data = (void*)(gPokemonStoragePtr) + sSaveSlotLayout[i].offset; + gRamSaveSectorLocations[i].data = (void *)(gPokemonStoragePtr) + sSaveSlotLayout[i].offset; gRamSaveSectorLocations[i].size = sSaveSlotLayout[i].size; } } @@ -747,7 +747,7 @@ u8 HandleSavingData(u8 saveType) for(i = SECTOR_ID_SAVEBLOCK2; i <= SECTOR_ID_SAVEBLOCK1_END; i++) HandleReplaceSector(i, gRamSaveSectorLocations); for(i = SECTOR_ID_SAVEBLOCK2; i <= SECTOR_ID_SAVEBLOCK1_END; i++) - WriteSectorSecurityByte_NoOffset(i, gRamSaveSectorLocations); + WriteSectorSignatureByte_NoOffset(i, gRamSaveSectorLocations); break; case SAVE_OVERWRITE_DIFFERENT_FILE: // Erase Hall of Fame @@ -818,9 +818,9 @@ bool8 LinkFullSave_ReplaceLastSector(void) return FALSE; } -bool8 LinkFullSave_SetLastSectorSecurity(void) +bool8 LinkFullSave_SetLastSectorSignature(void) { - CopySectorSecurityByte(NUM_SECTORS_PER_SLOT, gRamSaveSectorLocations); + CopySectorSignatureByte(NUM_SECTORS_PER_SLOT, gRamSaveSectorLocations); if (gDamagedSaveSectors) DoSaveFailedScreen(SAVE_NORMAL); return FALSE; @@ -852,14 +852,14 @@ bool8 WriteSaveBlock1Sector(void) { // Write a single sector of SaveBlock1 HandleReplaceSectorAndVerify(gIncrementalSectorId + 1, gRamSaveSectorLocations); - WriteSectorSecurityByte(sectorId, gRamSaveSectorLocations); + WriteSectorSignatureByte(sectorId, gRamSaveSectorLocations); } else { // Beyond SaveBlock1, don't write the sector. - // Does write 1 byte of the next sector's security field, but as these + // Does write 1 byte of the next sector's signature field, but as these // are the same for all valid sectors it doesn't matter. - WriteSectorSecurityByte(sectorId, gRamSaveSectorLocations); + WriteSectorSignatureByte(sectorId, gRamSaveSectorLocations); finished = TRUE; } @@ -913,7 +913,7 @@ u16 GetSaveBlocksPointersBaseOffset(void) for (i = 0; i < NUM_SECTORS_PER_SLOT; i++) { ReadFlashSector(i + slotOffset, gReadWriteSector); - + // Base offset for SaveBlock2 is calculated using the trainer id if (gReadWriteSector->id == SECTOR_ID_SAVEBLOCK2) return sector->data[offsetof(struct SaveBlock2, playerTrainerId[0])] + @@ -924,17 +924,17 @@ u16 GetSaveBlocksPointersBaseOffset(void) return 0; } -u32 TryReadSpecialSaveSector(u8 sector, u8* dst) +u32 TryReadSpecialSaveSector(u8 sector, u8 *dst) { s32 i; s32 size; - u8* savData; + u8 *savData; if (sector != SECTOR_ID_TRAINER_HILL && sector != SECTOR_ID_RECORDED_BATTLE) return SAVE_STATUS_ERROR; ReadFlash(sector, 0, (u8 *)&gSaveDataBuffer, SECTOR_SIZE); - if (*(u32*)(&gSaveDataBuffer.data[0]) != SPECIAL_SECTOR_SENTINEL) + if (*(u32 *)(&gSaveDataBuffer.data[0]) != SPECIAL_SECTOR_SENTINEL) return SAVE_STATUS_ERROR; // Copies whole save sector except u32 counter @@ -946,18 +946,18 @@ u32 TryReadSpecialSaveSector(u8 sector, u8* dst) return SAVE_STATUS_OK; } -u32 TryWriteSpecialSaveSector(u8 sector, u8* src) +u32 TryWriteSpecialSaveSector(u8 sector, u8 *src) { s32 i; s32 size; - u8* savData; - void* savDataBuffer; + u8 *savData; + void *savDataBuffer; if (sector != SECTOR_ID_TRAINER_HILL && sector != SECTOR_ID_RECORDED_BATTLE) return SAVE_STATUS_ERROR; savDataBuffer = &gSaveDataBuffer; - *(u32*)(savDataBuffer) = SPECIAL_SECTOR_SENTINEL; + *(u32 *)(savDataBuffer) = SPECIAL_SECTOR_SENTINEL; // Copies whole save sector except u32 counter i = 0; @@ -978,7 +978,7 @@ u32 TryWriteSpecialSaveSector(u8 sector, u8* src) // Most notably it does save the PC data. void Task_LinkFullSave(u8 taskId) { - s16* data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; switch (tState) { @@ -1030,7 +1030,7 @@ void Task_LinkFullSave(u8 taskId) case 8: if (IsLinkTaskFinished()) { - LinkFullSave_SetLastSectorSecurity(); + LinkFullSave_SetLastSectorSignature(); tState = 9; } break; diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index 9b32a938ff..877482728f 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -50,7 +50,7 @@ static const struct OamData sClockOamData = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, diff --git a/src/scrcmd.c b/src/scrcmd.c index 418bf58770..3d67c69e51 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -141,7 +141,7 @@ bool8 ScrCmd_callnative(struct ScriptContext *ctx) bool8 ScrCmd_waitstate(struct ScriptContext *ctx) { - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } @@ -605,7 +605,7 @@ bool8 ScrCmd_incrementgamestat(struct ScriptContext *ctx) bool8 ScrCmd_animateflash(struct ScriptContext *ctx) { AnimateFlash(ScriptReadByte(ctx)); - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } @@ -1305,7 +1305,7 @@ bool8 ScrCmd_messageinstant(struct ScriptContext *ctx) if (msg == NULL) msg = (const u8 *)ctx->data[0]; LoadMessageBoxAndBorderGfx(); - DrawDialogueFrame(0, 1); + DrawDialogueFrame(0, TRUE); AddTextPrinterParameterized(0, FONT_NORMAL, msg, 0, 1, 0, NULL); return FALSE; } @@ -1344,7 +1344,7 @@ bool8 ScrCmd_yesnobox(struct ScriptContext *ctx) if (ScriptMenu_YesNo(left, top) == TRUE) { - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } else @@ -1362,7 +1362,7 @@ bool8 ScrCmd_multichoice(struct ScriptContext *ctx) if (ScriptMenu_Multichoice(left, top, multichoiceId, ignoreBPress) == TRUE) { - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } else @@ -1381,7 +1381,7 @@ bool8 ScrCmd_multichoicedefault(struct ScriptContext *ctx) if (ScriptMenu_MultichoiceWithDefault(left, top, multichoiceId, ignoreBPress, defaultChoice) == TRUE) { - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } else @@ -1411,7 +1411,7 @@ bool8 ScrCmd_multichoicegrid(struct ScriptContext *ctx) if (ScriptMenu_MultichoiceGrid(left, top, multichoiceId, ignoreBPress, numColumns) == TRUE) { - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } else @@ -1440,7 +1440,7 @@ bool8 ScrCmd_drawboxtext(struct ScriptContext *ctx) /*if (Multichoice(left, top, multichoiceId, ignoreBPress) == TRUE) { - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; }*/ return FALSE; @@ -1477,7 +1477,7 @@ bool8 ScrCmd_showcontestpainting(struct ScriptContext *ctx) SetContestWinnerForPainting(contestWinnerId); ShowContestPainting(); - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } @@ -1527,7 +1527,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) winTemplate = CreateWindowTemplate(0, xWindow, yWindow + 1, width, height, 0xF, 0x1); sBrailleWindowId = AddWindow(&winTemplate); LoadUserWindowBorderGfx(sBrailleWindowId, 0x214, 0xE0); - DrawStdWindowFrame(sBrailleWindowId, 0); + DrawStdWindowFrame(sBrailleWindowId, FALSE); PutWindowTilemap(sBrailleWindowId); FillWindowPixelBuffer(sBrailleWindowId, PIXEL_FILL(1)); AddTextPrinterParameterized(sBrailleWindowId, FONT_BRAILLE, gStringVar4, xText, yText, TEXT_SKIP_DRAW, NULL); @@ -1882,7 +1882,7 @@ bool8 ScrCmd_setwildbattle(struct ScriptContext *ctx) bool8 ScrCmd_dowildbattle(struct ScriptContext *ctx) { BattleSetup_StartScriptedWildBattle(); - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } @@ -1891,7 +1891,7 @@ bool8 ScrCmd_pokemart(struct ScriptContext *ctx) const void *ptr = (void *)ScriptReadWord(ctx); CreatePokemartMenu(ptr); - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } @@ -1900,7 +1900,7 @@ bool8 ScrCmd_pokemartdecoration(struct ScriptContext *ctx) const void *ptr = (void *)ScriptReadWord(ctx); CreateDecorationShop1Menu(ptr); - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } @@ -1910,7 +1910,7 @@ bool8 ScrCmd_pokemartdecoration2(struct ScriptContext *ctx) const void *ptr = (void *)ScriptReadWord(ctx); CreateDecorationShop2Menu(ptr); - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } @@ -1919,7 +1919,7 @@ bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx) u8 machineId = VarGet(ScriptReadHalfword(ctx)); PlaySlotMachine(machineId, CB2_ReturnToFieldContinueScriptPlayMapMusic); - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } @@ -1947,7 +1947,7 @@ bool8 ScrCmd_getpokenewsactive(struct ScriptContext *ctx) bool8 ScrCmd_choosecontestmon(struct ScriptContext *ctx) { ChooseContestMon(); - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } @@ -1955,21 +1955,21 @@ bool8 ScrCmd_choosecontestmon(struct ScriptContext *ctx) bool8 ScrCmd_startcontest(struct ScriptContext *ctx) { StartContest(); - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } bool8 ScrCmd_showcontestresults(struct ScriptContext *ctx) { ShowContestResults(); - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } bool8 ScrCmd_contestlinktransfer(struct ScriptContext *ctx) { ContestLinkTransfer(gSpecialVar_ContestCategory); - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE; } @@ -2038,15 +2038,15 @@ bool8 ScrCmd_setmetatile(struct ScriptContext *ctx) { u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - u16 tileId = VarGet(ScriptReadHalfword(ctx)); - u16 isImpassable = VarGet(ScriptReadHalfword(ctx)); + u16 metatileId = VarGet(ScriptReadHalfword(ctx)); + bool16 isImpassable = VarGet(ScriptReadHalfword(ctx)); x += MAP_OFFSET; y += MAP_OFFSET; if (!isImpassable) - MapGridSetMetatileIdAt(x, y, tileId); + MapGridSetMetatileIdAt(x, y, metatileId); else - MapGridSetMetatileIdAt(x, y, tileId | MAPGRID_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, metatileId | MAPGRID_COLLISION_MASK); return FALSE; } @@ -2124,7 +2124,7 @@ bool8 ScrCmd_addelevmenuitem(struct ScriptContext *ctx) bool8 ScrCmd_showelevmenu(struct ScriptContext *ctx) { /*ScriptShowElevatorMenu(); - ScriptContext1_Stop(); + ScriptContext_Stop(); return TRUE;*/ return FALSE; } @@ -2229,7 +2229,7 @@ bool8 ScrCmd_checkmoneventlegal(struct ScriptContext *ctx) bool8 ScrCmd_trywondercardscript(struct ScriptContext *ctx) { - const u8* script = GetSavedRamScriptIfValid(); + const u8 *script = GetSavedRamScriptIfValid(); if (script) { @@ -2268,7 +2268,7 @@ bool8 ScrCmd_setmonmetlocation(struct ScriptContext *ctx) static void CloseBrailleWindow(void) { - ClearStdWindowAndFrame(sBrailleWindowId, 1); + ClearStdWindowAndFrame(sBrailleWindowId, TRUE); RemoveWindow(sBrailleWindowId); } diff --git a/src/script.c b/src/script.c index 4728e739cd..c252c95f04 100644 --- a/src/script.c +++ b/src/script.c @@ -14,12 +14,18 @@ enum { SCRIPT_MODE_NATIVE, }; -extern const u8* gRamScriptRetAddr; +enum { + CONTEXT_RUNNING, + CONTEXT_WAITING, + CONTEXT_SHUTDOWN, +}; -static u8 sScriptContext1Status; -static struct ScriptContext sScriptContext1; -static struct ScriptContext sScriptContext2; -static bool8 sScriptContext2Enabled; +extern const u8 *gRamScriptRetAddr; + +static u8 sGlobalScriptContextStatus; +static struct ScriptContext sGlobalScriptContext; +static struct ScriptContext sImmediateScriptContext; +static bool8 sLockFieldControls; extern ScrCmdFunc gScriptCmdTable[]; extern ScrCmdFunc gScriptCmdTableEnd[]; @@ -173,79 +179,94 @@ u32 ScriptReadWord(struct ScriptContext *ctx) return (((((value3 << 8) + value2) << 8) + value1) << 8) + value0; } -void ScriptContext2_Enable(void) +void LockPlayerFieldControls(void) { - sScriptContext2Enabled = TRUE; + sLockFieldControls = TRUE; } -void ScriptContext2_Disable(void) +void UnlockPlayerFieldControls(void) { - sScriptContext2Enabled = FALSE; + sLockFieldControls = FALSE; } -bool8 ScriptContext2_IsEnabled(void) +bool8 ArePlayerFieldControlsLocked(void) { - return sScriptContext2Enabled; + return sLockFieldControls; } -bool8 ScriptContext1_IsScriptSetUp(void) +// The ScriptContext_* functions work with the primary script context, +// which yields control back to native code should the script make a wait call. + +// Checks if the global script context is able to be run right now. +bool8 ScriptContext_IsEnabled(void) { - if (sScriptContext1Status == 0) + if (sGlobalScriptContextStatus == CONTEXT_RUNNING) return TRUE; else return FALSE; } -void ScriptContext1_Init(void) +// Re-initializes the global script context to zero. +void ScriptContext_Init(void) { - InitScriptContext(&sScriptContext1, gScriptCmdTable, gScriptCmdTableEnd); - sScriptContext1Status = 2; + InitScriptContext(&sGlobalScriptContext, gScriptCmdTable, gScriptCmdTableEnd); + sGlobalScriptContextStatus = CONTEXT_SHUTDOWN; } -bool8 ScriptContext2_RunScript(void) +// Runs the script until the script makes a wait* call, then returns true if +// there's more script to run, or false if the script has hit the end. +// This function also returns false if the context is finished +// or waiting (after a call to _Stop) +bool8 ScriptContext_RunScript(void) { - if (sScriptContext1Status == 2) + if (sGlobalScriptContextStatus == CONTEXT_SHUTDOWN) return FALSE; - if (sScriptContext1Status == 1) + if (sGlobalScriptContextStatus == CONTEXT_WAITING) return FALSE; - ScriptContext2_Enable(); + LockPlayerFieldControls(); - if (!RunScriptCommand(&sScriptContext1)) + if (!RunScriptCommand(&sGlobalScriptContext)) { - sScriptContext1Status = 2; - ScriptContext2_Disable(); + sGlobalScriptContextStatus = CONTEXT_SHUTDOWN; + UnlockPlayerFieldControls(); return FALSE; } return TRUE; } -void ScriptContext1_SetupScript(const u8 *ptr) +// Sets up a new script in the global context and enables the context +void ScriptContext_SetupScript(const u8 *ptr) { - InitScriptContext(&sScriptContext1, gScriptCmdTable, gScriptCmdTableEnd); - SetupBytecodeScript(&sScriptContext1, ptr); - ScriptContext2_Enable(); - sScriptContext1Status = 0; + InitScriptContext(&sGlobalScriptContext, gScriptCmdTable, gScriptCmdTableEnd); + SetupBytecodeScript(&sGlobalScriptContext, ptr); + LockPlayerFieldControls(); + sGlobalScriptContextStatus = CONTEXT_RUNNING; } -void ScriptContext1_Stop(void) +// Puts the script into waiting mode; usually called from a wait* script command. +void ScriptContext_Stop(void) { - sScriptContext1Status = 1; + sGlobalScriptContextStatus = CONTEXT_WAITING; } -void EnableBothScriptContexts(void) +// Puts the script into running mode. +void ScriptContext_Enable(void) { - sScriptContext1Status = 0; - ScriptContext2_Enable(); + sGlobalScriptContextStatus = CONTEXT_RUNNING; + LockPlayerFieldControls(); } -void ScriptContext2_RunNewScript(const u8 *ptr) +// Sets up and runs a script in its own context immediately. The script will be +// finished when this function returns. Used mainly by all of the map header +// scripts (except the frame table scripts). +void RunScriptImmediately(const u8 *ptr) { - InitScriptContext(&sScriptContext2, gScriptCmdTable, gScriptCmdTableEnd); - SetupBytecodeScript(&sScriptContext2, ptr); - while (RunScriptCommand(&sScriptContext2) == TRUE); + InitScriptContext(&sImmediateScriptContext, gScriptCmdTable, gScriptCmdTableEnd); + SetupBytecodeScript(&sImmediateScriptContext, ptr); + while (RunScriptCommand(&sImmediateScriptContext) == TRUE); } u8 *MapHeaderGetScriptTable(u8 tag) @@ -272,7 +293,7 @@ void MapHeaderRunScriptType(u8 tag) { u8 *ptr = MapHeaderGetScriptTable(tag); if (ptr) - ScriptContext2_RunNewScript(ptr); + RunScriptImmediately(ptr); } u8 *MapHeaderCheckScriptTable(u8 tag) @@ -336,7 +357,7 @@ bool8 TryRunOnFrameMapScript(void) if (!ptr) return FALSE; - ScriptContext1_SetupScript(ptr); + ScriptContext_SetupScript(ptr); return TRUE; } @@ -344,12 +365,12 @@ void TryRunOnWarpIntoMapScript(void) { u8 *ptr = MapHeaderCheckScriptTable(MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE); if (ptr) - ScriptContext2_RunNewScript(ptr); + RunScriptImmediately(ptr); } u32 CalculateRamScriptChecksum(void) { - return CalcCRC16WithTable((u8*)(&gSaveBlock1Ptr->ramScript.data), sizeof(gSaveBlock1Ptr->ramScript.data)); + return CalcCRC16WithTable((u8 *)(&gSaveBlock1Ptr->ramScript.data), sizeof(gSaveBlock1Ptr->ramScript.data)); } void ClearRamScript(void) diff --git a/src/script_menu.c b/src/script_menu.c index 1680758f21..6633332f3f 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -107,7 +107,7 @@ static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreB newWidth = ConvertPixelWidthToTileWidth(width); left = ScriptMenu_AdjustLeftCoordFromWidth(left, newWidth); windowId = CreateWindowFromRect(left, top, newWidth, count * 2); - SetStandardWindowBorderStyle(windowId, 0); + SetStandardWindowBorderStyle(windowId, FALSE); PrintMenuTable(windowId, count, actions); InitMenuInUpperLeftCornerNormal(windowId, count, cursorPos); ScheduleBgCopyTilemapToVram(0); @@ -190,7 +190,7 @@ static void Task_HandleMultichoiceInput(u8 taskId) } ClearToTransparentAndRemoveWindow(tWindowId); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } } } @@ -245,7 +245,7 @@ static void Task_HandleYesNoInput(u8 taskId) } DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 columnCount) @@ -277,7 +277,7 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, bool8 ignore gTasks[taskId].tIgnoreBPress = ignoreBPress; gTasks[taskId].tWindowId = CreateWindowFromRect(left, top, columnCount * newWidth, rowCount * 2); - SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, 0); + SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, FALSE); PrintMenuGridTable(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, sMultichoiceLists[multichoiceId].list); InitMenuActionGrid(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, 0); CopyWindowToVram(gTasks[taskId].tWindowId, COPYWIN_FULL); @@ -307,7 +307,7 @@ static void Task_HandleMultichoiceGridInput(u8 taskId) ClearToTransparentAndRemoveWindow(tWindowId); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } #undef tWindowId @@ -328,7 +328,7 @@ bool16 ScriptMenu_CreatePCMultichoice(void) static void CreatePCMultichoice(void) { - u8 y = 8; + u8 x = 8; u32 pixelWidth = 0; u8 width; u8 numChoices; @@ -352,26 +352,26 @@ static void CreatePCMultichoice(void) { numChoices = 4; windowId = CreateWindowFromRect(0, 0, width, 8); - SetStandardWindowBorderStyle(windowId, 0); - AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_HallOfFame, y, 33, TEXT_SKIP_DRAW, NULL); - AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_LogOff, y, 49, TEXT_SKIP_DRAW, NULL); + SetStandardWindowBorderStyle(windowId, FALSE); + AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_HallOfFame, x, 33, TEXT_SKIP_DRAW, NULL); + AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_LogOff, x, 49, TEXT_SKIP_DRAW, NULL); } else { numChoices = 3; windowId = CreateWindowFromRect(0, 0, width, 6); - SetStandardWindowBorderStyle(windowId, 0); - AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_LogOff, y, 33, TEXT_SKIP_DRAW, NULL); + SetStandardWindowBorderStyle(windowId, FALSE); + AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_LogOff, x, 33, TEXT_SKIP_DRAW, NULL); } // Change PC name if player has met Lanette if (FlagGet(FLAG_SYS_PC_LANETTE)) - AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_LanettesPC, y, 1, TEXT_SKIP_DRAW, NULL); + AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_LanettesPC, x, 1, TEXT_SKIP_DRAW, NULL); else - AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_SomeonesPC, y, 1, TEXT_SKIP_DRAW, NULL); + AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_SomeonesPC, x, 1, TEXT_SKIP_DRAW, NULL); StringExpandPlaceholders(gStringVar4, gText_PlayersPC); - PrintPlayerNameOnWindow(windowId, gStringVar4, y, 17); + PrintPlayerNameOnWindow(windowId, gStringVar4, x, 17); InitMenuInUpperLeftCornerNormal(windowId, numChoices, 0); CopyWindowToVram(windowId, COPYWIN_FULL); InitMultichoiceCheckWrap(FALSE, numChoices, windowId, MULTI_PC); @@ -380,7 +380,7 @@ static void CreatePCMultichoice(void) void ScriptMenu_DisplayPCStartupPrompt(void) { LoadMessageBoxAndFrameGfx(0, TRUE); - AddTextPrinterParameterized2(0, FONT_NORMAL, gText_WhichPCShouldBeAccessed, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, gText_WhichPCShouldBeAccessed, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); } bool8 ScriptMenu_CreateLilycoveSSTidalMultichoice(void) @@ -521,7 +521,7 @@ static void CreateLilycoveSSTidalMultichoice(void) width = ConvertPixelWidthToTileWidth(pixelWidth); windowId = CreateWindowFromRect(MAX_MULTICHOICE_WIDTH - width, (6 - count) * 2, width, count * 2); - SetStandardWindowBorderStyle(windowId, 0); + SetStandardWindowBorderStyle(windowId, FALSE); for (selectionCount = 0, i = 0; i < SSTIDAL_SELECTION_COUNT; i++) { @@ -595,7 +595,7 @@ bool8 ScriptMenu_ShowPokemonPic(u16 species, u8 x, u8 y) gTasks[taskId].tMonSpriteId = spriteId; gSprites[spriteId].callback = SpriteCallbackDummy; gSprites[spriteId].oam.priority = 0; - SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, 1); + SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, TRUE); ScheduleBgCopyTilemapToVram(0); return TRUE; } @@ -646,27 +646,27 @@ static void DrawLinkServicesMultichoiceMenu(u8 multichoiceId) { case MULTI_WIRELESS_NO_BERRY: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, sWirelessOptionsNoBerryCrush[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sWirelessOptionsNoBerryCrush[Menu_GetCursorPos()], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); break; case MULTI_CABLE_CLUB_WITH_RECORD_MIX: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, sCableClubOptions_WithRecordMix[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sCableClubOptions_WithRecordMix[Menu_GetCursorPos()], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); break; case MULTI_WIRELESS_NO_RECORD: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, sWirelessOptions_NoRecordMix[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sWirelessOptions_NoRecordMix[Menu_GetCursorPos()], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); break; case MULTI_WIRELESS_ALL_SERVICES: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, sWirelessOptions_AllServices[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sWirelessOptions_AllServices[Menu_GetCursorPos()], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); break; case MULTI_WIRELESS_NO_RECORD_BERRY: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, sWirelessOptions_NoRecordMixBerryCrush[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sWirelessOptions_NoRecordMixBerryCrush[Menu_GetCursorPos()], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); break; case MULTI_CABLE_CLUB_NO_RECORD_MIX: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, FONT_NORMAL, sCableClubOptions_NoRecordMix[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, FONT_NORMAL, sCableClubOptions_NoRecordMix[Menu_GetCursorPos()], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); break; } } @@ -688,7 +688,7 @@ bool16 ScriptMenu_CreateStartMenuForPokenavTutorial(void) static void CreateStartMenuForPokenavTutorial(void) { u8 windowId = CreateWindowFromRect(21, 0, 7, 18); - SetStandardWindowBorderStyle(windowId, 0); + SetStandardWindowBorderStyle(windowId, FALSE); AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_MenuOptionPokedex, 8, 9, TEXT_SKIP_DRAW, NULL); AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_MenuOptionPokemon, 8, 25, TEXT_SKIP_DRAW, NULL); AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_MenuOptionBag, 8, 41, TEXT_SKIP_DRAW, NULL); diff --git a/src/secret_base.c b/src/secret_base.c index fa424889e0..ea19993439 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -461,7 +461,7 @@ static void EnterNewlyCreatedSecretBase_WaitFadeIn(u8 taskId) ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], DIR_NORTH); if (IsWeatherNotFadingIn() == TRUE) { - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } } @@ -470,7 +470,7 @@ static void EnterNewlyCreatedSecretBase_StartFadeIn(void) { s16 x, y; - ScriptContext2_Enable(); + LockPlayerFieldControls(); HideMapNamePopUpWindow(); FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC); x += MAP_OFFSET; @@ -673,7 +673,7 @@ void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEven { SetCurSecretBaseIdFromPosition(position, events); TrySetCurSecretBaseIndex(); - ScriptContext1_SetupScript(SecretBase_EventScript_Enter); + ScriptContext_SetupScript(SecretBase_EventScript_Enter); } bool8 TrySetCurSecretBase(void) @@ -691,7 +691,7 @@ static void Task_WarpOutOfSecretBase(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - ScriptContext2_Enable(); + LockPlayerFieldControls(); gTasks[taskId].data[0] = 1; break; case 1: @@ -703,7 +703,7 @@ static void Task_WarpOutOfSecretBase(u8 taskId) WarpIntoMap(); gFieldCallback = FieldCB_DefaultWarpExit; SetMainCallback2(CB2_LoadMap); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); break; } @@ -914,14 +914,14 @@ void ShowSecretBaseRegistryMenu(void) static void Task_ShowSecretBaseRegistryMenu(u8 taskId) { s16 *data = gTasks[taskId].data; - ScriptContext2_Enable(); + LockPlayerFieldControls(); tNumBases = GetNumRegisteredSecretBases(); if (tNumBases != 0) { tSelectedRow = 0; tScrollOffset = 0; - ClearDialogWindowAndFrame(0, 0); - sRegistryMenu = calloc(1, sizeof(*sRegistryMenu)); + ClearDialogWindowAndFrame(0, FALSE); + sRegistryMenu = AllocZeroed(sizeof(*sRegistryMenu)); tMainWindowId = AddWindow(&sRegistryWindowTemplates[0]); BuildRegistryMenuItems(taskId); FinalizeRegistryMenu(taskId); @@ -976,7 +976,7 @@ static void RegistryMenu_OnCursorMove(s32 unused, bool8 flag, struct ListMenu *m static void FinalizeRegistryMenu(u8 taskId) { s16 *data = gTasks[taskId].data; - SetStandardWindowBorderStyle(tMainWindowId, 0); + SetStandardWindowBorderStyle(tMainWindowId, FALSE); tListTaskId = ListMenuInit(&gMultiuseListMenuTemplate, tScrollOffset, tSelectedRow); AddRegistryMenuScrollArrows(taskId); ScheduleBgCopyTilemapToVram(0); @@ -1002,11 +1002,11 @@ static void HandleRegistryMenuInput(u8 taskId) PlaySE(SE_SELECT); DestroyListMenuTask(tListTaskId, NULL, NULL); RemoveScrollIndicatorArrowPair(tArrowTaskId); - ClearStdWindowAndFrame(tMainWindowId, 0); + ClearStdWindowAndFrame(tMainWindowId, FALSE); ClearWindowTilemap(tMainWindowId); RemoveWindow(tMainWindowId); ScheduleBgCopyTilemapToVram(0); - free(sRegistryMenu); + Free(sRegistryMenu); GoToSecretBasePCRegisterMenu(taskId); break; default: @@ -1025,7 +1025,7 @@ static void ShowRegistryMenuActions(u8 taskId) template = sRegistryWindowTemplates[1]; template.width = GetMaxWidthInMenuTable(sRegistryMenuActions, 2); tActionWindowId = AddWindow(&template); - SetStandardWindowBorderStyle(tActionWindowId, 0); + SetStandardWindowBorderStyle(tActionWindowId, FALSE); PrintMenuTable(tActionWindowId, ARRAY_COUNT(sRegistryMenuActions), sRegistryMenuActions); InitMenuInUpperLeftCornerNormal(tActionWindowId, ARRAY_COUNT(sRegistryMenuActions), 0); ScheduleBgCopyTilemapToVram(0); @@ -1073,7 +1073,7 @@ static void ShowRegistryMenuDeleteYesNo(u8 taskId) void DeleteRegistry_Yes_Callback(u8 taskId) { s16 *data = gTasks[taskId].data; - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); DestroyListMenuTask(tListTaskId, &tScrollOffset, &tSelectedRow); gSaveBlock1Ptr->secretBases[tSelectedBaseId].registryStatus = UNREGISTERED; BuildRegistryMenuItems(taskId); @@ -1090,7 +1090,7 @@ static void DeleteRegistry_Yes(u8 taskId) static void DeleteRegistry_No(u8 taskId) { s16 *data = gTasks[taskId].data; - ClearDialogWindowAndFrame(0, 0); + ClearDialogWindowAndFrame(0, FALSE); DestroyListMenuTask(tListTaskId, &tScrollOffset, &tSelectedRow); FinalizeRegistryMenu(taskId); gTasks[taskId].func = HandleRegistryMenuInput; @@ -1100,7 +1100,7 @@ static void ReturnToMainRegistryMenu(u8 taskId) { s16 *data = gTasks[taskId].data; AddRegistryMenuScrollArrows(taskId); - ClearStdWindowAndFrame(tActionWindowId, 0); + ClearStdWindowAndFrame(tActionWindowId, FALSE); ClearWindowTilemap(tActionWindowId); RemoveWindow(tActionWindowId); ScheduleBgCopyTilemapToVram(0); @@ -1110,9 +1110,9 @@ static void ReturnToMainRegistryMenu(u8 taskId) static void GoToSecretBasePCRegisterMenu(u8 taskId) { if (VarGet(VAR_CURRENT_SECRET_BASE) == 0) - ScriptContext1_SetupScript(SecretBase_EventScript_PCCancel); + ScriptContext_SetupScript(SecretBase_EventScript_PCCancel); else - ScriptContext1_SetupScript(SecretBase_EventScript_ShowRegisterMenu); + ScriptContext_SetupScript(SecretBase_EventScript_ShowRegisterMenu); DestroyTask(taskId); } diff --git a/src/shop.c b/src/shop.c index 700a53e37a..451fa171cb 100755 --- a/src/shop.c +++ b/src/shop.c @@ -63,7 +63,7 @@ static void BuyMenuBuildListMenuTemplate(void); static void BuyMenuInitBgs(void); static void BuyMenuInitWindows(void); static void BuyMenuDecompressBgGraphics(void); -static void BuyMenuSetListEntry(struct ListMenuItem*, u16, u8*); +static void BuyMenuSetListEntry(struct ListMenuItem *, u16, u8 *); static void BuyMenuAddItemIcon(u16, u8); static void BuyMenuRemoveItemIcon(u16, u8); static void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 colorSet); @@ -73,7 +73,7 @@ static void BuyMenuCollectObjectEventData(void); static void BuyMenuDrawObjectEvents(void); static void BuyMenuDrawMapBg(void); static bool8 BuyMenuCheckForOverlapWithMenuBg(int, int); -static void BuyMenuDrawMapMetatile(s16, s16, const u16*, u8); +static void BuyMenuDrawMapMetatile(s16, s16, const u16 *, u8); static void BuyMenuDrawMapMetatileLayer(u16 *dest, s16 offset1, s16 offset2, const u16 *src); static bool8 BuyMenuCheckIfObjectEventOverlapsMenuBg(s16 *); static void ExitBuyMenu(u8 taskId); @@ -277,7 +277,7 @@ static u8 CreateShopMenu(u8 martType) { int numMenuItems; - ScriptContext2_Enable(); + LockPlayerFieldControls(); sMartInfo.martType = martType; if (martType == MART_TYPE_NORMAL) @@ -299,7 +299,7 @@ static u8 CreateShopMenu(u8 martType) numMenuItems = ARRAY_COUNT(sShopMenuActions_BuyQuit); } - SetStandardWindowBorderStyle(sMartInfo.windowId, 0); + SetStandardWindowBorderStyle(sMartInfo.windowId, FALSE); PrintMenuTable(sMartInfo.windowId, numMenuItems, sMartInfo.menuActions); InitMenuInUpperLeftCornerNormal(sMartInfo.windowId, numMenuItems, 0); PutWindowTilemap(sMartInfo.windowId); @@ -370,10 +370,10 @@ void CB2_ExitSellMenu(void) static void Task_HandleShopMenuQuit(u8 taskId) { - ClearStdWindowAndFrameToTransparent(sMartInfo.windowId, 2); + ClearStdWindowAndFrameToTransparent(sMartInfo.windowId, 2); // Incorrect use, making it not copy it to vram. RemoveWindow(sMartInfo.windowId); TryPutSmartShopperOnAir(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); DestroyTask(taskId); if (sMartInfo.callback) @@ -747,11 +747,11 @@ static void BuyMenuDrawMapBg(void) if (metatile < NUM_METATILES_IN_PRIMARY) { - BuyMenuDrawMapMetatile(i, j, (u16*)mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType); + BuyMenuDrawMapMetatile(i, j, (u16 *)mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType); } else { - BuyMenuDrawMapMetatile(i, j, (u16*)mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType); + BuyMenuDrawMapMetatile(i, j, (u16 *)mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType); } } } @@ -1022,8 +1022,8 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId) if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - ClearStdWindowAndFrameToTransparent(4, 0); - ClearStdWindowAndFrameToTransparent(3, 0); + ClearStdWindowAndFrameToTransparent(4, FALSE); + ClearStdWindowAndFrameToTransparent(3, FALSE); ClearWindowTilemap(4); ClearWindowTilemap(3); PutWindowTilemap(1); @@ -1035,8 +1035,8 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId) else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); - ClearStdWindowAndFrameToTransparent(4, 0); - ClearStdWindowAndFrameToTransparent(3, 0); + ClearStdWindowAndFrameToTransparent(4, FALSE); + ClearStdWindowAndFrameToTransparent(3, FALSE); ClearWindowTilemap(4); ClearWindowTilemap(3); BuyMenuReturnToItemList(taskId); @@ -1131,7 +1131,7 @@ static void BuyMenuReturnToItemList(u8 taskId) { s16 *data = gTasks[taskId].data; - ClearDialogWindowAndFrameToTransparent(5, 0); + ClearDialogWindowAndFrameToTransparent(5, FALSE); BuyMenuPrintCursor(tListTaskId, 1); PutWindowTilemap(1); PutWindowTilemap(2); @@ -1210,19 +1210,19 @@ void CreatePokemartMenu(const u16 *itemsForSale) CreateShopMenu(MART_TYPE_NORMAL); SetShopItemsForSale(itemsForSale); ClearItemPurchases(); - SetShopMenuCallback(EnableBothScriptContexts); + SetShopMenuCallback(ScriptContext_Enable); } void CreateDecorationShop1Menu(const u16 *itemsForSale) { CreateShopMenu(MART_TYPE_DECOR); SetShopItemsForSale(itemsForSale); - SetShopMenuCallback(EnableBothScriptContexts); + SetShopMenuCallback(ScriptContext_Enable); } void CreateDecorationShop2Menu(const u16 *itemsForSale) { CreateShopMenu(MART_TYPE_DECOR2); SetShopItemsForSale(itemsForSale); - SetShopMenuCallback(EnableBothScriptContexts); + SetShopMenuCallback(ScriptContext_Enable); } diff --git a/src/slot_machine.c b/src/slot_machine.c index cb6a380d67..3b82afde19 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -605,7 +605,7 @@ static bool8 IsReelTimeSmokeAnimFinished(void); static void DestroyReelTimeSmokeSprite(void); static u8 CreatePikaPowerBoltSprite(s16, s16); static void DestroyPikaPowerBoltSprite(u8); -static u8 CreateDigitalDisplaySprite(u8, void (*callback)(struct Sprite*), s16, s16, s16); +static u8 CreateDigitalDisplaySprite(u8, void (*callback)(struct Sprite *), s16, s16, s16); static void LoadSlotMachineGfx(void); static void LoadReelBackground(void); static void LoadMenuGfx(void); @@ -1880,7 +1880,7 @@ static u8 TrySelectBias_Regular(void) { s16 rval = Random() & 0xff; s16 value = sBiasProbabilities_Regular[whichBias][sSlotMachine->machineId]; - + // Boost odds of BIAS_POWER if it's a lucky game. if (whichBias == 0 && sSlotMachine->luckyGame == TRUE) { @@ -3668,7 +3668,7 @@ static void ReelTime_CheckExplode(struct Task *task) if (sSlotMachine->reelTimeDraw) { if (sSlotMachine->reelTimeSpinsLeft <= task->tExplodeChecks) - task->tState++; // RT_TASK_LAND + task->tState++; // RT_TASK_LAND } else if (task->tExplodeChecks > 3) { @@ -5309,7 +5309,7 @@ static const u8 sSpecialDrawOdds[NUM_SLOT_MACHINE_IDS][MAX_BET] = { }; static const u8 sBiasProbabilities_Special[][NUM_SLOT_MACHINE_IDS] = { - { + { // Probabilities for BIAS_STRAIGHT_7 [SLOT_MACHINE_UNLUCKIEST] = 25, [SLOT_MACHINE_UNLUCKIER] = 25, @@ -5318,7 +5318,7 @@ static const u8 sBiasProbabilities_Special[][NUM_SLOT_MACHINE_IDS] = { [SLOT_MACHINE_LUCKIER] = 40, [SLOT_MACHINE_LUCKIEST] = 50 }, - { + { // Probabilities for BIAS_REELTIME [SLOT_MACHINE_UNLUCKIEST] = 25, [SLOT_MACHINE_UNLUCKIER] = 25, @@ -5327,7 +5327,7 @@ static const u8 sBiasProbabilities_Special[][NUM_SLOT_MACHINE_IDS] = { [SLOT_MACHINE_LUCKIER] = 35, [SLOT_MACHINE_LUCKIEST] = 35 }, - { + { // Probabilities for BIAS_MIXED_7 [SLOT_MACHINE_UNLUCKIEST] = 25, [SLOT_MACHINE_UNLUCKIER] = 25, @@ -5339,7 +5339,7 @@ static const u8 sBiasProbabilities_Special[][NUM_SLOT_MACHINE_IDS] = { }; static const u8 sBiasProbabilities_Regular[][NUM_SLOT_MACHINE_IDS] = { - { + { // Probabilities for BIAS_POWER [SLOT_MACHINE_UNLUCKIEST] = 20, [SLOT_MACHINE_UNLUCKIER] = 25, @@ -5348,7 +5348,7 @@ static const u8 sBiasProbabilities_Regular[][NUM_SLOT_MACHINE_IDS] = { [SLOT_MACHINE_LUCKIER] = 25, [SLOT_MACHINE_LUCKIEST] = 25 }, - { + { // Probabilities for BIAS_AZURILL [SLOT_MACHINE_UNLUCKIEST] = 12, [SLOT_MACHINE_UNLUCKIER] = 15, @@ -5357,7 +5357,7 @@ static const u8 sBiasProbabilities_Regular[][NUM_SLOT_MACHINE_IDS] = { [SLOT_MACHINE_LUCKIER] = 19, [SLOT_MACHINE_LUCKIEST] = 22 }, - { + { // Probabilities for BIAS_LOTAD [SLOT_MACHINE_UNLUCKIEST] = 25, [SLOT_MACHINE_UNLUCKIER] = 25, @@ -5366,7 +5366,7 @@ static const u8 sBiasProbabilities_Regular[][NUM_SLOT_MACHINE_IDS] = { [SLOT_MACHINE_LUCKIER] = 30, [SLOT_MACHINE_LUCKIEST] = 40 }, - { + { // Probabilities for BIAS_CHERRY [SLOT_MACHINE_UNLUCKIEST] = 25, [SLOT_MACHINE_UNLUCKIER] = 25, @@ -5375,7 +5375,7 @@ static const u8 sBiasProbabilities_Regular[][NUM_SLOT_MACHINE_IDS] = { [SLOT_MACHINE_LUCKIER] = 15, [SLOT_MACHINE_LUCKIEST] = 15 }, - { + { // Probabilities for BIAS_REPLAY [SLOT_MACHINE_UNLUCKIEST] = 40, [SLOT_MACHINE_UNLUCKIER] = 40, @@ -5672,7 +5672,7 @@ static const struct OamData sOam_8x8 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, @@ -5689,7 +5689,7 @@ static const struct OamData sOam_8x16 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), .x = 0, @@ -5706,7 +5706,7 @@ static const struct OamData sOam_16x16 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -5723,7 +5723,7 @@ static const struct OamData sOam_16x32 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), .x = 0, @@ -5740,7 +5740,7 @@ static const struct OamData sOam_32x32 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -5757,7 +5757,7 @@ static const struct OamData sOam_32x64 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x64), .x = 0, @@ -5774,7 +5774,7 @@ static const struct OamData sOam_64x32 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -5791,7 +5791,7 @@ static const struct OamData sOam_64x64 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, diff --git a/src/sound.c b/src/sound.c index ad9993b546..15ebee8312 100644 --- a/src/sound.c +++ b/src/sound.c @@ -156,7 +156,8 @@ void FadeOutAndFadeInNewMapMusic(u16 songNum, u8 fadeOutSpeed, u8 fadeInSpeed) sMapMusicFadeInSpeed = fadeInSpeed; } -void FadeInNewMapMusic(u16 songNum, u8 speed) +// Unused +static void FadeInNewMapMusic(u16 songNum, u8 speed) { FadeInNewBGM(songNum, speed); sCurrentMapMusic = songNum; @@ -376,7 +377,7 @@ void PlayCryInternal(u16 species, s8 pan, s8 volume, u8 priority, u8 mode) u8 table; species--; - + // Set default values // May be overridden depending on mode. length = 140; diff --git a/src/start_menu.c b/src/start_menu.c index 11189ee831..2a45f8d69c 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -139,7 +139,7 @@ static bool8 FieldCB_ReturnToFieldStartMenu(void); static const struct WindowTemplate sSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8}; -static const u8* const sPyramidFloorNames[FRONTIER_STAGES_PER_CHALLENGE + 1] = +static const u8 *const sPyramidFloorNames[FRONTIER_STAGES_PER_CHALLENGE + 1] = { gText_Floor1, gText_Floor2, @@ -156,19 +156,19 @@ static const struct WindowTemplate sPyramidFloorWindowTemplate_1 = {0, 1, 1, 0xC static const struct MenuAction sStartMenuItems[] = { - {gText_MenuPokedex, {.u8_void = StartMenuPokedexCallback}}, - {gText_MenuPokemon, {.u8_void = StartMenuPokemonCallback}}, - {gText_MenuBag, {.u8_void = StartMenuBagCallback}}, - {gText_MenuPokenav, {.u8_void = StartMenuPokeNavCallback}}, - {gText_MenuPlayer, {.u8_void = StartMenuPlayerNameCallback}}, - {gText_MenuSave, {.u8_void = StartMenuSaveCallback}}, - {gText_MenuOption, {.u8_void = StartMenuOptionCallback}}, - {gText_MenuExit, {.u8_void = StartMenuExitCallback}}, - {gText_MenuRetire, {.u8_void = StartMenuSafariZoneRetireCallback}}, - {gText_MenuPlayer, {.u8_void = StartMenuLinkModePlayerNameCallback}}, - {gText_MenuRest, {.u8_void = StartMenuSaveCallback}}, - {gText_MenuRetire, {.u8_void = StartMenuBattlePyramidRetireCallback}}, - {gText_MenuBag, {.u8_void = StartMenuBattlePyramidBagCallback}} + [MENU_ACTION_POKEDEX] = {gText_MenuPokedex, {.u8_void = StartMenuPokedexCallback}}, + [MENU_ACTION_POKEMON] = {gText_MenuPokemon, {.u8_void = StartMenuPokemonCallback}}, + [MENU_ACTION_BAG] = {gText_MenuBag, {.u8_void = StartMenuBagCallback}}, + [MENU_ACTION_POKENAV] = {gText_MenuPokenav, {.u8_void = StartMenuPokeNavCallback}}, + [MENU_ACTION_PLAYER] = {gText_MenuPlayer, {.u8_void = StartMenuPlayerNameCallback}}, + [MENU_ACTION_SAVE] = {gText_MenuSave, {.u8_void = StartMenuSaveCallback}}, + [MENU_ACTION_OPTION] = {gText_MenuOption, {.u8_void = StartMenuOptionCallback}}, + [MENU_ACTION_EXIT] = {gText_MenuExit, {.u8_void = StartMenuExitCallback}}, + [MENU_ACTION_RETIRE_SAFARI] = {gText_MenuRetire, {.u8_void = StartMenuSafariZoneRetireCallback}}, + [MENU_ACTION_PLAYER_LINK] = {gText_MenuPlayer, {.u8_void = StartMenuLinkModePlayerNameCallback}}, + [MENU_ACTION_REST_FRONTIER] = {gText_MenuRest, {.u8_void = StartMenuSaveCallback}}, + [MENU_ACTION_RETIRE_FRONTIER] = {gText_MenuRetire, {.u8_void = StartMenuBattlePyramidRetireCallback}}, + [MENU_ACTION_PYRAMID_BAG] = {gText_MenuBag, {.u8_void = StartMenuBattlePyramidBagCallback}} }; static const struct BgTemplate sBgTemplates_LinkBattleSave[] = @@ -535,7 +535,7 @@ void ShowReturnToFieldStartMenu(void) void Task_ShowStartMenu(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task *task = &gTasks[taskId]; switch(task->data[0]) { @@ -562,7 +562,7 @@ void ShowStartMenu(void) StopPlayerAvatar(); } CreateStartMenuTask(Task_ShowStartMenu); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } static bool8 HandleStartMenuInput(void) @@ -763,7 +763,7 @@ void ShowBattlePyramidStartMenu(void) ClearDialogWindowAndFrameToTransparent(0, FALSE); ScriptUnfreezeObjectEvents(); CreateStartMenuTask(Task_ShowStartMenu); - ScriptContext2_Enable(); + LockPlayerFieldControls(); } static bool8 StartMenuBattlePyramidBagCallback(void) @@ -804,7 +804,7 @@ static bool8 SaveCallback(void) case SAVE_ERROR: // Close start menu ClearDialogWindowAndFrameToTransparent(0, TRUE); ScriptUnfreezeObjectEvents(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); SoftResetInBattlePyramid(); return TRUE; } @@ -841,8 +841,8 @@ static bool8 BattlePyramidRetireCallback(void) case SAVE_CANCELED: // Yes (Retire from battle pyramid) ClearDialogWindowAndFrameToTransparent(0, TRUE); ScriptUnfreezeObjectEvents(); - ScriptContext2_Disable(); - ScriptContext1_SetupScript(BattlePyramid_Retire); + UnlockPlayerFieldControls(); + ScriptContext_SetupScript(BattlePyramid_Retire); return TRUE; } @@ -901,7 +901,7 @@ static void SaveGameTask(u8 taskId) } DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } static void HideSaveMessageWindow(void) @@ -1378,7 +1378,7 @@ static void Task_WaitForBattleTowerLinkSave(u8 taskId) if (!FuncIsActiveTask(Task_LinkFullSave)) { DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } } @@ -1398,7 +1398,7 @@ static void HideStartMenuWindow(void) ClearStdWindowAndFrame(GetStartMenuWindowId(), TRUE); RemoveStartMenuWindow(); ScriptUnfreezeObjectEvents(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); } void HideStartMenu(void) diff --git a/src/starter_choose.c b/src/starter_choose.c index 81a88e7714..cbe0c7ee61 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -160,7 +160,7 @@ static const struct OamData sOam_Hand = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -177,7 +177,7 @@ static const struct OamData sOam_Pokeball = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, @@ -194,7 +194,7 @@ static const struct OamData sOam_StarterCircle = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, diff --git a/src/strings.c b/src/strings.c index 492a9601d2..d2a82ada48 100644 --- a/src/strings.c +++ b/src/strings.c @@ -1186,7 +1186,7 @@ const u8 gText_PsychUp48BP[] = _("PSYCH UP{CLEAR_TO 0x4E}48BP"); const u8 gText_IcePunch48BP[] = _("ICE PUNCH{CLEAR_TO 0x4E}48BP"); const u8 gText_ThunderPunch48BP[] = _("THUNDERPUNCH{CLEAR_TO 0x4E}48BP"); const u8 gText_FirePunch48BP[] = _("FIRE PUNCH{CLEAR_TO 0x4E}48BP"); -const u8 gText_PkmnFainted3[] = _("{STR_VAR_1} fainted…\p\n"); +const u8 gText_PkmnFainted_FldPsn[] = _("{STR_VAR_1} fainted…\p\n"); const u8 gText_Marco[] = _("MARCO"); const u8 gText_TrainerCardName[] = _("NAME: "); const u8 gText_TrainerCardIDNo[] = _("IDNo."); diff --git a/src/time_events.c b/src/time_events.c index 3f56d3ab5e..cec6a44c34 100644 --- a/src/time_events.c +++ b/src/time_events.c @@ -95,7 +95,7 @@ static void Task_WaitWeather(u8 taskId) { if (IsWeatherChangeComplete()) { - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } } diff --git a/src/title_screen.c b/src/title_screen.c index d64ee6024f..689c96863d 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -105,7 +105,7 @@ static const struct OamData sVersionBannerLeftOamData = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_8BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -122,7 +122,7 @@ static const struct OamData sVersionBannerRightOamData = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_8BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, @@ -193,7 +193,7 @@ static const struct OamData sOamData_CopyrightBanner = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, @@ -305,7 +305,7 @@ static const struct OamData sPokemonLogoShineOamData = .y = DISPLAY_HEIGHT, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, @@ -634,7 +634,7 @@ static void MainCB2(void) static void Task_TitleScreenPhase1(u8 taskId) { // Skip to next phase when A, B, Start, or Select is pressed - if ((gMain.newKeys & A_B_START_SELECT) || gTasks[taskId].data[1] != 0) + if (JOY_NEW(A_B_START_SELECT) || gTasks[taskId].data[1] != 0) { gTasks[taskId].tSkipToNext = TRUE; gTasks[taskId].tCounter = 0; @@ -681,7 +681,7 @@ static void Task_TitleScreenPhase2(u8 taskId) u32 yPos; // Skip to next phase when A, B, Start, or Select is pressed - if ((gMain.newKeys & A_B_START_SELECT) || gTasks[taskId].tSkipToNext) + if (JOY_NEW(A_B_START_SELECT) || gTasks[taskId].tSkipToNext) { gTasks[taskId].tSkipToNext = TRUE; gTasks[taskId].tCounter = 0; diff --git a/src/trade.c b/src/trade.c index 25614c91ae..ba18e8d32c 100644 --- a/src/trade.c +++ b/src/trade.c @@ -2391,7 +2391,7 @@ s32 GetGameProgressForLinkTrade(void) s32 isGameFrLg; u16 version; - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { isGameFrLg = 0; version = (gLinkPlayers[GetMultiplayerId() ^ 1].version & 0xFF); @@ -2465,7 +2465,7 @@ int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct Rf else { // Player's Pokémon must be of the type the partner requested - if (gBaseStats[playerSpecies2].type1 != requestedType + if (gBaseStats[playerSpecies2].type1 != requestedType && gBaseStats[playerSpecies2].type2 != requestedType) return UR_TRADE_MSG_NOT_MON_PARTNER_WANTS; } @@ -4708,7 +4708,7 @@ static void CB2_SaveAndEndTrade(void) case 42: if (_IsLinkTaskFinished()) { - LinkFullSave_SetLastSectorSecurity(); + LinkFullSave_SetLastSectorSignature(); gMain.state = 5; } break; @@ -4794,7 +4794,7 @@ static void CB2_FreeTradeData(void) void DoInGameTradeScene(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); CreateTask(Task_InGameTrade, 10); BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); } @@ -4821,7 +4821,7 @@ static void CheckPartnersMonForRibbons(void) FlagSet(FLAG_SYS_RIBBON_GET); } -void InitTradeBg(void) +void LoadTradeAnimGfx(void) { InitTradeBgInternal(); } @@ -5012,7 +5012,7 @@ static void CB2_SaveAndEndWirelessTrade(void) case 8: if (_IsLinkTaskFinished()) { - LinkFullSave_SetLastSectorSecurity(); + LinkFullSave_SetLastSectorSignature(); gMain.state = 9; } break; diff --git a/src/trader.c b/src/trader.c index 040ee695b3..254d809458 100644 --- a/src/trader.c +++ b/src/trader.c @@ -109,7 +109,7 @@ void Task_BufferDecorSelectionAndCloseWindow(u8 taskId, u8 decorationId) RemoveWindow(tWindowId); ScheduleBgCopyTilemapToVram(0); DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } void Task_HandleGetDecorationMenuInput(u8 taskId) @@ -186,14 +186,14 @@ void DecorationItemsMenuAction_Trade(u8 taskId) gSpecialVar_0x8006 = 0xFFFF; } DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } void ExitTraderMenu(u8 taskId) { gSpecialVar_0x8006 = 0; DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } void TraderDoDecorationTrade(void) diff --git a/src/trainer_card.c b/src/trainer_card.c index 264f15742a..04b8f686ab 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -31,6 +31,7 @@ #include "constants/battle_frontier.h" #include "constants/rgb.h" #include "constants/trainers.h" +#include "constants/union_room.h" struct TrainerCardData { @@ -97,8 +98,8 @@ static void CloseTrainerCard(u8 task); static bool8 PrintAllOnCardFront(void); static void DrawTrainerCardWindow(u8); static void CreateTrainerCardTrainerPic(void); -static void DrawCardScreenBackground(u16*); -static void DrawCardFrontOrBack(u16*); +static void DrawCardScreenBackground(u16 *); +static void DrawCardFrontOrBack(u16 *); static void DrawStarsAndBadgesOnCard(void); static void PrintTimeOnCard(void); static void FlipTrainerCard(void); @@ -107,10 +108,10 @@ static bool8 LoadCardGfx(void); static void CB2_InitTrainerCard(void); static u32 GetCappedGameStat(u8 statId, u32 maxValue); static bool8 HasAllFrontierSymbols(void); -static u8 GetRubyTrainerStars(struct TrainerCard*); +static u8 GetRubyTrainerStars(struct TrainerCard *); static u16 GetCaughtMonsCount(void); -static void SetPlayerCardData(struct TrainerCard*, u8); -static void TrainerCard_GenerateCardForPlayer(struct TrainerCard*); +static void SetPlayerCardData(struct TrainerCard *, u8); +static void TrainerCard_GenerateCardForPlayer(struct TrainerCard *); static u8 VersionToCardType(u8); static void SetDataFromTrainerCard(void); static void InitGpuRegs(void); @@ -147,17 +148,17 @@ static void BufferUnionRoomStats(void); static void BufferLinkPokeblocksNum(void); static void BufferLinkContestNum(void); static void BufferBattleFacilityStats(void); -static void PrintStatOnBackOfCard(u8 top, const u8* str1, u8* str2, const u8* color); +static void PrintStatOnBackOfCard(u8 top, const u8 *str1, u8 *str2, const u8 *color); static void LoadStickerGfx(void); static u8 SetCardBgsAndPals(void); static void DrawCardBackStats(void); static void Task_DoCardFlipTask(u8); -static bool8 Task_BeginCardFlip(struct Task* task); -static bool8 Task_AnimateCardFlipDown(struct Task* task); -static bool8 Task_DrawFlippedCardSide(struct Task* task); -static bool8 Task_SetCardFlipped(struct Task* task); -static bool8 Task_AnimateCardFlipUp(struct Task* task); -static bool8 Task_EndCardFlip(struct Task* task); +static bool8 Task_BeginCardFlip(struct Task *task); +static bool8 Task_AnimateCardFlipDown(struct Task *task); +static bool8 Task_DrawFlippedCardSide(struct Task *task); +static bool8 Task_SetCardFlipped(struct Task *task); +static bool8 Task_AnimateCardFlipUp(struct Task *task); +static bool8 Task_EndCardFlip(struct Task *task); static void UpdateCardFlipRegs(u16); static void LoadMonIconGfx(void); @@ -496,7 +497,7 @@ static void Task_TrainerCard(u8 taskId) break; case STATE_WAIT_LINK_PARTNER: SetCloseLinkCallback(); - DrawDialogueFrame(0, 1); + DrawDialogueFrame(0, TRUE); AddTextPrinterParameterized(0, FONT_NORMAL, gText_WaitingTrainerFinishReading, 0, 1, 255, 0); CopyWindowToVram(0, COPYWIN_FULL); sData->mainState = STATE_CLOSE_CARD_LINK; @@ -761,9 +762,9 @@ static void TrainerCard_GenerateCardForPlayer(struct TrainerCard *trainerCard) trainerCard->stars++; if (trainerCard->gender == FEMALE) - trainerCard->facilityClass = gLinkPlayerFacilityClasses[(trainerCard->trainerId % NUM_FEMALE_LINK_FACILITY_CLASSES) + NUM_MALE_LINK_FACILITY_CLASSES]; + trainerCard->unionRoomClass = gUnionRoomFacilityClasses[(trainerCard->trainerId % NUM_UNION_ROOM_CLASSES) + NUM_UNION_ROOM_CLASSES]; else - trainerCard->facilityClass = gLinkPlayerFacilityClasses[trainerCard->trainerId % NUM_MALE_LINK_FACILITY_CLASSES]; + trainerCard->unionRoomClass = gUnionRoomFacilityClasses[trainerCard->trainerId % NUM_UNION_ROOM_CLASSES]; } void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard) @@ -772,14 +773,14 @@ void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard) trainerCard->version = GAME_VERSION; SetPlayerCardData(trainerCard, CARD_TYPE_EMERALD); trainerCard->linkHasAllFrontierSymbols = HasAllFrontierSymbols(); - *((u16*)&trainerCard->linkPoints.frontier) = gSaveBlock2Ptr->frontier.cardBattlePoints; + *((u16 *)&trainerCard->linkPoints.frontier) = gSaveBlock2Ptr->frontier.cardBattlePoints; if (trainerCard->linkHasAllFrontierSymbols) trainerCard->stars++; if (trainerCard->gender == FEMALE) - trainerCard->facilityClass = gLinkPlayerFacilityClasses[(trainerCard->trainerId % NUM_FEMALE_LINK_FACILITY_CLASSES) + NUM_MALE_LINK_FACILITY_CLASSES]; + trainerCard->unionRoomClass = gUnionRoomFacilityClasses[(trainerCard->trainerId % NUM_UNION_ROOM_CLASSES) + NUM_UNION_ROOM_CLASSES]; else - trainerCard->facilityClass = gLinkPlayerFacilityClasses[trainerCard->trainerId % NUM_MALE_LINK_FACILITY_CLASSES]; + trainerCard->unionRoomClass = gUnionRoomFacilityClasses[trainerCard->trainerId % NUM_UNION_ROOM_CLASSES]; } void CopyTrainerCardData(struct TrainerCard *dst, struct TrainerCard *src, u8 gameVersion) @@ -799,7 +800,7 @@ void CopyTrainerCardData(struct TrainerCard *dst, struct TrainerCard *src, u8 ga memcpy(dst, src, 0x60); dst->linkPoints.frontier = 0; dst->hasAllFrontierSymbols = src->linkHasAllFrontierSymbols; - dst->frontierBP = *((u16*)&src->linkPoints.frontier); + dst->frontierBP = *((u16 *)&src->linkPoints.frontier); break; } } @@ -996,7 +997,7 @@ static void BufferTextsVarsForCardPage2(void) static void PrintNameOnCardFront(void) { u8 buffer[32]; - u8* txtPtr; + u8 *txtPtr; txtPtr = StringCopy(buffer, gText_TrainerCardName); StringCopy(txtPtr, sData->trainerCard.playerName); ConvertInternationalString(txtPtr, sData->language); @@ -1009,7 +1010,7 @@ static void PrintNameOnCardFront(void) static void PrintIdOnCard(void) { u8 buffer[32]; - u8* txtPtr; + u8 *txtPtr; s32 xPos; u32 top; txtPtr = StringCopy(buffer, gText_TrainerCardIDNo); @@ -1186,7 +1187,7 @@ static void BufferHofDebutTime(void) } } -static void PrintStatOnBackOfCard(u8 top, const u8* statName, u8* stat, const u8* color) +static void PrintStatOnBackOfCard(u8 top, const u8 *statName, u8 *stat, const u8 *color) { static const u8 xOffsets[] = {8, 16}; static const u8 widths[] = {216, 216}; @@ -1471,7 +1472,7 @@ static void DrawCardScreenBackground(u16 *ptr) CopyBgTilemapBufferToVram(2); } -static void DrawCardFrontOrBack(u16* ptr) +static void DrawCardFrontOrBack(u16 *ptr) { s16 i, j; u16 *dst = sData->cardTilemapBuffer; @@ -1570,7 +1571,7 @@ static void BlinkTimeColon(void) u8 GetTrainerCardStars(u8 cardId) { - struct TrainerCard* trainerCards = gTrainerCards; + struct TrainerCard *trainerCards = gTrainerCards; return trainerCards[cardId].stars; } @@ -1598,7 +1599,7 @@ static void Task_DoCardFlipTask(u8 taskId) ; } -static bool8 Task_BeginCardFlip(struct Task* task) +static bool8 Task_BeginCardFlip(struct Task *task) { u32 i; @@ -1615,7 +1616,7 @@ static bool8 Task_BeginCardFlip(struct Task* task) // Note: Cannot be DISPLAY_HEIGHT / 2, or cardHeight will be 0 #define CARD_FLIP_Y ((DISPLAY_HEIGHT / 2) - 3) -static bool8 Task_AnimateCardFlipDown(struct Task* task) +static bool8 Task_AnimateCardFlipDown(struct Task *task) { u32 cardHeight, r5, r10, cardTop, r6, var_24, cardBottom, var; s16 i; @@ -1660,7 +1661,7 @@ static bool8 Task_AnimateCardFlipDown(struct Task* task) return FALSE; } -static bool8 Task_DrawFlippedCardSide(struct Task* task) +static bool8 Task_DrawFlippedCardSide(struct Task *task) { sData->allowDMACopy = FALSE; if (Overworld_IsRecvQueueAtMax() == TRUE) @@ -1714,7 +1715,7 @@ static bool8 Task_DrawFlippedCardSide(struct Task* task) return FALSE; } -static bool8 Task_SetCardFlipped(struct Task* task) +static bool8 Task_SetCardFlipped(struct Task *task) { sData->allowDMACopy = FALSE; @@ -1734,7 +1735,7 @@ static bool8 Task_SetCardFlipped(struct Task* task) return FALSE; } -static bool8 Task_AnimateCardFlipUp(struct Task* task) +static bool8 Task_AnimateCardFlipUp(struct Task *task) { u32 cardHeight, r5, r10, cardTop, r6, var_24, cardBottom, var; s16 i; @@ -1876,7 +1877,7 @@ static void CreateTrainerCardTrainerPic(void) { if (InUnionRoom() == TRUE && gReceivedRemoteLinkPlayers == 1) { - CreateTrainerCardTrainerPicSprite(FacilityClassToPicIndex(sData->trainerCard.facilityClass), + CreateTrainerCardTrainerPicSprite(FacilityClassToPicIndex(sData->trainerCard.unionRoomClass), TRUE, sTrainerPicOffset[sData->isHoenn][sData->trainerCard.gender][0], sTrainerPicOffset[sData->isHoenn][sData->trainerCard.gender][1], diff --git a/src/trainer_hill.c b/src/trainer_hill.c index dad6b97ea3..ad4a84947a 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -36,7 +36,7 @@ struct FloorTrainers { - u8 name[HILL_TRAINERS_PER_FLOOR][HILL_TRAINER_NAME_LENGTH]; + u8 name[HILL_TRAINERS_PER_FLOOR][TRAINER_NAME_LENGTH + 1]; u8 facilityClass[HILL_TRAINERS_PER_FLOOR]; }; @@ -165,30 +165,30 @@ static const u16 sPrizeListAttract[] = {ITEM_TM45_ATTRACT, ITEM_ETHER, I static const u16 *const sPrizeLists1[NUM_TRAINER_HILL_PRIZE_LISTS] = { - sPrizeListRareCandy1, - sPrizeListLuxuryBall1, - sPrizeListMaxRevive1, - sPrizeListMaxEther1, - sPrizeListElixir1, - sPrizeListRoar, - sPrizeListSludgeBomb, - sPrizeListToxic, - sPrizeListSunnyDay, - sPrizeListEarthQuake + sPrizeListRareCandy1, + sPrizeListLuxuryBall1, + sPrizeListMaxRevive1, + sPrizeListMaxEther1, + sPrizeListElixir1, + sPrizeListRoar, + sPrizeListSludgeBomb, + sPrizeListToxic, + sPrizeListSunnyDay, + sPrizeListEarthQuake }; static const u16 *const sPrizeLists2[NUM_TRAINER_HILL_PRIZE_LISTS] = { - sPrizeListRareCandy2, - sPrizeListLuxuryBall2, - sPrizeListMaxRevive2, - sPrizeListMaxEther2, - sPrizeListElixir2, - sPrizeListBrickBreak, - sPrizeListTorment, - sPrizeListSkillSwap, - sPrizeListGigaDrain, - sPrizeListAttract + sPrizeListRareCandy2, + sPrizeListLuxuryBall2, + sPrizeListMaxRevive2, + sPrizeListMaxEther2, + sPrizeListElixir2, + sPrizeListBrickBreak, + sPrizeListTorment, + sPrizeListSkillSwap, + sPrizeListGigaDrain, + sPrizeListAttract }; static const u16 *const *const sPrizeListSets[] = @@ -305,7 +305,7 @@ void GetTrainerHillTrainerName(u8 *dst, u16 trainerId) s32 i; u8 id = trainerId - 1; - for (i = 0; i < HILL_TRAINER_NAME_LENGTH; i++) + for (i = 0; i < TRAINER_NAME_LENGTH + 1; i++) dst[i] = sFloorTrainers->name[id][i]; } @@ -330,7 +330,7 @@ void InitTrainerHillBattleStruct(void) for (i = 0; i < HILL_TRAINERS_PER_FLOOR; i++) { - for (j = 0; j < HILL_TRAINER_NAME_LENGTH; j++) + for (j = 0; j < TRAINER_NAME_LENGTH + 1; j++) sFloorTrainers->name[i][j] = sHillData->floors[sHillData->floorId].trainers[i].name[j]; sFloorTrainers->facilityClass[i] = sHillData->floors[sHillData->floorId].trainers[i].facilityClass; diff --git a/src/trainer_see.c b/src/trainer_see.c index dc6c3b9177..b333e03241 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -115,7 +115,7 @@ static const struct OamData sOamData_Icons = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, + .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, @@ -660,7 +660,7 @@ void DoTrainerApproach(void) static void Task_EndTrainerApproach(u8 taskId) { DestroyTask(taskId); - EnableBothScriptContexts(); + ScriptContext_Enable(); } void TryPrepareSecondApproachingTrainer(void) diff --git a/src/tv.c b/src/tv.c index 2f3d17ee28..b32881d090 100644 --- a/src/tv.c +++ b/src/tv.c @@ -2058,7 +2058,7 @@ static void SecretBaseVisit_CalculatePartyData(TVShow *show) { sTV_SecretBaseVisitMonsTemp[numPokemon].level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); sTV_SecretBaseVisitMonsTemp[numPokemon].species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES); - + // Check all the Pokémon's moves, then randomly select one to save numMoves = 0; move = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1); @@ -2093,7 +2093,7 @@ static void SecretBaseVisit_CalculatePartyData(TVShow *show) for (i = 0, sum = 0; i < numPokemon; i++) sum += sTV_SecretBaseVisitMonsTemp[i].level; - // Using the data calculated above, save the data to talk about on the show + // Using the data calculated above, save the data to talk about on the show // (average level, and one randomly selected species / move) show->secretBaseVisit.avgLevel = sum / numPokemon; j = Random() % numPokemon; @@ -2643,7 +2643,7 @@ void DoPokeNews(void) // News event is upcoming, make comment about countdown to event u16 dayCountdown = gSaveBlock1Ptr->pokeNews[i].dayCountdown; ConvertIntToDecimalStringN(gStringVar1, dayCountdown, STR_CONV_MODE_LEFT_ALIGN, 1); - + // Mark as inactive so the countdown TV airing doesn't repeat // Will be flagged as "upcoming" again by UpdatePokeNewsCountdown gSaveBlock1Ptr->pokeNews[i].state = POKENEWS_STATE_INACTIVE; @@ -2848,7 +2848,7 @@ static bool8 IsRecordMixShowAlreadySpawned(u8 kind, bool8 delete) static void SortPurchasesByQuantity(void) { u8 i, j; - + for (i = 0; i < SMARTSHOPPER_NUM_ITEMS - 1; i++) { for (j = i + 1; j < SMARTSHOPPER_NUM_ITEMS; j++) @@ -3450,7 +3450,7 @@ void ReceiveTvShowsData(void *src, u32 size, u8 playersLinkId) TVShow (*rmBuffer2)[MAX_LINK_PLAYERS][TV_SHOWS_COUNT]; TVShow (*rmBuffer)[MAX_LINK_PLAYERS][TV_SHOWS_COUNT]; - rmBuffer2 = malloc(MAX_LINK_PLAYERS * TV_SHOWS_COUNT * sizeof(TVShow)); + rmBuffer2 = Alloc(MAX_LINK_PLAYERS * TV_SHOWS_COUNT * sizeof(TVShow)); if (rmBuffer2 != NULL) { for (i = 0; i < MAX_LINK_PLAYERS; i++) @@ -3488,7 +3488,7 @@ void ReceiveTvShowsData(void *src, u32 size, u8 playersLinkId) CompactTVShowArray(gSaveBlock1Ptr->tvShows); DeactivateShowsWithUnseenSpecies(); DeactivateGameCompleteShowsIfNotUnlocked(); - free(rmBuffer2); + Free(rmBuffer2); } } @@ -3835,7 +3835,7 @@ void ReceivePokeNewsData(void *src, u32 size, u8 playersLinkId) PokeNews (*rmBuffer2)[MAX_LINK_PLAYERS][POKE_NEWS_COUNT]; PokeNews (*rmBuffer)[MAX_LINK_PLAYERS][POKE_NEWS_COUNT]; - rmBuffer2 = malloc(MAX_LINK_PLAYERS * POKE_NEWS_COUNT * sizeof(PokeNews)); + rmBuffer2 = Alloc(MAX_LINK_PLAYERS * POKE_NEWS_COUNT * sizeof(PokeNews)); if (rmBuffer2 != NULL) { for (i = 0; i < MAX_LINK_PLAYERS; i++) @@ -3861,7 +3861,7 @@ void ReceivePokeNewsData(void *src, u32 size, u8 playersLinkId) } ClearInvalidPokeNews(); ClearPokeNewsIfGameNotComplete(); - free(rmBuffer2); + Free(rmBuffer2); } } @@ -3966,7 +3966,7 @@ static void TranslateShowNames(TVShow *show, u32 language) int i; TVShow **shows; - shows = calloc(11, sizeof(TVShow *)); + shows = AllocZeroed(sizeof(TVShow *) * 11); for (i = 0; i < LAST_TVSHOW_IDX; i++) { switch (show[i].common.kind) @@ -4023,7 +4023,7 @@ static void TranslateShowNames(TVShow *show, u32 language) break; } } - free(shows); + Free(shows); } void SanitizeTVShowsForRuby(TVShow *shows) diff --git a/src/union_room.c b/src/union_room.c index 05b41a0880..b47ddb41c0 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -275,7 +275,7 @@ static s32 IsRequestedTypeOrEggInPlayerParty(u32, u32); static bool32 UR_PrintFieldMessage(const u8 *); static s32 GetChatLeaderActionRequestMessage(u8 *, u32, u16 *, struct WirelessLink_URoom *); static void Task_InitUnionRoom(u8 taskId); -static bool8 ArePlayersDifferent(struct RfuPlayerData*, const struct RfuPlayerData*); +static bool8 ArePlayersDifferent(struct RfuPlayerData *, const struct RfuPlayerData *); static void ItemPrintFunc_PossibleGroupMembers(u8, u32, u8); static void ListMenuItemPrintFunc_UnionRoomGroups(u8, u32, u8); static void TradeBoardListMenuItemPrintFunc(u8, u32, u8); @@ -289,19 +289,19 @@ static void PrintNumPlayersWaitingForMsg(u8 windowId, u8 capacityCode, u8 string switch (capacityCode << 8) { case LINK_GROUP_CAPACITY(0, 2): - PrintUnionRoomText(windowId, 1, sPlayersNeededOrModeTexts[0][stringId - 1], 0, 1, UR_COLOR_DEFAULT); + PrintUnionRoomText(windowId, FONT_NORMAL, sPlayersNeededOrModeTexts[0][stringId - 1], 0, 1, UR_COLOR_DEFAULT); break; case LINK_GROUP_CAPACITY(0, 4): - PrintUnionRoomText(windowId, 1, sPlayersNeededOrModeTexts[1][stringId - 1], 0, 1, UR_COLOR_DEFAULT); + PrintUnionRoomText(windowId, FONT_NORMAL, sPlayersNeededOrModeTexts[1][stringId - 1], 0, 1, UR_COLOR_DEFAULT); break; case LINK_GROUP_CAPACITY(2, 5): - PrintUnionRoomText(windowId, 1, sPlayersNeededOrModeTexts[2][stringId - 1], 0, 1, UR_COLOR_DEFAULT); + PrintUnionRoomText(windowId, FONT_NORMAL, sPlayersNeededOrModeTexts[2][stringId - 1], 0, 1, UR_COLOR_DEFAULT); break; case LINK_GROUP_CAPACITY(3, 5): - PrintUnionRoomText(windowId, 1, sPlayersNeededOrModeTexts[3][stringId - 1], 0, 1, UR_COLOR_DEFAULT); + PrintUnionRoomText(windowId, FONT_NORMAL, sPlayersNeededOrModeTexts[3][stringId - 1], 0, 1, UR_COLOR_DEFAULT); break; case LINK_GROUP_CAPACITY(2, 4): - PrintUnionRoomText(windowId, 1, sPlayersNeededOrModeTexts[4][stringId - 1], 0, 1, UR_COLOR_DEFAULT); + PrintUnionRoomText(windowId, FONT_NORMAL, sPlayersNeededOrModeTexts[4][stringId - 1], 0, 1, UR_COLOR_DEFAULT); break; } @@ -313,10 +313,10 @@ static void PrintPlayerNameAndIdOnWindow(u8 windowId) u8 text[30]; u8 *txtPtr; - PrintUnionRoomText(windowId, 1, gSaveBlock2Ptr->playerName, 0, 1, UR_COLOR_DEFAULT); + PrintUnionRoomText(windowId, FONT_NORMAL, gSaveBlock2Ptr->playerName, 0, 1, UR_COLOR_DEFAULT); txtPtr = StringCopy(text, sText_ID); ConvertIntToDecimalStringN(txtPtr, ReadAsU16(gSaveBlock2Ptr->playerTrainerId), STR_CONV_MODE_LEADING_ZEROS, 5); - PrintUnionRoomText(windowId, 1, text, 0, 17, UR_COLOR_DEFAULT); + PrintUnionRoomText(windowId, FONT_NORMAL, text, 0, 17, UR_COLOR_DEFAULT); } static void GetAwaitingCommunicationText(u8 *dst, u8 caseId) @@ -378,7 +378,7 @@ void TryBecomeLinkLeader(void) struct WirelessLink_Leader *data; taskId = CreateTask(Task_TryBecomeLinkLeader, 0); - sWirelessLinkMain.leader = data = (void*)(gTasks[taskId].data); + sWirelessLinkMain.leader = data = (void *)(gTasks[taskId].data); sLeader = data; data->state = LL_STATE_INIT; @@ -431,7 +431,7 @@ static void Task_TryBecomeLinkLeader(u8 taskId) data->nPlayerModeWindowId = AddWindow(&sWindowTemplate_NumPlayerMode); FillWindowPixelBuffer(data->bButtonCancelWindowId, PIXEL_FILL(2)); - PrintUnionRoomText(data->bButtonCancelWindowId, 0, sText_BButtonCancel, 8, 1, UR_COLOR_CANCEL); + PrintUnionRoomText(data->bButtonCancelWindowId, FONT_SMALL, sText_BButtonCancel, 8, 1, UR_COLOR_CANCEL); PutWindowTilemap(data->bButtonCancelWindowId); CopyWindowToVram(data->bButtonCancelWindowId, COPYWIN_GFX); @@ -686,12 +686,12 @@ static void Task_TryBecomeLinkLeader(u8 taskId) data->state++; // LL_STATE_RETRY or LL_STATE_FAILED break; case LL_STATE_FAILED: - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); gSpecialVar_Result = LINKUP_FAILED; break; case LL_STATE_RETRY: - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); gSpecialVar_Result = LINKUP_RETRY_ROLE_ASSIGN; break; @@ -702,7 +702,7 @@ static void Task_TryBecomeLinkLeader(u8 taskId) } else { - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { if (IsActivityWithVariableGroupSize(gPlayerCurrActivity)) GetOtherPlayersInfoFlags(); @@ -971,7 +971,7 @@ void TryJoinLinkGroup(void) struct WirelessLink_Group *data; taskId = CreateTask(Task_TryJoinLinkGroup, 0); - sWirelessLinkMain.group = data = (void*)(gTasks[taskId].data); + sWirelessLinkMain.group = data = (void *)(gTasks[taskId].data); sGroup = data; data->state = LG_STATE_INIT; @@ -1011,7 +1011,7 @@ static void Task_TryJoinLinkGroup(u8 taskId) data->playerNameAndIdWindowId = AddWindow(&sWindowTemplate_PlayerNameAndId); FillWindowPixelBuffer(data->bButtonCancelWindowId, PIXEL_FILL(2)); - PrintUnionRoomText(data->bButtonCancelWindowId, 0, sText_ChooseJoinCancel, 8, 1, UR_COLOR_CANCEL); + PrintUnionRoomText(data->bButtonCancelWindowId, FONT_SMALL, sText_ChooseJoinCancel, 8, 1, UR_COLOR_CANCEL); PutWindowTilemap(data->bButtonCancelWindowId); CopyWindowToVram(data->bButtonCancelWindowId, COPYWIN_GFX); @@ -1297,7 +1297,7 @@ u8 CreateTask_ListenToWireless(void) struct WirelessLink_Group *data; taskId = CreateTask(Task_ListenToWireless, 0); - sWirelessLinkMain.group = data = (void*)(gTasks[taskId].data); + sWirelessLinkMain.group = data = (void *)(gTasks[taskId].data); data->state = 0; data->textState = 0; @@ -1487,7 +1487,7 @@ static void Task_StartUnionRoomTrade(u8 taskId) case 1: if (GetBlockReceivedStatus() == 3) { - gEnemyParty[0] = *(struct Pokemon*)(gBlockRecvBuffer[GetMultiplayerId() ^ 1]); + gEnemyParty[0] = *(struct Pokemon *)(gBlockRecvBuffer[GetMultiplayerId() ^ 1]); IncrementGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES); ResetBlockReceivedFlags(); gTasks[taskId].data[0]++; @@ -1744,13 +1744,13 @@ static void Task_StartActivity(u8 taskId) DestroyTask(taskId); gSpecialVar_Result = LINKUP_SUCCESS; if (gPlayerCurrActivity != (ACTIVITY_TRADE | IN_UNION_ROOM)) - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); } static void Task_RunScriptAndFadeToActivity(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 *sendBuff = (u16*)(gBlockSendBuffer); + u16 *sendBuff = (u16 *)(gBlockSendBuffer); switch (data[0]) { @@ -1779,13 +1779,13 @@ static void Task_RunScriptAndFadeToActivity(u8 taskId) SaveLinkTrainerNames(); DestroyTask(taskId); default: - EnableBothScriptContexts(); + ScriptContext_Enable(); data[0] = 1; break; } break; case 1: - if (!ScriptContext1_IsScriptSetUp()) + if (!ScriptContext_IsEnabled()) { FadeScreen(FADE_TO_BLACK, 0); data[0] = 2; @@ -1833,7 +1833,7 @@ static void Task_RunScriptAndFadeToActivity(u8 taskId) } break; case 6: - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); break; case 7: @@ -1844,7 +1844,7 @@ static void Task_RunScriptAndFadeToActivity(u8 taskId) if (gReceivedRemoteLinkPlayers == 0) { DestroyWirelessStatusIndicatorSprite(); - EnableBothScriptContexts(); + ScriptContext_Enable(); DestroyTask(taskId); } break; @@ -1869,7 +1869,7 @@ void CreateTask_SendMysteryGift(u32 activity) struct WirelessLink_Leader *data; taskId = CreateTask(Task_SendMysteryGift, 0); - sWirelessLinkMain.leader = data = (void*)(gTasks[taskId].data); + sWirelessLinkMain.leader = data = (void *)(gTasks[taskId].data); data->state = 0; data->textState = 0; @@ -1950,7 +1950,7 @@ static void Task_SendMysteryGift(u8 taskId) data->state = 7; break; case 7: - switch (DoMysteryGiftYesNo(&data->textState, &data->yesNoWindowId, 0, gStringVar4)) + switch (DoMysteryGiftYesNo(&data->textState, &data->yesNoWindowId, FALSE, gStringVar4)) { case 0: LoadWirelessStatusIndicatorSpriteGfx(); @@ -2047,7 +2047,7 @@ static void Task_SendMysteryGift(u8 taskId) { data->state = 13; } - else if (gReceivedRemoteLinkPlayers != 0) + else if (gReceivedRemoteLinkPlayers) { UpdateGameData_GroupLockedIn(TRUE); data->state++; @@ -2077,7 +2077,7 @@ void CreateTask_LinkMysteryGiftWithFriend(u32 activity) struct WirelessLink_Group *data; taskId = CreateTask(Task_CardOrNewsWithFriend, 0); - sWirelessLinkMain.group = data = (void*)(gTasks[taskId].data); + sWirelessLinkMain.group = data = (void *)(gTasks[taskId].data); sGroup = data; data->state = 0; @@ -2246,7 +2246,7 @@ void CreateTask_LinkMysteryGiftOverWireless(u32 activity) struct WirelessLink_Group *data; taskId = CreateTask(Task_CardOrNewsOverWireless, 0); - sWirelessLinkMain.group = data = (void*)(gTasks[taskId].data); + sWirelessLinkMain.group = data = (void *)(gTasks[taskId].data); sGroup = data; data->state = 0; @@ -2469,7 +2469,7 @@ static void ScheduleFieldMessageAndExit(const u8 *src) static void CopyPlayerListToBuffer(struct WirelessLink_URoom *uroom) { memcpy(&gDecompressionBuffer[sizeof(gDecompressionBuffer) - (MAX_UNION_ROOM_LEADERS * sizeof(struct RfuPlayer))], - uroom->playerList, + uroom->playerList, MAX_UNION_ROOM_LEADERS * sizeof(struct RfuPlayer)); } @@ -2592,7 +2592,7 @@ static void Task_RunUnionRoom(u8 taskId) gSpecialVar_Result = 0; } } - else if (ScriptContext2_IsEnabled() != TRUE) + else if (ArePlayerFieldControlsLocked() != TRUE) { if (JOY_NEW(A_BUTTON)) { @@ -3365,12 +3365,12 @@ static void Task_InitUnionRoom(u8 taskId) } break; case 4: - free(data->spawnPlayer); - free(data->playerList); - free(data->incomingParentList); - free(data->incomingChildList); + Free(data->spawnPlayer); + Free(data->playerList); + Free(data->incomingParentList); + Free(data->incomingChildList); DestroyTask(data->searchTaskId); - free(sWirelessLinkMain.uRoom); + Free(sWirelessLinkMain.uRoom); LinkRfu_Shutdown(); DestroyTask(taskId); break; @@ -3467,7 +3467,7 @@ static void Task_SearchForChildOrParent(u8 taskId) { s32 i, j; struct RfuPlayerData rfu; - struct RfuIncomingPlayerList **list = (void*) gTasks[taskId].data; + struct RfuIncomingPlayerList **list = (void *) gTasks[taskId].data; bool8 isParent; for (i = 0; i < RFU_CHILD_MAX; i++) @@ -3510,7 +3510,7 @@ static u8 CreateTask_SearchForChildOrParent(struct RfuIncomingPlayerList * paren static void Task_ListenForCompatiblePartners(u8 taskId) { s32 i, j; - struct RfuIncomingPlayerList **list = (void*) gTasks[taskId].data; + struct RfuIncomingPlayerList **list = (void *) gTasks[taskId].data; for (i = 0; i < RFU_CHILD_MAX; i++) { @@ -3553,7 +3553,7 @@ static bool32 HasWonderCardOrNewsByLinkGroup(struct RfuGameData *data, s16 linkG static void Task_ListenForWonderDistributor(u8 taskId) { s32 i; - struct RfuIncomingPlayerList **list = (void*) gTasks[taskId].data; + struct RfuIncomingPlayerList **list = (void *) gTasks[taskId].data; for (i = 0; i < RFU_CHILD_MAX; i++) { @@ -3567,7 +3567,7 @@ static void Task_ListenForWonderDistributor(u8 taskId) static u8 CreateTask_ListenForCompatiblePartners(struct RfuIncomingPlayerList * list, u32 linkGroup) { u8 taskId = CreateTask(Task_ListenForCompatiblePartners, 0); - struct RfuIncomingPlayerList **oldList = (void*) gTasks[taskId].data; + struct RfuIncomingPlayerList **oldList = (void *) gTasks[taskId].data; oldList[0] = list; gTasks[taskId].data[2] = linkGroup; return taskId; @@ -3576,7 +3576,7 @@ static u8 CreateTask_ListenForCompatiblePartners(struct RfuIncomingPlayerList * static u8 CreateTask_ListenForWonderDistributor(struct RfuIncomingPlayerList * list, u32 linkGroup) { u8 taskId = CreateTask(Task_ListenForWonderDistributor, 0); - struct RfuIncomingPlayerList **oldList = (void*) gTasks[taskId].data; + struct RfuIncomingPlayerList **oldList = (void *) gTasks[taskId].data; oldList[0] = list; gTasks[taskId].data[2] = linkGroup; return taskId; @@ -3585,7 +3585,7 @@ static u8 CreateTask_ListenForWonderDistributor(struct RfuIncomingPlayerList * l static bool32 UR_PrintFieldMessage(const u8 *src) { LoadMessageBoxAndBorderGfx(); - DrawDialogueFrame(0, 1); + DrawDialogueFrame(0, TRUE); StringExpandPlaceholders(gStringVar4, src); AddTextPrinterWithCustomSpeedForMessage(FALSE, 1); return FALSE; @@ -3605,7 +3605,7 @@ static bool8 PrintOnTextbox(u8 *textState, const u8 *str) { case 0: LoadMessageBoxAndBorderGfx(); - DrawDialogueFrame(0, 1); + DrawDialogueFrame(0, TRUE); StringExpandPlaceholders(gStringVar4, str); AddTextPrinterForMessage_2(TRUE); (*textState)++; @@ -3656,7 +3656,7 @@ static u8 CreateTradeBoardWindow(const struct WindowTemplate * template) u8 windowId = AddWindow(template); DrawStdWindowFrame(windowId, FALSE); FillWindowPixelBuffer(windowId, PIXEL_FILL(15)); - PrintUnionRoomText(windowId, 1, sText_NameWantedOfferLv, 8, 1, UR_COLOR_TRADE_BOARD_OTHER); + PrintUnionRoomText(windowId, FONT_NORMAL, sText_NameWantedOfferLv, 8, 1, UR_COLOR_TRADE_BOARD_OTHER); CopyWindowToVram(windowId, COPYWIN_GFX); PutWindowTilemap(windowId); return windowId; @@ -3781,7 +3781,7 @@ static void UR_ClearBg0(void) static void JoinGroup_EnableScriptContexts(void) { - EnableBothScriptContexts(); + ScriptContext_Enable(); } static void PrintUnionRoomText(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 colorIdx) @@ -3971,17 +3971,17 @@ static void PrintGroupMemberOnWindow(u8 windowId, u8 x, u8 y, struct RfuPlayer * ConvertIntToDecimalStringN(gStringVar4, id + 1, STR_CONV_MODE_LEADING_ZEROS, 2); StringAppend(gStringVar4, sText_Colon); - PrintUnionRoomText(windowId, 1, gStringVar4, x, y, UR_COLOR_DEFAULT); + PrintUnionRoomText(windowId, FONT_NORMAL, gStringVar4, x, y, UR_COLOR_DEFAULT); x += 18; activity = player->rfu.data.activity; if (player->groupScheduledAnim == UNION_ROOM_SPAWN_IN && !(activity & IN_UNION_ROOM)) { CopyAndTranslatePlayerName(gStringVar4, player); - PrintUnionRoomText(windowId, 1, gStringVar4, x, y, colorIdx); + PrintUnionRoomText(windowId, FONT_NORMAL, gStringVar4, x, y, colorIdx); ConvertIntToDecimalStringN(trainerId, player->rfu.data.compatibility.playerTrainerId[0] | (player->rfu.data.compatibility.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5); StringCopy(gStringVar4, sText_ID); StringAppend(gStringVar4, trainerId); - PrintUnionRoomText(windowId, 1, gStringVar4, GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 0x88), y, colorIdx); + PrintUnionRoomText(windowId, FONT_NORMAL, gStringVar4, GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 0x88), y, colorIdx); } } @@ -3992,11 +3992,11 @@ static void PrintGroupCandidateOnWindow(u8 windowId, u8 x, u8 y, struct RfuPlaye if (player->groupScheduledAnim == UNION_ROOM_SPAWN_IN) { CopyAndTranslatePlayerName(gStringVar4, player); - PrintUnionRoomText(windowId, 1, gStringVar4, x, y, colorIdx); + PrintUnionRoomText(windowId, FONT_NORMAL, gStringVar4, x, y, colorIdx); ConvertIntToDecimalStringN(trainerId, player->rfu.data.compatibility.playerTrainerId[0] | (player->rfu.data.compatibility.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5); StringCopy(gStringVar4, sText_ID); StringAppend(gStringVar4, trainerId); - PrintUnionRoomText(windowId, 1, gStringVar4, GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 0x68), y, colorIdx); + PrintUnionRoomText(windowId, FONT_NORMAL, gStringVar4, GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 0x68), y, colorIdx); } } @@ -4101,17 +4101,17 @@ static void TradeBoardPrintItemInfo(u8 windowId, u8 y, struct RfuGameData * data u8 type = data->tradeType; u8 level = data->tradeLevel; - PrintUnionRoomText(windowId, 1, playerName, 8, y, colorIdx); + PrintUnionRoomText(windowId, FONT_NORMAL, playerName, 8, y, colorIdx); if (species == SPECIES_EGG) { - PrintUnionRoomText(windowId, 1, sText_EggTrade, 68, y, colorIdx); + PrintUnionRoomText(windowId, FONT_NORMAL, sText_EggTrade, 68, y, colorIdx); } else { BlitMenuInfoIcon(windowId, type + 1, 68, y); - PrintUnionRoomText(windowId, 1, gSpeciesNames[species], 118, y, colorIdx); + PrintUnionRoomText(windowId, FONT_NORMAL, gSpeciesNames[species], 118, y, colorIdx); ConvertIntToDecimalStringN(levelStr, level, STR_CONV_MODE_RIGHT_ALIGN, 3); - PrintUnionRoomText(windowId, 1, levelStr, 198, y, colorIdx); + PrintUnionRoomText(windowId, FONT_NORMAL, levelStr, 198, y, colorIdx); } } @@ -4403,7 +4403,7 @@ static u32 GetPartyPositionOfRegisteredMon(struct UnionRoomTrade *trade, u8 mult static void HandleCancelActivity(bool32 setData) { UR_ClearBg0(); - ScriptContext2_Disable(); + UnlockPlayerFieldControls(); UnionRoom_UnlockPlayerAndChatPartner(); gPlayerCurrActivity = ACTIVITY_NONE; if (setData) @@ -4415,7 +4415,7 @@ static void HandleCancelActivity(bool32 setData) static void StartScriptInteraction(void) { - ScriptContext2_Enable(); + LockPlayerFieldControls(); FreezeObjects_WaitForPlayer(); } diff --git a/src/union_room_chat.c b/src/union_room_chat.c index f8513b9f46..e1ca7c0b0d 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -793,7 +793,8 @@ static const union AnimCmd *const sAnims_KeyboardCursor[] = { sAnim_KeyboardCursorWide_Closed }; -static const struct SpriteTemplate sSpriteTemplate_KeyboardCursor = { +static const struct SpriteTemplate sSpriteTemplate_KeyboardCursor = +{ .tileTag = GFXTAG_KEYBOARD_CURSOR, .paletteTag = PALTAG_INTERFACE, .oam = &sOam_KeyboardCursor, @@ -809,7 +810,8 @@ static const struct OamData sOam_TextEntrySprite = { .priority = 2 }; -static const struct SpriteTemplate sSpriteTemplate_TextEntryCursor = { +static const struct SpriteTemplate sSpriteTemplate_TextEntryCursor = +{ .tileTag = GFXTAG_TEXT_ENTRY_CURSOR, .paletteTag = PALTAG_INTERFACE, .oam = &sOam_TextEntrySprite, @@ -819,7 +821,8 @@ static const struct SpriteTemplate sSpriteTemplate_TextEntryCursor = { .callback = SpriteCB_TextEntryCursor }; -static const struct SpriteTemplate sSpriteTemplate_TextEntryArrow = { +static const struct SpriteTemplate sSpriteTemplate_TextEntryArrow = +{ .tileTag = GFXTAG_TEXT_ENTRY_ARROW, .paletteTag = PALTAG_INTERFACE, .oam = &sOam_TextEntrySprite, @@ -868,7 +871,8 @@ static const union AnimCmd *const sAnims_RButtonLabels[] = { sAnim_RegisterIcon }; -static const struct SpriteTemplate sSpriteTemplate_RButtonIcon = { +static const struct SpriteTemplate sSpriteTemplate_RButtonIcon = +{ .tileTag = GFXTAG_RBUTTON_ICON, .paletteTag = PALTAG_INTERFACE, .oam = &sOam_RButtonIcon, @@ -878,7 +882,8 @@ static const struct SpriteTemplate sSpriteTemplate_RButtonIcon = { .callback = SpriteCallbackDummy }; -static const struct SpriteTemplate sSpriteTemplate_RButtonLabels = { +static const struct SpriteTemplate sSpriteTemplate_RButtonLabels = +{ .tileTag = GFXTAG_RBUTTON_LABELS, .paletteTag = PALTAG_INTERFACE, .oam = &sOam_RButtonLabel, @@ -1039,7 +1044,7 @@ static void Chat_HandleInput(void) { SetChatFunction(CHAT_FUNC_SWITCH); } - else if (gMain.newAndRepeatedKeys & B_BUTTON) + else if (JOY_REPEAT(B_BUTTON)) { if (sChat->bufferCursorPos) { diff --git a/src/union_room_player_avatar.c b/src/union_room_player_avatar.c index 908eb8f21f..86a0f1a44e 100644 --- a/src/union_room_player_avatar.c +++ b/src/union_room_player_avatar.c @@ -24,7 +24,8 @@ static u32 IsUnionRoomPlayerInvisible(u32, u32); static void SetUnionRoomObjectFacingDirection(s32, s32, u8); // + 2 is just to match, those elements are empty and never read -static const u8 sUnionRoomObjGfxIds[GENDER_COUNT][MAX_UNION_ROOM_LEADERS + 2] = { +// Graphics ids should correspond with the classes in gUnionRoomFacilityClasses +static const u8 sUnionRoomObjGfxIds[GENDER_COUNT][NUM_UNION_ROOM_CLASSES + 2] = { [MALE] = { OBJ_EVENT_GFX_MAN_3, OBJ_EVENT_GFX_BLACK_BELT, @@ -132,7 +133,7 @@ static bool32 IsPlayerStandingStill(void) // Gender and trainer id are used to determine which sprite a player appears as static u8 GetUnionRoomPlayerGraphicsId(u32 gender, u32 id) { - return sUnionRoomObjGfxIds[gender][id % MAX_UNION_ROOM_LEADERS]; + return sUnionRoomObjGfxIds[gender][id % NUM_UNION_ROOM_CLASSES]; } static void GetUnionRoomPlayerCoords(u32 leaderId, u32 memberId, s32 * x, s32 * y) @@ -205,7 +206,7 @@ static bool32 TryReleaseUnionRoomPlayerObjectEvent(u32 leaderId) if (!ObjectEventClearHeldMovementIfFinished(object)) return FALSE; - if (!ScriptContext2_IsEnabled()) + if (!ArePlayerFieldControlsLocked()) UnfreezeObjectEvent(object); else FreezeObjectEvent(object); @@ -568,7 +569,7 @@ bool32 TryInteractWithUnionRoomMember(struct RfuPlayerList *list, s16 *memberIdP for (memberId = 0; memberId < MAX_RFU_PLAYERS; memberId++) { s32 id = UR_PLAYER_SPRITE_ID(i, memberId); - + // Is the player in front of a group member position? if (x != sUnionRoomPlayerCoords[i][0] + sUnionRoomGroupOffsets[memberId][0] + 7) continue; diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 8f041a6ff2..2f16f220aa 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -497,7 +497,7 @@ static void LoadUsePokeblockMenu(void) break; case 2: SetVBlankCallback(NULL); - CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + CpuFill32(0, (void *)(VRAM), VRAM_SIZE); sInfo->mainState++; break; case 3: @@ -1232,7 +1232,7 @@ static void UpdateMonPic(u8 loadId) sMenu->curMonSpriteId = spriteId; gSprites[sMenu->curMonSpriteId].callback = SpriteCB_MonPic; gSprites[sMenu->curMonSpriteId].y2 -= 34; - sMenu->curMonTileStart = (void*)(OBJ_VRAM0 + (sMenu->curMonSheet * 32)); + sMenu->curMonTileStart = (void *)(OBJ_VRAM0 + (sMenu->curMonSheet * 32)); sMenu->curMonPalette = (sMenu->curMonPalette * 16) + 0x100; } } diff --git a/src/util.c b/src/util.c index a4e3fa4cfc..32f31a26dd 100644 --- a/src/util.c +++ b/src/util.c @@ -253,7 +253,7 @@ u16 CalcCRC16WithTable(const u8 *data, u32 length) return ~crc; } -u32 CalcByteArraySum(const u8* data, u32 length) +u32 CalcByteArraySum(const u8 *data, u32 length) { u32 sum, i; for (sum = 0, i = 0; i < length; i++) diff --git a/src/walda_phrase.c b/src/walda_phrase.c index aa85c0d60b..e5556b53e3 100644 --- a/src/walda_phrase.c +++ b/src/walda_phrase.c @@ -140,7 +140,7 @@ static u8 GetLetterTableId(u8 letter) #define KEY data[8] #define NUM_WALLPAPER_DATA_BYTES 9 #define TO_BIT_OFFSET(i) (3 + (8 * (i))) // Convert a position in the phrase to a bit number into the wallpaper data array -static bool32 TryCalculateWallpaper(u16* backgroundClr, u16 *foregroundClr, u8 *iconId, u8 *patternId, u16 trainerId, u8 *phrase) +static bool32 TryCalculateWallpaper(u16 *backgroundClr, u16 *foregroundClr, u8 *iconId, u8 *patternId, u16 trainerId, u8 *phrase) { s32 i; ALIGNED(2) u8 data[NUM_WALLPAPER_DATA_BYTES]; @@ -174,7 +174,7 @@ static bool32 TryCalculateWallpaper(u16* backgroundClr, u16 *foregroundClr, u8 * if (GetWallpaperDataBits(data, 0, 3) != GetWallpaperDataBits(charsByTableId, TO_BIT_OFFSET(WALDA_PHRASE_LENGTH - 1) + 2, 3)) return FALSE; - // Perform some relatively arbitrary changes to the wallpaper data using the last byte (KEY) + // Perform some relatively arbitrary changes to the wallpaper data using the last byte (KEY) RotateWallpaperDataLeft(data, NUM_WALLPAPER_DATA_BYTES, 21); RotateWallpaperDataLeft(data, NUM_WALLPAPER_DATA_BYTES - 1, KEY & 0xF); MaskWallpaperData(data, NUM_WALLPAPER_DATA_BYTES - 1, KEY >> 4); @@ -186,10 +186,10 @@ static bool32 TryCalculateWallpaper(u16* backgroundClr, u16 *foregroundClr, u8 * return FALSE; // Successful phrase, save resulting wallpaper - ptr = (u16*) &BG_COLOR_LO; + ptr = (u16 *) &BG_COLOR_LO; *backgroundClr = *ptr; - ptr = (u16*) &FG_COLOR_LO; + ptr = (u16 *) &FG_COLOR_LO; *foregroundClr = *ptr; *iconId = ICON_ID; diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 4b3402e5ac..01161e6ccb 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -64,7 +64,7 @@ static const struct WildPokemon sWildFeebas = {20, 25, SPECIES_FEEBAS}; static const u16 sRoute119WaterTileData[] = { -//yMin, yMax, numSpots in previous sections +//yMin, yMax, numSpots in previous sections 0, 45, 0, 46, 91, NUM_FISHING_SPOTS_1, 92, 139, NUM_FISHING_SPOTS_1 + NUM_FISHING_SPOTS_2, @@ -142,7 +142,7 @@ static bool8 CheckFeebas(void) feebasSpots[i] = FeebasRandom() % NUM_FISHING_SPOTS; if (feebasSpots[i] == 0) feebasSpots[i] = NUM_FISHING_SPOTS; - + // < 1 below is a pointless check, it will never be TRUE. // >= 4 to skip fishing spots 1-3, because these are inaccessible // spots at the top of the map, at (9,7), (7,13), and (15,16). @@ -665,7 +665,7 @@ void RockSmashWildEncounter(void) { gSpecialVar_Result = FALSE; } - else if (DoWildEncounterRateTest(wildPokemonInfo->encounterRate, 1) == TRUE + else if (DoWildEncounterRateTest(wildPokemonInfo->encounterRate, TRUE) == TRUE && TryGenerateWildMon(wildPokemonInfo, WILD_AREA_ROCKS, WILD_CHECK_REPEL | WILD_CHECK_KEEN_EYE) == TRUE) { BattleSetup_StartWildBattle(); @@ -852,7 +852,7 @@ bool8 UpdateRepelCounter(void) VarSet(VAR_REPEL_STEP_COUNT, steps); if (steps == 0) { - ScriptContext1_SetupScript(EventScript_RepelWoreOff); + ScriptContext_SetupScript(EventScript_RepelWoreOff); return TRUE; } } diff --git a/src/wonder_news.c b/src/wonder_news.c index ec93d293ed..e083575d95 100644 --- a/src/wonder_news.c +++ b/src/wonder_news.c @@ -76,7 +76,7 @@ u16 RetrieveWonderNewsVal(void) struct WonderNewsMetadata *data = GetSavedWonderNewsMetadata(); u16 newsVal; - // Checks if Mystery Event is enabled, not Mystery Gift? + // Checks if Mystery Event is enabled, not Mystery Gift? if (!IsMysteryEventEnabled() || !ValidateSavedWonderNews()) return 0; diff --git a/sym_common.txt b/sym_common.txt index 938b78fbe4..7eebcac74e 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -3,35 +3,35 @@ @ ../gflib/bg.o .align 2 gWindowTileAutoAllocEnabled: - .space 4 + .space 4 @ ../gflib/window.o - .align 4 + .align 4 gTransparentTileNumber: - .space 1 - .align 4 + .space 1 + .align 4 gWindowBgTilemapBuffers: - .space 16 + .space 16 @ ../gflib/text.o - .align 4 + .align 4 gFonts: - .space 4 - .align 2 + .space 4 + .align 2 gDisableTextPrinters: - .space 1 - .align 4 + .space 1 + .align 4 gCurGlyph: - .space 132 - .align 2 + .space 132 + .align 2 gTextFlags: - .space 4 + .space 4 @ ../gflib/sprite.o - .align 2 + .align 2 gOamMatrixAllocBitmap: - .space 4 - .align 2 + .space 4 + .align 2 gReservedSpritePaletteCount: - .space 1 - .align 4 + .space 1 + .align 4 .include "link.o" .include "AgbRfu_LinkManager.o" .include "link_rfu_2.o" @@ -53,9 +53,9 @@ gReservedSpritePaletteCount: .include "tv.o" .include "mauville_old_man.o" .include "image_processing_effects.o" - + .space 0x4 - + .include "contest_painting.o" .include "field_specials.o" .include "evolution_scene.o" @@ -66,12 +66,12 @@ gReservedSpritePaletteCount: .include "battle_anim_throw.o" .include "battle_factory_screen.o" .include "apprentice.o" - + .space 0x8 - + .include "list_menu.o" .include "party_menu.o" - + .space 0x44 .include "ereader_screen.o" diff --git a/tools/gbagfx/gfx.c b/tools/gbagfx/gfx.c index 4e85953fdc..832e9bb397 100644 --- a/tools/gbagfx/gfx.c +++ b/tools/gbagfx/gfx.c @@ -397,7 +397,7 @@ void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int free(buffer); } -void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors) +void WriteImage(char *path, enum NumTilesMode numTilesMode, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors) { int tileSize = bitDepth * 8; @@ -424,7 +424,8 @@ void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int m FATAL_ERROR("The specified number of tiles (%d) is greater than the maximum possible value (%d).\n", numTiles, maxNumTiles); int bufferSize = numTiles * tileSize; - unsigned char *buffer = malloc(bufferSize); + int maxBufferSize = maxNumTiles * tileSize; + unsigned char *buffer = malloc(maxBufferSize); if (buffer == NULL) FATAL_ERROR("Failed to allocate memory for pixels.\n"); @@ -433,17 +434,36 @@ void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int m switch (bitDepth) { case 1: - ConvertToTiles1Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); + ConvertToTiles1Bpp(image->pixels, buffer, maxNumTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); break; case 4: - ConvertToTiles4Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); + ConvertToTiles4Bpp(image->pixels, buffer, maxNumTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); break; case 8: - ConvertToTiles8Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); + ConvertToTiles8Bpp(image->pixels, buffer, maxNumTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); break; } - WriteWholeFile(path, buffer, bufferSize); + bool zeroPadded = true; + for (int i = bufferSize; i < maxBufferSize && zeroPadded; i++) { + if (buffer[i] != 0) + { + switch (numTilesMode) + { + case NUM_TILES_IGNORE: + break; + case NUM_TILES_WARN: + fprintf(stderr, "Ignoring -num_tiles %d because tile %d contains non-transparent pixels.\n", numTiles, 1 + i / tileSize); + zeroPadded = false; + break; + case NUM_TILES_ERROR: + FATAL_ERROR("Tile %d contains non-transparent pixels.\n", 1 + i / tileSize); + break; + } + } + } + + WriteWholeFile(path, buffer, zeroPadded ? bufferSize : maxBufferSize); free(buffer); } diff --git a/tools/gbagfx/gfx.h b/tools/gbagfx/gfx.h index edb9e62c41..f1dbfcf4f7 100644 --- a/tools/gbagfx/gfx.h +++ b/tools/gbagfx/gfx.h @@ -44,8 +44,14 @@ struct Image { bool isAffine; }; +enum NumTilesMode { + NUM_TILES_IGNORE, + NUM_TILES_WARN, + NUM_TILES_ERROR, +}; + void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors); -void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors); +void WriteImage(char *path, enum NumTilesMode numTilesMode, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors); void FreeImage(struct Image *image); void ReadGbaPalette(char *path, struct Palette *palette); void WriteGbaPalette(char *path, struct Palette *palette); diff --git a/tools/gbagfx/main.c b/tools/gbagfx/main.c index cf30316961..5d4faacab0 100644 --- a/tools/gbagfx/main.c +++ b/tools/gbagfx/main.c @@ -77,7 +77,7 @@ void ConvertPngToGba(char *inputPath, char *outputPath, struct PngToGbaOptions * ReadPng(inputPath, &image); - WriteImage(outputPath, options->numTiles, options->bitDepth, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette); + WriteImage(outputPath, options->numTilesMode, options->numTiles, options->bitDepth, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette); FreeImage(&image); } @@ -179,6 +179,7 @@ void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **a char *outputFileExtension = GetFileExtensionAfterDot(outputPath); int bitDepth = outputFileExtension[0] - '0'; struct PngToGbaOptions options; + options.numTilesMode = NUM_TILES_IGNORE; options.numTiles = 0; options.bitDepth = bitDepth; options.metatileWidth = 1; @@ -203,6 +204,12 @@ void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **a if (options.numTiles < 1) FATAL_ERROR("Number of tiles must be positive.\n"); } + else if (strcmp(option, "-Wnum_tiles") == 0) { + options.numTilesMode = NUM_TILES_WARN; + } + else if (strcmp(option, "-Werror=num_tiles") == 0) { + options.numTilesMode = NUM_TILES_ERROR; + } else if (strcmp(option, "-mwidth") == 0) { if (i + 1 >= argc) diff --git a/tools/gbagfx/options.h b/tools/gbagfx/options.h index 3b038f572d..250b723450 100644 --- a/tools/gbagfx/options.h +++ b/tools/gbagfx/options.h @@ -4,6 +4,7 @@ #define OPTIONS_H #include +#include "gfx.h" struct GbaToPngOptions { char *paletteFilePath; @@ -18,6 +19,7 @@ struct GbaToPngOptions { struct PngToGbaOptions { int numTiles; + enum NumTilesMode numTilesMode; int bitDepth; int metatileWidth; int metatileHeight; diff --git a/tools/mid2agb/agb.cpp b/tools/mid2agb/agb.cpp index d4d79f1337..caa6f0ecd9 100644 --- a/tools/mid2agb/agb.cpp +++ b/tools/mid2agb/agb.cpp @@ -18,6 +18,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. +#include #include #include #include @@ -503,7 +504,7 @@ void PrintAgbTrack(std::vector& events) ResetTrackVars(); break; case EventType::Tempo: - PrintByte("TEMPO , %u*%s_tbs/2", 60000000 / event.param2, g_asmLabel.c_str()); + PrintByte("TEMPO , %u*%s_tbs/2", static_cast(round(60000000.0f / static_cast(event.param2))), g_asmLabel.c_str()); PrintWait(event.time); break; case EventType::InstrumentChange: