diff --git a/.gitignore b/.gitignore
index 315e6c28da..b10f4ccc31 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,7 +30,8 @@ build/
.DS_Store
*.ddump
.idea/
-porymap.project.cfg
+porymap.*.cfg
+prefabs.json
.vscode/
*.a
.fuse_hidden*
diff --git a/INSTALL.md b/INSTALL.md
index 02851644ad..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
@@ -539,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/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 0a44f6075a..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
@@ -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 7615c186d4..c082020a2e 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
@@ -1892,7 +1892,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 8ce8330371..7932940042 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 8dd80c9158..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
@@ -490,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
@@ -536,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
@@ -1492,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::
@@ -1614,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
@@ -1813,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
@@ -1927,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
@@ -2016,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
@@ -2157,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
@@ -2214,7 +2215,7 @@ 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
+ 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
@@ -2222,7 +2223,7 @@ BattleScript_EffectMemento::
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
+ 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
@@ -2662,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
@@ -2695,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
@@ -2724,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
@@ -2749,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
@@ -2781,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
@@ -2825,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
@@ -3458,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::
@@ -3625,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
@@ -3698,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
@@ -4029,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
@@ -4045,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
@@ -4408,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
@@ -4482,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
@@ -4495,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 418687f084..66d0e6662d 100644
--- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
@@ -475,8 +475,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 233e74e51f..3a51c8143d 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 9e5c191930..6f4d1e4227 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.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 2a6e4bf3d7..5c70c6d08c 100644
--- a/include/battle_main.h
+++ b/include/battle_main.h
@@ -50,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_PlayerMonSlideIn(struct Sprite *sprite);
void SpriteCB_TrainerThrowObject(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 8993e5bb1c..37790f7e4a 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);
s32 GetTypeEffectiveness(struct Pokemon *mon, u8 moveType);
u8 TypeCalc(u16 move, u8 battlerIdAtk, u8 battlerIdDef);
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 a4c4987916..f7c2d36284 100755
--- a/include/constants/event_object_movement.h
+++ b/include/constants/event_object_movement.h
@@ -233,8 +233,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 708f4e8935..cb9d369ffb 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 f4b503c327..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
@@ -103,6 +105,7 @@
#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/items.h b/include/constants/items.h
index e9d889cfa0..daf129c76f 100644
--- a/include/constants/items.h
+++ b/include/constants/items.h
@@ -477,7 +477,10 @@
#define ITEM_OLD_SEA_MAP 376
#define ITEMS_COUNT 377
-#define ITEM_FIELD_ARROW ITEMS_COUNT
+
+// A special item id associated with "Cancel"/"Exit" etc. in a list of items or decorations
+// Its icon is defined at ITEMS_COUNT as the "return to field" arrow
+#define ITEM_LIST_END 0xFFFF
// Range of berries given out by various NPCS
#define FIRST_BERRY_MASTER_BERRY ITEM_POMEG_BERRY
diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h
index 29e1fac11d..d0e6094483 100644
--- a/include/constants/pokemon.h
+++ b/include/constants/pokemon.h
@@ -93,98 +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
-#define MON_DATA_NATURE 89
-
// Ribbon IDs used by TV and Pokénav
#define CHAMPION_RIBBON 0
#define COOL_RIBBON_NORMAL 1
@@ -273,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
@@ -339,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 ea33bcbc77..eb5abc3802 100644
--- a/include/data.h
+++ b/include/data.h
@@ -68,6 +68,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;
@@ -82,7 +87,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 fd2cb485f6..f4f3ea21ca 100644
--- a/include/event_object_movement.h
+++ b/include/event_object_movement.h
@@ -70,7 +70,7 @@ struct PairedPalettes
struct LockedAnimObjectEvents
{
- u8 objectEventIds[OBJECT_EVENTS_COUNT];
+ u8 localIds[OBJECT_EVENTS_COUNT];
u8 count;
};
@@ -84,21 +84,21 @@ 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 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 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 ClearObjectEventMovement(struct ObjectEvent *objectEvent, struct Sprite *sprite);
void ObjectEventClearHeldMovement(struct ObjectEvent *);
void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *);
@@ -107,39 +107,39 @@ void UpdateFollowingPokemon(void);
void RemoveFollowingPokemon(void);
struct ObjectEvent * GetFollowerObject(void);
u8 GetDirectionToFace(s16, s16, s16, s16);
-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);
u8 UpdateSpritePaletteByTemplate(const struct SpriteTemplate *, struct Sprite *);
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);
u8 LoadObjectEventPalette(u16 paletteTag);
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);
@@ -182,22 +182,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);
@@ -206,7 +206,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 *);
@@ -265,7 +265,6 @@ void MovementType_Invisible(struct Sprite *);
void MovementType_WalkSlowlyInPlace(struct Sprite *);
void MovementType_FollowPlayer(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);
@@ -277,17 +276,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 9bd76e06fc..5842b0b4f6 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -19,7 +19,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);
@@ -41,8 +41,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 6daf2e7d8c..71920d22f5 100644
--- a/include/field_effect_helpers.h
+++ b/include/field_effect_helpers.h
@@ -24,22 +24,22 @@ void SetUpReflection(struct ObjectEvent*, struct Sprite*, u8);
void SetUpShadow(struct ObjectEvent*, struct Sprite*);
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/defines.h b/include/gba/defines.h
index c52d7ef4f9..6d96e9a9e7 100644
--- a/include/gba/defines.h
+++ b/include/gba/defines.h
@@ -67,6 +67,9 @@
#define DISPLAY_WIDTH 240
#define DISPLAY_HEIGHT 160
+#define DISPLAY_TILE_WIDTH (DISPLAY_WIDTH / 8)
+#define DISPLAY_TILE_HEIGHT (DISPLAY_HEIGHT / 8)
+
#define TILE_SIZE_4BPP 32
#define TILE_SIZE_8BPP 64
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 59f694b2ed..94a5f7ecfc 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 08435e698f..fe32afaad1 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))
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.h b/include/item.h
index bcd9178e54..c964e7628a 100644
--- a/include/item.h
+++ b/include/item.h
@@ -62,13 +62,11 @@ u16 CountTotalItemQuantityInBag(u16 itemId);
bool8 AddPyramidBagItem(u16 itemId, u16 count);
bool8 RemovePyramidBagItem(u16 itemId, u16 count);
const u8 *ItemId_GetName(u16 itemId);
-u16 ItemId_GetId(u16 itemId);
u16 ItemId_GetPrice(u16 itemId);
u8 ItemId_GetHoldEffect(u16 itemId);
u8 ItemId_GetHoldEffectParam(u16 itemId);
const u8 *ItemId_GetDescription(u16 itemId);
u8 ItemId_GetImportance(u16 itemId);
-u8 ItemId_GetRegistrability(u16 itemId);
u8 ItemId_GetPocket(u16 itemId);
u8 ItemId_GetType(u16 itemId);
ItemUseFunc ItemId_GetFieldFunc(u16 itemId);
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 8542b9ea43..61573cfc02 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..fb72484df8 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -3,6 +3,100 @@
#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,
+ MON_DATA_NATURE,
+};
+
struct PokemonSubstruct0
{
u16 species;
@@ -270,7 +364,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 +383,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 +520,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/pokemon_summary_screen.h b/include/pokemon_summary_screen.h
index 3996c8e15f..b026baa533 100755
--- a/include/pokemon_summary_screen.h
+++ b/include/pokemon_summary_screen.h
@@ -10,7 +10,7 @@ extern const u8 *const gNatureNamePointers[];
void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove);
-void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
+void ShowPokemonSummaryScreenHandleDeoxys(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
u8 GetMoveSlotToReplace(void);
void SummaryScreen_SetAnimDelayTaskId(u8 taskId);
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/shop.h b/include/shop.h
index c338103b4a..7fd7669ea5 100644
--- a/include/shop.h
+++ b/include/shop.h
@@ -3,47 +3,6 @@
extern EWRAM_DATA struct ItemSlot gMartPurchaseHistory[3];
-enum
-{
- MART_TYPE_NORMAL, // normal mart
- MART_TYPE_DECOR,
- MART_TYPE_DECOR2,
-};
-
-// shop view window NPC info enum
-enum
-{
- OBJ_EVENT_ID,
- X_COORD,
- Y_COORD,
- ANIM_NUM,
- LAYER_TYPE
-};
-
-struct MartInfo
-{
- /*0x0*/ void (*callback)(void);
- /*0x4*/ const struct MenuAction *menuActions;
- /*0x8*/ const u16 *itemList;
- /*0xC*/ u16 itemCount;
- /*0xE*/ u8 windowId;
- /*0xF*/ u8 martType;
-};
-
-struct ShopData
-{
- /*0x0000*/ u16 tilemapBuffers[4][0x400];
- /*0x2000*/ u32 totalCost;
- /*0x2004*/ u16 itemsShowed;
- /*0x2006*/ u16 selectedRow;
- /*0x2008*/ u16 scrollOffset;
- /*0x200A*/ u8 maxQuantity;
- /*0x200B*/ u8 scrollIndicatorsTaskId;
- /*0x200C*/ u8 iconSlot;
- /*0x200D*/ u8 itemSpriteIds[2];
- /*0x2010*/ s16 viewportObjects[OBJECT_EVENTS_COUNT][5];
-};
-
void CreatePokemartMenu(const u16 *);
void CreateDecorationShop1Menu(const u16 *);
void CreateDecorationShop2Menu(const u16 *);
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 de2acf33b9..ee57ce781c 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -17,6 +17,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);
@@ -30,6 +33,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);
@@ -693,6 +699,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);
@@ -1307,6 +1314,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 169fa5f4f6..261349dce1 100644
--- a/src/battle_ai_switch_items.c
+++ b/src/battle_ai_switch_items.c
@@ -446,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)
@@ -458,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
{
@@ -557,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))
@@ -601,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)
@@ -653,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;
@@ -665,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 c0e2ff7265..8f92f0d50a 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -365,7 +365,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();
@@ -373,7 +373,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);
@@ -382,7 +382,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
{
@@ -423,12 +423,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
{
@@ -465,14 +465,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++;
@@ -499,7 +499,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
{
@@ -538,7 +538,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)
@@ -677,7 +677,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
@@ -951,26 +951,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;
@@ -988,21 +988,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);
@@ -1014,7 +1014,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)
@@ -1041,8 +1041,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;
}
@@ -1052,7 +1052,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;
@@ -1179,7 +1179,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;
@@ -1274,7 +1274,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);
@@ -1291,8 +1291,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);
@@ -1436,7 +1436,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)
@@ -1448,7 +1448,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();
}
@@ -1457,7 +1457,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++)
@@ -1486,7 +1486,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);
@@ -1497,12 +1497,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);
@@ -1673,7 +1673,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;
@@ -2565,7 +2565,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;
@@ -2611,7 +2611,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);
@@ -2816,7 +2816,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 8385e831b0..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
@@ -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..355397a1ed 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,
@@ -318,10 +318,17 @@ static const struct SpriteTemplate sHealthbarSpriteTemplates[MAX_BATTLERS_COUNT]
}
};
+/* v-- Origin
+[0 + ][1 ]
+[ ][ ]
+[ ][ ]
+[______________][______] 96x40
+[2 ][3 ][4 ]
+*/
static const struct Subsprite sUnused_Subsprites_0[] =
{
{
- .x = DISPLAY_WIDTH,
+ .x = -16,
.y = 0,
.shape = SPRITE_SHAPE(64x32),
.size = SPRITE_SIZE(64x32),
@@ -337,7 +344,7 @@ static const struct Subsprite sUnused_Subsprites_0[] =
.priority = 1
},
{
- .x = DISPLAY_WIDTH,
+ .x = -16,
.y = 32,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
@@ -362,10 +369,11 @@ static const struct Subsprite sUnused_Subsprites_0[] =
}
};
+// This subsprite table has the same layout as above, but offset by 64 base tiles.
static const struct Subsprite sUnused_Subsprites_2[] =
{
{
- .x = DISPLAY_WIDTH,
+ .x = -16,
.y = 0,
.shape = SPRITE_SHAPE(64x32),
.size = SPRITE_SIZE(64x32),
@@ -381,7 +389,7 @@ static const struct Subsprite sUnused_Subsprites_2[] =
.priority = 1
},
{
- .x = DISPLAY_WIDTH,
+ .x = -16,
.y = 32,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
@@ -406,10 +414,16 @@ static const struct Subsprite sUnused_Subsprites_2[] =
}
};
+/* v-- Origin
+[0 + ][1 ]
+[ ][ ]
+[ ][ ]
+[ ][ ] 96x32
+*/
static const struct Subsprite sUnused_Subsprites_1[] =
{
{
- .x = DISPLAY_WIDTH,
+ .x = -16,
.y = 0,
.shape = SPRITE_SHAPE(64x32),
.size = SPRITE_SIZE(64x32),
@@ -426,10 +440,11 @@ static const struct Subsprite sUnused_Subsprites_1[] =
}
};
+// Same as above
static const struct Subsprite sUnused_Subsprites_3[] =
{
{
- .x = DISPLAY_WIDTH,
+ .x = -16,
.y = 0,
.shape = SPRITE_SHAPE(64x32),
.size = SPRITE_SIZE(64x32),
@@ -446,10 +461,13 @@ static const struct Subsprite sUnused_Subsprites_3[] =
}
};
+/* v-- Origin
+[0 + ][1 ] 64x8
+*/
static const struct Subsprite sHealthBar_Subsprites_Player[] =
{
{
- .x = DISPLAY_WIDTH,
+ .x = -16,
.y = 0,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
@@ -466,10 +484,14 @@ static const struct Subsprite sHealthBar_Subsprites_Player[] =
}
};
+/* v-- Origin
+[] [0 + ][1 ] 8x8 + 64x8
+2^ ^--- Note 8px space
+*/
static const struct Subsprite sHealthBar_Subsprites_Opponent[] =
{
{
- .x = DISPLAY_WIDTH,
+ .x = -16,
.y = 0,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
@@ -485,7 +507,7 @@ static const struct Subsprite sHealthBar_Subsprites_Opponent[] =
.priority = 1
},
{
- .x = DISPLAY_WIDTH - 16,
+ .x = -32,
.y = 0,
.shape = SPRITE_SHAPE(8x8),
.size = SPRITE_SIZE(8x8),
@@ -507,11 +529,13 @@ static const struct SubspriteTable sHealthBar_SubspriteTables[] =
[B_SIDE_PLAYER] = {ARRAY_COUNT(sHealthBar_Subsprites_Player), sHealthBar_Subsprites_Player},
[B_SIDE_OPPONENT] = {ARRAY_COUNT(sHealthBar_Subsprites_Opponent), sHealthBar_Subsprites_Opponent}
};
-
+/* v-- Origin
+[0 ][1 ][2 ][3 ] 128x8
+*/
static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] =
{
{
- .x = 32 * 5,
+ .x = 32 * -3,
.y = 0,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
@@ -519,7 +543,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] =
.priority = 1
},
{
- .x = 32 * 6,
+ .x = 32 * -2,
.y = 0,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
@@ -527,7 +551,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] =
.priority = 1
},
{
- .x = 32 * 7,
+ .x = 32 * -1,
.y = 0,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
@@ -544,10 +568,14 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] =
}
};
+/* v-- Origin
+[0 ][1 ][2 ][3 ][4 ][5 ] 192x8
+ ^-- uses same tiles --^
+*/
static const struct Subsprite sStatusSummaryBar_Subsprites_Exit[] =
{
{
- .x = 32 * 5,
+ .x = 32 * -3,
.y = 0,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
@@ -555,7 +583,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Exit[] =
.priority = 1
},
{
- .x = 32 * 6,
+ .x = 32 * -2,
.y = 0,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
@@ -563,7 +591,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Exit[] =
.priority = 1
},
{
- .x = 32 * 7,
+ .x = 32 * -1,
.y = 0,
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
@@ -635,7 +663,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 +680,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 +936,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 +1122,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 +1130,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 +1151,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 +1162,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 +1207,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 +1226,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 +1245,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 +1278,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 +1292,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 +1341,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 +1362,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 +1400,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 +1408,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 +1952,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 +1962,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 +1986,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 +2046,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 +2059,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 +2139,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 +2156,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 +2301,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 +2323,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 +2550,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 +2566,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 6251fa3e81..4c682cdc64 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;
@@ -3008,7 +3007,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)
{
@@ -3061,13 +3060,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;
}
@@ -3128,14 +3127,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++)
@@ -3228,23 +3227,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]);
@@ -3252,18 +3251,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);
@@ -3298,48 +3297,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]);
@@ -3347,11 +3346,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;
@@ -3394,8 +3393,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;
}
}
@@ -3410,7 +3409,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++)
@@ -3418,7 +3417,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
}
else
{
- u16* hpOnSwitchout;
+ u16 *hpOnSwitchout;
ptr = (u8 *)&gBattleMons[gActiveBattler];
for (i = 0; i < sizeof(struct BattlePokemon); i++)
@@ -3568,7 +3567,6 @@ static void BattleIntroDrawPartySummaryScreens(void)
gBattleMainFunc = BattleIntroPrintWildMonAttacked;
}
-
}
static void BattleIntroPrintTrainerWantsToBattle(void)
@@ -3862,7 +3860,7 @@ static void TryDoEventsBeforeFirstTurn(void)
gBattleStruct->switchInAbilitiesCounter++;
- if (effect)
+ if (effect != 0)
return;
}
if (AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE1, 0, 0, 0, 0) != 0)
@@ -3877,7 +3875,7 @@ static void TryDoEventsBeforeFirstTurn(void)
gBattleStruct->switchInItemsCounter++;
- if (effect)
+ if (effect != 0)
return;
}
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
@@ -4020,11 +4018,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);
@@ -4036,7 +4034,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
@@ -4046,7 +4044,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);
@@ -4055,20 +4053,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)
@@ -4078,7 +4076,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));
@@ -4088,15 +4086,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];
}
}
}
@@ -4324,7 +4322,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;
@@ -4457,7 +4455,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);
}
@@ -4566,13 +4564,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];
}
}
@@ -4854,7 +4852,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;
@@ -4882,7 +4880,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;
@@ -5208,7 +5206,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..67afaefe1b 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);
}
@@ -645,7 +645,7 @@ static void BagCursorMoved(s32 itemIndex, bool8 onInit, struct ListMenu *list)
if (itemIndex != LIST_CANCEL)
ShowItemIcon(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][itemIndex], gPyramidBagMenu->isAltIcon);
else
- ShowItemIcon(0xFFFF, gPyramidBagMenu->isAltIcon); // Show exit arrow if on Cancel
+ ShowItemIcon(ITEM_LIST_END, gPyramidBagMenu->isAltIcon); // Show exit arrow if on Cancel
gPyramidBagMenu->isAltIcon ^= 1;
PrintItemDescription(itemIndex);
}
@@ -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 46e9b0bb94..4239d4111b 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);
@@ -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);
@@ -1552,7 +1554,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)
@@ -1750,7 +1753,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;
@@ -1807,8 +1811,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++;
@@ -1833,8 +1837,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++;
}
@@ -2210,7 +2214,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);
@@ -2224,7 +2228,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;
@@ -2530,7 +2534,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;
}
@@ -2593,7 +2597,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
@@ -2697,7 +2700,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++;
}
@@ -2772,20 +2775,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++;
@@ -2808,9 +2811,9 @@ void SetMoveEffect(bool8 primary, u8 certain)
}
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);
@@ -2823,10 +2826,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:
@@ -2890,7 +2892,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++;
}
@@ -2907,14 +2909,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
{
@@ -3109,9 +3111,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;
@@ -3121,9 +3123,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;
@@ -3133,7 +3135,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)
{
@@ -3180,7 +3182,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);
@@ -3265,7 +3267,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;
@@ -3378,7 +3380,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);
@@ -3544,8 +3546,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;
@@ -3681,9 +3683,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;
@@ -3719,9 +3721,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;
@@ -3757,9 +3759,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;
@@ -3794,10 +3796,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++)
@@ -3817,10 +3819,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++)
@@ -3838,7 +3840,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;
@@ -3846,22 +3848,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;
@@ -3873,9 +3875,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;
@@ -3887,14 +3889,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;
@@ -3903,7 +3905,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;
@@ -3912,14 +3914,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;
@@ -3928,7 +3930,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;
@@ -3987,7 +3989,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)
@@ -4026,7 +4029,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);
@@ -4068,8 +4071,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);
@@ -4300,7 +4303,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++;
@@ -4324,24 +4327,24 @@ static void Cmd_moveend(void)
{
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 = MOVE_NONE;
- ++gBattleScripting.moveendState;
+ gBattleScripting.moveendState++;
break;
case MOVEEND_CHANGED_ITEMS: // changed held items
for (i = 0; i < gBattlersCount; i++)
{
- u16* changedItem = &gBattleStruct->changedItems[i];
+ u16 *changedItem = &gBattleStruct->changedItems[i];
if (*changedItem != ITEM_NONE)
{
gBattleMons[i].item = *changedItem;
@@ -4474,11 +4477,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;
@@ -4652,7 +4655,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];
@@ -4665,7 +4668,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)
@@ -4707,7 +4710,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]);
@@ -5140,7 +5143,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;
@@ -5161,7 +5164,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;
@@ -5213,13 +5216,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)
{
@@ -5279,7 +5282,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;
@@ -5298,7 +5301,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;
}
@@ -5307,7 +5310,7 @@ static void Cmd_switchineffects(void)
u32 hitmarkerFaintBits = gHitMarker >> 28;
gBattlerFainted++;
- while (1)
+ while (TRUE)
{
if (hitmarkerFaintBits & gBitTable[gBattlerFainted] && !(gAbsentBattlerFlags & gBitTable[gBattlerFainted]))
break;
@@ -5422,7 +5425,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;
@@ -5448,7 +5451,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++;
}
@@ -5519,7 +5522,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:
@@ -5536,7 +5539,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;
@@ -5566,13 +5569,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;
}
@@ -5683,7 +5686,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];
@@ -5832,7 +5835,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;
@@ -5857,13 +5860,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;
@@ -5880,7 +5883,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;
@@ -5922,13 +5926,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);
@@ -6171,14 +6175,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;
@@ -6195,7 +6199,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;
@@ -6279,19 +6283,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;
@@ -6306,18 +6310,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;
@@ -6334,7 +6338,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)
@@ -6351,7 +6355,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
@@ -6391,7 +6395,7 @@ static void Cmd_various(void)
break;
}
if (i == MAX_MON_MOVES)
- *choicedMove = 0;
+ *choicedMove = MOVE_NONE;
}
break;
case VARIOUS_RESET_PLAYER_FAINTED:
@@ -6420,7 +6424,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;
@@ -6461,10 +6468,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:
@@ -6518,7 +6525,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];
@@ -6632,7 +6640,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;
@@ -6662,8 +6670,7 @@ static void Cmd_trymirrormove(void)
{
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 != MOVE_NONE && move != MOVE_UNAVAILABLE)
{
@@ -6673,8 +6680,7 @@ static void Cmd_trymirrormove(void)
}
}
- move = *(gBattleStruct->lastTakenMove + gBattlerAttacker * 2 + 0)
- | (*(gBattleStruct->lastTakenMove + gBattlerAttacker * 2 + 1) << 8);
+ move = T1_READ_16(gBattleStruct->lastTakenMove + gBattlerAttacker * 2);
if (move != MOVE_NONE && move != MOVE_UNAVAILABLE)
{
@@ -6805,7 +6811,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;
@@ -6887,7 +6893,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;
@@ -6913,7 +6919,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)
{
@@ -6951,8 +6957,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)
{
@@ -6971,9 +6977,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)
@@ -6982,7 +6988,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)
{
@@ -6996,19 +7002,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)
{
@@ -7024,12 +7030,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;
@@ -7037,12 +7043,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;
@@ -7050,11 +7056,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
{
@@ -7068,19 +7074,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
@@ -7095,12 +7097,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)
@@ -7115,23 +7114,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;
@@ -7217,7 +7217,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;
@@ -7234,78 +7234,78 @@ static void Cmd_forcerandomswitch(void)
{
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)) == 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) != 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];
@@ -7352,7 +7352,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)
@@ -7365,7 +7365,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;
@@ -7405,7 +7406,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;
@@ -7553,7 +7553,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)
@@ -7697,7 +7698,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);
@@ -7763,8 +7764,8 @@ static void Cmd_transformdataexecution(void)
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];
@@ -7849,7 +7850,6 @@ static void Cmd_mimicattackcopy(void)
else
gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = 5;
-
PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBattlerTarget])
gDisableStructs[gBattlerAttacker].mimickedMoves |= gBitTable[gCurrMovePos];
@@ -7864,7 +7864,7 @@ static void Cmd_mimicattackcopy(void)
static void Cmd_metronome(void)
{
- while (1)
+ while (TRUE)
{
s32 i;
@@ -7875,7 +7875,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)
@@ -7936,7 +7936,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);
@@ -8022,7 +8023,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;
@@ -8040,7 +8041,8 @@ 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] == MOVE_UNAVAILABLE)
@@ -8108,7 +8110,8 @@ static void Cmd_setalwayshitflag(void)
gBattlescriptCurrInstr++;
}
-static void Cmd_copymovepermanently(void) // sketch
+// Sketch
+static void Cmd_copymovepermanently(void)
{
gChosenMove = MOVE_UNAVAILABLE;
@@ -8220,7 +8223,6 @@ static void Cmd_trychoosesleeptalkmove(void)
{
unusableMovesBits |= gBitTable[i];
}
-
}
unusableMovesBits = CheckMoveLimitations(gBattlerAttacker, unusableMovesBits, ~MOVE_LIMITATION_PP);
@@ -8364,7 +8366,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]))
@@ -8414,7 +8416,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]))
{
@@ -8453,7 +8455,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)
{
@@ -8574,7 +8576,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++;
}
@@ -8665,7 +8667,6 @@ static void Cmd_magnitudedamagecalculation(void)
magnitude = 10;
}
-
PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 2, magnitude)
for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++)
@@ -8740,7 +8741,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;
@@ -8763,7 +8765,8 @@ static void Cmd_maxattackhalvehp(void) // belly drum
}
}
-static void Cmd_copyfoestats(void) // psych up
+// Psych Up
+static void Cmd_copyfoestats(void)
{
s32 i;
@@ -8933,7 +8936,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)
{
@@ -9041,7 +9044,8 @@ static void Cmd_trymemento(void)
}
}
-static void Cmd_setforcedtarget(void) // follow me
+// Follow Me
+static void Cmd_setforcedtarget(void)
{
gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTimer = 1;
gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTarget = gBattlerAttacker;
@@ -9056,7 +9060,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];
@@ -9065,7 +9070,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))
{
@@ -9118,7 +9124,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])
@@ -9134,7 +9140,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
@@ -9200,11 +9207,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;
@@ -9221,7 +9228,8 @@ static void Cmd_tryswapitems(void) // trick
}
}
-static void Cmd_trycopyability(void) // role play
+// Role Play
+static void Cmd_trycopyability(void)
{
if (gBattleMons[gBattlerTarget].ability != ABILITY_NONE
&& gBattleMons[gBattlerTarget].ability != ABILITY_WONDER_GUARD)
@@ -9269,7 +9277,8 @@ static void Cmd_trywish(void)
}
}
-static void Cmd_trysetroots(void) // ingrain
+// Ingrain
+static void Cmd_trysetroots(void)
{
if (gStatuses3[gBattlerAttacker] & STATUS3_ROOTED)
{
@@ -9284,9 +9293,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;
@@ -9334,7 +9343,8 @@ static void Cmd_scaledamagebyhealthratio(void)
gBattlescriptCurrInstr++;
}
-static void Cmd_tryswapabilities(void) // skill swap
+// Skill Swap
+static void Cmd_tryswapabilities(void)
{
if ((gBattleMons[gBattlerAttacker].ability == ABILITY_NONE
&& gBattleMons[gBattlerTarget].ability == ABILITY_NONE)
@@ -9429,9 +9439,9 @@ static void Cmd_weightdamagecalculation(void)
static void Cmd_assistattackselect(void)
{
s32 chooseableMovesNo = 0;
- struct Pokemon* party;
+ struct Pokemon *party;
s32 monId, moveId;
- u16* validMoves = gBattleStruct->assistPossibleMoves;
+ u16 *validMoves = gBattleStruct->assistPossibleMoves;
if (GET_BATTLER_SIDE(gBattlerAttacker) != B_SIDE_PLAYER)
party = gEnemyParty;
@@ -9489,12 +9499,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
@@ -9698,7 +9709,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;
@@ -9711,7 +9723,7 @@ static void Cmd_settypebasedhalvers(void) // water and mud sport
worked = TRUE;
}
}
- else // water sport
+ else // Water Sport
{
if (!(gStatuses3[gBattlerAttacker] & STATUS3_WATERSPORT))
{
@@ -9789,7 +9801,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])
@@ -9822,9 +9834,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)
{
@@ -9852,7 +9865,7 @@ static void Cmd_handleballthrow(void)
return;
gActiveBattler = gBattlerAttacker;
- gBattlerTarget = gBattlerAttacker ^ BIT_SIDE;
+ gBattlerTarget = BATTLE_OPPOSITE(gBattlerAttacker);
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
@@ -9994,18 +10007,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;
}
@@ -10015,9 +10028,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++;
}
@@ -10162,7 +10175,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;
@@ -10205,22 +10218,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 be2f7e8591..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)
@@ -1037,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)
@@ -1194,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)
@@ -1207,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)
@@ -1320,7 +1320,7 @@ void BattleSetup_StartTrainerBattle(void)
else
DoTrainerBattle();
- ScriptContext1_Stop();
+ ScriptContext_Stop();
}
static void CB2_EndTrainerBattle(void)
@@ -1371,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 865b0112ce..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;
@@ -823,7 +823,8 @@ void PressurePPLoseOnUsingPerishSong(u8 attacker)
}
}
-void MarkAllBattlersForControllerExec(void) // unused
+// Unused
+static void MarkAllBattlersForControllerExec(void)
{
int i;
@@ -961,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)
{
@@ -1108,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.
{
@@ -1199,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;
}
@@ -1220,10 +1220,10 @@ u8 DoFieldEndTurnEffects(void)
}
}
gBattleStruct->turnSideTracker++;
- if (effect)
+ if (effect != 0)
break;
}
- if (!effect)
+ if (effect == 0)
{
gBattleStruct->turnCountersTracker++;
gBattleStruct->turnSideTracker = 0;
@@ -1246,10 +1246,10 @@ u8 DoFieldEndTurnEffects(void)
}
}
gBattleStruct->turnSideTracker++;
- if (effect)
+ if (effect != 0)
break;
}
- if (!effect)
+ if (effect == 0)
{
gBattleStruct->turnCountersTracker++;
gBattleStruct->turnSideTracker = 0;
@@ -1260,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);
@@ -1270,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;
@@ -1294,10 +1293,10 @@ u8 DoFieldEndTurnEffects(void)
}
}
gBattleStruct->turnSideTracker++;
- if (effect)
+ if (effect != 0)
break;
}
- if (!effect)
+ if (effect == 0)
{
gBattleStruct->turnCountersTracker++;
gBattleStruct->turnSideTracker = 0;
@@ -1316,10 +1315,10 @@ u8 DoFieldEndTurnEffects(void)
effect++;
}
gBattleStruct->turnSideTracker++;
- if (effect)
+ if (effect != 0)
break;
}
- if (!effect)
+ if (effect == 0)
{
gBattleStruct->turnCountersTracker++;
}
@@ -1687,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++;
}
@@ -1704,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++;
@@ -1800,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;
}
@@ -2103,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;
@@ -2172,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;
@@ -2210,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])
{
@@ -2261,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))
@@ -2275,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)
{
@@ -2292,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++)
{
@@ -2369,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);
@@ -2506,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);
@@ -2548,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;
@@ -2569,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;
@@ -2909,7 +2908,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
}
break;
}
- if (effect)
+ if (effect != 0)
{
switch (effect)
{
@@ -2940,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;
@@ -3002,7 +3001,7 @@ 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)
@@ -3040,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;
@@ -3300,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;
@@ -3371,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;
@@ -3583,7 +3582,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
}
break;
}
- if (effect)
+ if (effect != 0)
{
gBattleScripting.battler = battlerId;
gPotentialItemEffectBattler = battlerId;
@@ -3727,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;
@@ -3737,7 +3736,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
}
break;
}
- if (effect)
+ if (effect != 0)
{
gBattleScripting.battler = battlerId;
gPotentialItemEffectBattler = battlerId;
@@ -3821,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
@@ -3845,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)
@@ -3873,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..140d1042eb 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,
@@ -1008,7 +1008,7 @@ static bool8 LoadBerryBlenderGfx(void)
static void DrawBlenderBg(void)
{
- FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(0);
ShowBg(0);
ShowBg(1);
@@ -1029,7 +1029,7 @@ static void InitBerryBlenderWindows(void)
for (i = 0; i < 5; i++)
FillWindowPixelBuffer(i, PIXEL_FILL(0));
- FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
Menu_LoadStdPalAt(0xE0);
}
}
@@ -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 dc9c50d2e1..2780c87f44 100644
--- a/src/braille_puzzles.c
+++ b/src/braille_puzzles.c
@@ -87,7 +87,7 @@ void DoBrailleDigEffect(void)
DrawWholeMapView();
PlaySE(SE_BANG);
FlagSet(FLAG_SYS_BRAILLE_DIG);
- ScriptContext2_Disable();
+ UnlockPlayerFieldControls();
}
bool8 CheckRelicanthWailord(void)
@@ -153,7 +153,7 @@ static void Task_SealedChamberShakingEffect(u8 taskId)
if (task->tShakeCounter == task->tNumShakes)
{
DestroyTask(taskId);
- EnableBothScriptContexts();
+ ScriptContext_Enable();
InstallCameraPanAheadCallback();
}
}
@@ -214,7 +214,7 @@ static void DoBrailleRegirockEffect(void)
DrawWholeMapView();
PlaySE(SE_BANG);
FlagSet(FLAG_SYS_REGIROCK_PUZZLE_COMPLETED);
- ScriptContext2_Disable();
+ UnlockPlayerFieldControls();
UnfreezeObjectEvents();
}
@@ -254,7 +254,7 @@ static void DoBrailleRegisteelEffect(void)
DrawWholeMapView();
PlaySE(SE_BANG);
FlagSet(FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED);
- ScriptContext2_Disable();
+ UnlockPlayerFieldControls();
UnfreezeObjectEvents();
}
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 a520588a09..0f77df814c 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,
@@ -525,6 +525,9 @@ static const struct SpriteTemplate sSpriteTemplates_NextTurn[CONTESTANT_COUNT] =
}
};
+/* v-- Origin
+[0 +][1 ] 64x8
+*/
static const struct Subsprite sSubsprites_NextTurn[] =
{
{
@@ -859,19 +862,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 +1399,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 +1585,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 +1817,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 +2079,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 +2121,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 +2234,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 +2756,8 @@ static void Task_ContestReturnToField(u8 taskId)
static void FieldCB_ContestReturnToField(void)
{
- ScriptContext2_Disable();
- EnableBothScriptContexts();
+ UnlockPlayerFieldControls();
+ ScriptContext_Enable();
}
static void TryPutPlayerLast(void)
@@ -3666,7 +3669,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 +4580,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)
diff --git a/src/contest_util.c b/src/contest_util.c
index d8726d860f..9a38251760 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,
@@ -1167,24 +1167,24 @@ static void TryCreateWirelessSprites(void)
static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId)
{
u16 windowId;
- int origWidth;
+ int tileWidth;
int strWidth;
u8 *spriteTilePtrs[4];
u8 *dst;
struct WindowTemplate windowTemplate;
memset(&windowTemplate, 0, sizeof(windowTemplate));
- windowTemplate.width = 30;
+ windowTemplate.width = DISPLAY_TILE_WIDTH;
windowTemplate.height = 2;
windowId = AddWindow(&windowTemplate);
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
- origWidth = GetStringWidth(FONT_NORMAL, text, 0);
- strWidth = (origWidth + 9) / 8;
- if (strWidth > 30)
- strWidth = 30;
+ strWidth = GetStringWidth(FONT_NORMAL, text, 0);
+ tileWidth = (strWidth + 9) / 8;
+ if (tileWidth > DISPLAY_TILE_WIDTH)
+ tileWidth = DISPLAY_TILE_WIDTH;
- AddTextPrinterParameterized3(windowId, FONT_NORMAL, (strWidth * 8 - origWidth) / 2, 1, sContestLinkTextColors, TEXT_SKIP_DRAW, text);
+ AddTextPrinterParameterized3(windowId, FONT_NORMAL, (tileWidth * 8 - strWidth) / 2, 1, sContestLinkTextColors, TEXT_SKIP_DRAW, text);
{
s32 i;
struct Sprite *sprite;
@@ -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);
@@ -1207,7 +1207,7 @@ static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId)
CpuCopy32(src + 128, dst + 0x200, 0x20);
CpuCopy32(src + 64, dst + 0x300, 0x20);
- for (i = 0; i < strWidth; i++)
+ for (i = 0; i < tileWidth; i++)
{
dst = &spriteTilePtrs[(i + 1) / 8][((i + 1) % 8) * 32];
CpuCopy32(src + 192, dst, 0x20);
@@ -1225,7 +1225,7 @@ static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId)
}
RemoveWindow(windowId);
- return (DISPLAY_WIDTH - (strWidth + 2) * 8) / 2;
+ return (DISPLAY_WIDTH - (tileWidth + 2) * 8) / 2;
}
static void CreateResultsTextWindowSprites(void)
@@ -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..4156e45ba4 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -183,7 +183,7 @@ static const struct WindowTemplate sWindowTemplates[] =
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 9,
- .width = 30,
+ .width = DISPLAY_TILE_WIDTH,
.height = 12,
.paletteNum = 8,
.baseBlock = 1
@@ -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_exchange_corner.h b/src/data/battle_frontier/battle_frontier_exchange_corner.h
index 426285e92e..3a1eef76d4 100644
--- a/src/data/battle_frontier/battle_frontier_exchange_corner.h
+++ b/src/data/battle_frontier/battle_frontier_exchange_corner.h
@@ -10,7 +10,7 @@ static const u16 sFrontierExchangeCorner_Decor1[] =
DECOR_CYNDAQUIL_DOLL,
DECOR_CHIKORITA_DOLL,
DECOR_TOTODILE_DOLL,
- 0xFFFF
+ ITEM_LIST_END
};
static const u16 sFrontierExchangeCorner_Decor2[] =
@@ -20,7 +20,7 @@ static const u16 sFrontierExchangeCorner_Decor2[] =
DECOR_VENUSAUR_DOLL,
DECOR_CHARIZARD_DOLL,
DECOR_BLASTOISE_DOLL,
- 0xFFFF
+ ITEM_LIST_END
};
static const u16 sFrontierExchangeCorner_Vitamins[] =
@@ -31,7 +31,7 @@ static const u16 sFrontierExchangeCorner_Vitamins[] =
ITEM_ZINC,
ITEM_CARBOS,
ITEM_HP_UP,
- 0xFFFF
+ ITEM_LIST_END
};
static const u16 sFrontierExchangeCorner_HoldItems[] =
@@ -45,7 +45,7 @@ static const u16 sFrontierExchangeCorner_HoldItems[] =
ITEM_KINGS_ROCK,
ITEM_FOCUS_BAND,
ITEM_SCOPE_LENS,
- 0xFFFF
+ ITEM_LIST_END
};
static const u8 *const sFrontierExchangeCorner_Decor1Descriptions[] =
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 5e7b2a1f84..14113d3a43 100755
--- a/src/data/field_effects/field_effect_object_template_pointers.h
+++ b/src/data/field_effects/field_effect_object_template_pointers.h
@@ -1,43 +1,43 @@
-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;
-const struct SpriteTemplate gFieldEffectObjectTemplate_SlitherTracks;
-const struct SpriteTemplate gFieldEffectObjectTemplate_BugTracks;
-const struct SpriteTemplate gFieldEffectObjectTemplate_SpotTracks;
+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;
+extern const struct SpriteTemplate gFieldEffectObjectTemplate_SlitherTracks;
+extern const struct SpriteTemplate gFieldEffectObjectTemplate_BugTracks;
+extern const struct SpriteTemplate gFieldEffectObjectTemplate_SpotTracks;
const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = {
[FLDEFFOBJ_SHADOW_S] = &gFieldEffectObjectTemplate_ShadowSmall,
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/item_icon_table.h b/src/data/item_icon_table.h
index ea8315e760..64328f7b17 100644
--- a/src/data/item_icon_table.h
+++ b/src/data/item_icon_table.h
@@ -1,4 +1,4 @@
-const u32 *const gItemIconTable[][2] =
+const u32 *const gItemIconTable[ITEMS_COUNT + 1][2] =
{
[ITEM_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
// Pokeballs
@@ -402,5 +402,5 @@ const u32 *const gItemIconTable[][2] =
[ITEM_MAGMA_EMBLEM] = {gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem},
[ITEM_OLD_SEA_MAP] = {gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap},
// Return to field arrow
- [ITEM_FIELD_ARROW] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow},
+ [ITEMS_COUNT] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow},
};
diff --git a/src/data/object_events/movement_action_func_tables.h b/src/data/object_events/movement_action_func_tables.h
index fc3d0c0f02..5736cc2acf 100755
--- a/src/data/object_events/movement_action_func_tables.h
+++ b/src/data/object_events/movement_action_func_tables.h
@@ -258,9 +258,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 *);
@@ -417,8 +417,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 *);
@@ -577,8 +577,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 4db5967088..52a5fc643c 100755
--- a/src/data/object_events/object_event_graphics_info_pointers.h
+++ b/src/data/object_events/object_event_graphics_info_pointers.h
@@ -1,253 +1,253 @@
-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;
+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;
// Begin pokemon event objects
-const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AnimatedBall;
-const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Follower;
-
-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_AnimatedBall;
+extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Follower;
+
+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..c16c2cdb31 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(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(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..268b930ae8 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,
@@ -4675,7 +4675,7 @@ static void ShowNames(void)
ClearWindowTilemap(sGfx->windowIds[i]);
RemoveWindow(sGfx->windowIds[i]);
}
- FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(BG_INTERFACE);
sGfx->finished = TRUE;
}
@@ -4859,7 +4859,7 @@ static void ShowResults(void)
sGfx->state++;
}
- FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 5, 30, 15);
+ FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 5, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT - 5);
RemoveWindow(sGfx->windowIds[1]);
sGfx->windowIds[1] = AddWindow(&sWindowTemplate_Prize);
ClearWindowTilemap(sGfx->windowIds[1]);
@@ -4917,7 +4917,7 @@ static void ShowResults(void)
ClearWindowTilemap(sGfx->windowIds[1]);
RemoveWindow(sGfx->windowIds[0]);
RemoveWindow(sGfx->windowIds[1]);
- FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(BG_INTERFACE);
sGfx->finished = TRUE;
break;
@@ -5012,7 +5012,7 @@ static void Msg_WantToPlayAgain(void)
ClearWindowTilemap(sGfx->windowIds[WIN_YES_NO]);
RemoveWindow(sGfx->windowIds[WIN_PLAY_AGAIN]);
RemoveWindow(sGfx->windowIds[WIN_YES_NO]);
- FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(BG_INTERFACE);
sGfx->finished = TRUE;
break;
@@ -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:
@@ -5044,7 +5044,7 @@ static void Msg_SavingDontTurnOff(void)
sGfx->state++;
break;
default:
- FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(BG_INTERFACE);
sGfx->finished = TRUE;
break;
@@ -5083,7 +5083,7 @@ static void EraseMessage(void)
{
ClearWindowTilemap(sGfx->windowIds[0]);
RemoveWindow(sGfx->windowIds[0]);
- FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(BG_INTERFACE);
sGfx->finished = TRUE;
}
@@ -5121,7 +5121,7 @@ static void Msg_SomeoneDroppedOut(void)
sGfx->playAgainState = PLAY_AGAIN_DROPPED;
ClearWindowTilemap(sGfx->windowIds[0]);
RemoveWindow(sGfx->windowIds[0]);
- FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(BG_INTERFACE);
sGfx->finished = TRUE;
break;
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 60e0b035da..960755c841 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -112,36 +112,36 @@ 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 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_FootprintsB(struct ObjectEvent*, struct Sprite*, u8);
static void DoTracksGroundEffect_FootprintsC(struct ObjectEvent*, struct Sprite*, u8);
-static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent*, struct Sprite*, u8);
+static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent *, struct Sprite *, u8);
static void DoTracksGroundEffect_SlitherTracks(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 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 *);
@@ -1599,7 +1599,7 @@ u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *),
bool8 shiny;
u8 paletteNum;
- spriteTemplate = malloc(sizeof(struct SpriteTemplate));
+ spriteTemplate = Alloc(sizeof(struct SpriteTemplate));
if (graphicsId == OBJ_EVENT_GFX_OW_MON && GetFollowerInfo(&species, &form, &shiny)) {
const struct ObjectEventGraphicsInfo *graphicsInfo = SpeciesToGraphicsInfo(species, form);
spriteTemplate->tileTag = graphicsInfo->tileTag;
@@ -1621,7 +1621,7 @@ u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *),
LoadObjectEventPalette(spriteTemplate->paletteTag);
spriteId = CreateSprite(spriteTemplate, x, y, subpriority);
- free(spriteTemplate);
+ Free(spriteTemplate);
if (spriteId != MAX_SPRITES && subspriteTables != NULL)
{
@@ -2462,9 +2462,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)
@@ -5505,7 +5505,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;
@@ -5522,7 +5522,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);
@@ -9851,13 +9851,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,
};
@@ -9873,36 +9873,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;
}
@@ -9918,7 +9918,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;
@@ -9928,9 +9928,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;
}
@@ -9953,7 +9953,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_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 196eb44b37..4dfb981477 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);
@@ -405,6 +405,11 @@ static const struct SpriteFrameImage sPicTable_HofMonitorSmall[] =
{.data = sHofMonitorSmall_Gfx, .size = 0x200} // the macro breaks down here
};
+/*
+[0_][] <-1 24x16
+[2 ][] <-3
+ ^-- Origin
+*/
static const struct Subsprite sSubsprites_PokecenterMonitor[] =
{
{
@@ -443,6 +448,11 @@ static const struct Subsprite sSubsprites_PokecenterMonitor[] =
static const struct SubspriteTable sSubspriteTable_PokecenterMonitor = subsprite_table(sSubsprites_PokecenterMonitor);
+/*
+[0_____][1_____] 24x16
+[2 ][3 ]
+ ^-- Origin
+*/
static const struct Subsprite sSubsprites_HofMonitorBig[] =
{
{
@@ -904,7 +914,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 +925,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;
@@ -1339,7 +1349,7 @@ void FieldCallback_Fly(void)
{
FadeInFromBlack();
CreateTask(Task_UseFly, 0);
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
FreezeObjectEvents();
gFieldCallback = NULL;
}
@@ -1380,7 +1390,7 @@ static void FieldCallback_FlyIntoMap(void)
{
ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], DIR_WEST);
}
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
FreezeObjectEvents();
gFieldCallback = NULL;
}
@@ -1400,7 +1410,7 @@ static void Task_FlyIntoMap(u8 taskId)
}
if (!FieldEffectActiveListContains(FLDEFF_FLY_IN))
{
- ScriptContext2_Disable();
+ UnlockPlayerFieldControls();
UnfreezeObjectEvents();
DestroyTask(taskId);
}
@@ -1419,7 +1429,7 @@ void FieldCB_FallWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
WarpFadeInScreen();
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
FreezeObjectEvents();
CreateTask(Task_FallWarpFieldEffect, 0);
gFieldCallback = NULL;
@@ -1533,7 +1543,7 @@ static bool8 FallWarpEffect_CameraShake(struct Task *task)
static bool8 FallWarpEffect_End(struct Task *task)
{
gPlayerAvatar.preventStep = FALSE;
- ScriptContext2_Disable();
+ UnlockPlayerFieldControls();
CameraObjectReset1();
UnfreezeObjectEvents();
InstallCameraPanAheadCallback();
@@ -1695,7 +1705,7 @@ static void FieldCallback_EscalatorWarpIn(void)
{
Overworld_PlaySpecialMapMusic();
WarpFadeInScreen();
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
CreateTask(Task_EscalatorWarpIn, 0);
gFieldCallback = NULL;
}
@@ -1816,7 +1826,7 @@ static bool8 EscalatorWarpIn_End(struct Task *task)
if (ObjectEventClearHeldMovementIfFinished(objectEvent))
{
CameraObjectReset1();
- ScriptContext2_Disable();
+ UnlockPlayerFieldControls();
ObjectEventSetHeldMovement(objectEvent, GetWalkNormalMovementAction(DIR_EAST));
DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpIn));
}
@@ -1844,7 +1854,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;
@@ -1852,7 +1862,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);
@@ -1892,7 +1902,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);
@@ -1926,7 +1936,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]++;
@@ -2066,7 +2076,7 @@ static void FieldCB_LavaridgeGymB1FWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
WarpFadeInScreen();
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
gFieldCallback = NULL;
CreateTask(Task_LavaridgeGymB1FWarpExit, 0);
}
@@ -2119,7 +2129,7 @@ static bool8 LavaridgeGymB1FWarpExitEffect_End(struct Task *task, struct ObjectE
if (ObjectEventClearHeldMovementIfFinished(objectEvent))
{
gPlayerAvatar.preventStep = FALSE;
- ScriptContext2_Disable();
+ UnlockPlayerFieldControls();
UnfreezeObjectEvents();
DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarpExit));
}
@@ -2245,7 +2255,7 @@ void SpriteCB_AshPuff(struct Sprite *sprite)
void StartEscapeRopeFieldEffect(void)
{
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
FreezeObjectEvents();
HideFollowerForFieldEffect(); // hide follower before warping
CreateTask(Task_EscapeRopeWarpOut, 80);
@@ -2303,7 +2313,7 @@ static void FieldCallback_EscapeRopeWarpIn(void)
{
Overworld_PlaySpecialMapMusic();
WarpFadeInScreen();
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
FreezeObjectEvents();
gFieldCallback = NULL;
gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE;
@@ -2337,7 +2347,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;
@@ -2377,7 +2387,7 @@ static void Task_TeleportWarpOut(u8 taskId)
static void TeleportWarpOutFieldEffect_Init(struct Task *task)
{
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
FreezeObjectEvents();
CameraObjectReset2();
task->data[15] = GetPlayerFacingDirection();
@@ -2457,7 +2467,7 @@ static void FieldCallback_TeleportWarpIn(void)
{
Overworld_PlaySpecialMapMusic();
WarpFadeInScreen();
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
FreezeObjectEvents();
gFieldCallback = NULL;
gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE;
@@ -2544,7 +2554,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));
@@ -3010,7 +3020,7 @@ static void Task_SurfFieldEffect(u8 taskId)
static void SurfFieldEffect_Init(struct Task *task)
{
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
FreezeObjectEvents();
// Put follower into pokeball before using Surf
HideFollowerForFieldEffect();
@@ -3075,7 +3085,7 @@ static void SurfFieldEffect_End(struct Task *task)
ObjectEventClearHeldMovementIfFinished(followerObject);
SetSurfBlob_BobState(objectEvent->fieldEffectSpriteId, BOB_PLAYER_AND_MON);
UnfreezeObjectEvents();
- ScriptContext2_Disable();
+ UnlockPlayerFieldControls();
FieldEffectActiveListRemove(FLDEFF_USE_SURF);
DestroyTask(FindTaskIdByFunc(Task_SurfFieldEffect));
}
@@ -3109,15 +3119,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;
@@ -3696,7 +3706,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,
@@ -3710,7 +3720,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);
@@ -3718,7 +3728,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)
{
@@ -3734,7 +3744,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))
{
@@ -3787,7 +3797,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,
@@ -3797,7 +3808,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;
@@ -3815,7 +3826,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])
@@ -3841,7 +3852,7 @@ static void SpriteCB_DeoxysRockFragment(struct Sprite* sprite)
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 2c707103db..968cc3c789 100755
--- a/src/field_effect_helpers.c
+++ b/src/field_effect_helpers.c
@@ -1662,7 +1662,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;
}
}
}
@@ -1748,7 +1748,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 9934e23452..0afe31ecbf 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 8cfd4a607c..dbf6aef6d2 100644
--- a/src/field_poison.c
+++ b/src/field_poison.c
@@ -22,9 +22,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;
}
@@ -36,16 +35,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);
@@ -56,65 +53,64 @@ 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;
UpdateFollowingPokemon();
}
- EnableBothScriptContexts();
+ ScriptContext_Enable();
DestroyTask(taskId);
break;
+ }
}
}
+#undef tState
+#undef tPartyIdx
+
void TryFieldPoisonWhiteOut(void)
{
CreateTask(Task_TryFieldPoisonWhiteOut, 80);
- ScriptContext1_Stop();
+ ScriptContext_Stop();
}
s32 DoPoisonFieldEffect(void)
@@ -124,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 e45ed11575..a47ff7fd7f 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:
@@ -741,7 +741,7 @@ static void Task_DoContestHallWarp(u8 taskId)
{
case 0:
FreezeObjectEvents();
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
task->tState++;
break;
case 1:
@@ -760,7 +760,7 @@ static void Task_DoContestHallWarp(u8 taskId)
void DoContestHallWarp(void)
{
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
TryFadeOutOldMapMusic();
WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
@@ -922,7 +922,7 @@ static void Task_WaitForFlashUpdate(u8 taskId)
{
if (!FuncIsActiveTask(UpdateFlashLevelEffect))
{
- EnableBothScriptContexts();
+ ScriptContext_Enable();
DestroyTask(taskId);
}
}
@@ -985,7 +985,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)
@@ -1009,7 +1009,7 @@ static void Task_SpinEnterWarp(u8 taskId)
{
case 0:
FreezeObjectEvents();
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
DoPlayerSpinEntrance();
gTasks[taskId].tState++;
break;
@@ -1017,7 +1017,7 @@ static void Task_SpinEnterWarp(u8 taskId)
if (WaitForWeatherFadeIn() && IsPlayerSpinEntranceActive() != TRUE)
{
UnfreezeObjectEvents();
- ScriptContext2_Disable();
+ UnlockPlayerFieldControls();
DestroyTask(taskId);
}
break;
@@ -1032,7 +1032,7 @@ static void Task_SpinExitWarp(u8 taskId)
{
case 0:
FreezeObjectEvents();
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
PlaySE(SE_WARP_IN);
DoPlayerSpinExit();
task->tState++;
@@ -1060,7 +1060,7 @@ static void Task_SpinExitWarp(u8 taskId)
// DoTeleportTileWarp is used instead
void DoSpinEnterWarp(void)
{
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
CreateTask(Task_WarpAndLoadMap, 10);
gFieldCallback = FieldCB_SpinEnterWarp;
}
@@ -1069,7 +1069,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);
}
@@ -1142,7 +1142,7 @@ static void Task_OrbEffect(u8 taskId)
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 7));
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ);
- SetBgTilemapPalette(0, 0, 0, 0x1E, 0x14, 0xF);
+ SetBgTilemapPalette(0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 0xF);
ScheduleBgCopyTilemapToVram(0);
SetOrbFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], tCenterX, tCenterY, 1);
CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480);
@@ -1158,7 +1158,7 @@ static void Task_OrbEffect(u8 taskId)
case 2:
if (!FuncIsActiveTask(UpdateOrbFlashEffect))
{
- EnableBothScriptContexts();
+ ScriptContext_Enable();
tState = 3;
}
break;
@@ -1172,7 +1172,7 @@ static void Task_OrbEffect(u8 taskId)
case 4:
// If the caller script is delayed after starting the orb effect, a `waitstate` might be reached *after*
// we enable the ScriptContext in case 2; enabling it here as well avoids softlocks in this scenario
- EnableBothScriptContexts();
+ ScriptContext_Enable();
if (--tShakeDelay == 0)
{
s32 panning;
@@ -1209,7 +1209,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;
}
@@ -1272,6 +1272,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 bd3f736fb3..caaed51680 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,8 +2918,8 @@ 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);
- if (sFrontierExchangeCorner_Decor1[selection] == 0xFFFF)
+ AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY);
+ if (sFrontierExchangeCorner_Decor1[selection] == ITEM_LIST_END)
{
ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor1[selection]);
}
@@ -2931,8 +2931,8 @@ 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);
- if (sFrontierExchangeCorner_Decor2[selection] == 0xFFFF)
+ AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY);
+ if (sFrontierExchangeCorner_Decor2[selection] == ITEM_LIST_END)
{
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;
}
@@ -3041,7 +3041,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);
}
@@ -3105,7 +3105,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);
@@ -3229,7 +3229,7 @@ static void Task_DeoxysRockInteraction(u8 taskId)
if (FlagGet(FLAG_DEOXYS_ROCK_COMPLETE) == TRUE)
{
gSpecialVar_Result = 3;
- EnableBothScriptContexts();
+ ScriptContext_Enable();
DestroyTask(taskId);
}
else
@@ -3250,7 +3250,7 @@ static void Task_DeoxysRockInteraction(u8 taskId)
{
FlagSet(FLAG_DEOXYS_ROCK_COMPLETE);
gSpecialVar_Result = 2;
- EnableBothScriptContexts();
+ ScriptContext_Enable();
DestroyTask(taskId);
}
else
@@ -3295,7 +3295,7 @@ static void WaitForDeoxysRockMovement(u8 taskId)
{
if (FieldEffectActiveListContains(FLDEFF_MOVE_DEOXYS_ROCK) == FALSE)
{
- EnableBothScriptContexts();
+ ScriptContext_Enable();
DestroyTask(taskId);
}
}
@@ -3701,7 +3701,7 @@ static void Task_LinkRetireStatusWithBattleTowerPartner(u8 taskId)
SetCloseLinkCallback();
gBattleTypeFlags = sBattleTowerMultiBattleTypeFlags;
- EnableBothScriptContexts();
+ ScriptContext_Enable();
DestroyTask(taskId);
break;
}
@@ -3787,7 +3787,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 f194099c13..d83ac998b1 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,
@@ -340,7 +340,7 @@ static void UpdateDroughtBlend(u8 taskId)
task->tState++;
break;
case 4:
- EnableBothScriptContexts();
+ ScriptContext_Enable();
DestroyTask(taskId);
break;
}
@@ -394,7 +394,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,
@@ -597,8 +597,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;
@@ -840,7 +840,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,
@@ -1273,7 +1273,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,
@@ -1443,9 +1443,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;
}
}
@@ -1702,9 +1702,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;
}
}
@@ -1912,9 +1912,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;
}
}
@@ -2188,9 +2188,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;
}
}
@@ -2207,7 +2207,7 @@ static void UpdateSandstormSwirlSprite(struct Sprite *sprite)
if (--sprite->y < -48)
{
- sprite->y = 208;
+ sprite->y = DISPLAY_HEIGHT + 48;
sprite->tRadius = 4;
}
@@ -2568,14 +2568,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,
@@ -2612,7 +2614,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 04cfe3ad2c..0b254b6af3 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_pass.c b/src/frontier_pass.c
index b143587415..d25cb34cff 100644
--- a/src/frontier_pass.c
+++ b/src/frontier_pass.c
@@ -760,9 +760,9 @@ static bool32 InitFrontierPass(void)
case 7:
if (FreeTempTileDataBuffersIfPossible())
return FALSE;
- FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
@@ -1396,9 +1396,9 @@ static bool32 InitFrontierMap(void)
SetBgTilemapBuffer(0, sMapData->tilemapBuff0);
SetBgTilemapBuffer(1, sMapData->tilemapBuff1);
SetBgTilemapBuffer(2, sMapData->tilemapBuff2);
- FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
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 9f708f18b4..06007d759b 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..de08556e3e 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;
@@ -3322,24 +3322,29 @@ static u8 CreateGameFreakLogoSprites(s16 x, s16 y, s16 unused)
#undef sLetterX
#undef COLOR_CHANGES
+#define sScale data[1]
+#define sRot data[2]
+#define sPos data[3]
+#define sTimer data[7]
+
static void SpriteCB_FlygonSilhouette(struct Sprite *sprite)
{
- sprite->data[7]++;
+ sprite->sTimer++;
if (sprite->sState != 0)
{
- s16 sin1;
- s16 sin2;
+ s16 sin;
+ s16 cos;
s16 a, b, c, d;
-
- sin1 = gSineTable[(u8)sprite->data[2]];
- sin2 = gSineTable[(u8)(sprite->data[2] + 64)];
-
- d = Q_8_8_TO_INT(sin2 * sprite->data[1]);
- c = Q_8_8_TO_INT(-sin1 * sprite->data[1]);
- b = Q_8_8_TO_INT(sin1 * sprite->data[1]);
- a = Q_8_8_TO_INT(sin2 * sprite->data[1]);
+ // Determines rotation of the sprite
+ sin = gSineTable[(u8)sprite->sRot];
+ cos = gSineTable[(u8)(sprite->sRot + 64)];
+ // Converts rotation and scale into the OAM matrix
+ d = Q_8_8_TO_INT( cos * sprite->sScale);
+ c = Q_8_8_TO_INT(-sin * sprite->sScale);
+ b = Q_8_8_TO_INT( sin * sprite->sScale);
+ a = Q_8_8_TO_INT( cos * sprite->sScale);
SetOamMatrix(1, a, b, c, d);
}
@@ -3353,36 +3358,41 @@ static void SpriteCB_FlygonSilhouette(struct Sprite *sprite)
CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_DOUBLE);
sprite->invisible = FALSE;
sprite->sState = 1;
- sprite->data[1] = 0x80;
- sprite->data[2] = 0;
- sprite->data[3] = 0;
+ sprite->sScale = 128;
+ sprite->sRot = 0;
+ sprite->sPos = 0;
break;
case 1:
- sprite->x2 = -Sin((u8)sprite->data[3], 140);
- sprite->y2 = -Sin((u8)sprite->data[3], 120);
- sprite->data[1] += 7;
- sprite->data[3] += 3;
+ sprite->x2 = -Sin((u8)sprite->sPos, 140);
+ sprite->y2 = -Sin((u8)sprite->sPos, 120);
+ sprite->sScale += 7;
+ sprite->sPos += 3;
if (sprite->x + sprite->x2 <= -16)
{
sprite->oam.priority = 3;
sprite->sState++;
sprite->x = 20;
sprite->y = 40;
- sprite->data[1] = 0x200;
- sprite->data[2] = 0;
- sprite->data[3] = 0x10;
+ sprite->sScale = 512;
+ sprite->sRot = 0;
+ sprite->sPos = 16;
}
break;
case 2:
- sprite->x2 = Sin((u8)sprite->data[3], 34);
- sprite->y2 = -Cos((u8)sprite->data[3], 60);
- sprite->data[1] += 2;
- if (sprite->data[7] % 5 == 0)
- sprite->data[3]++;
+ sprite->x2 = Sin((u8)sprite->sPos, 34);
+ sprite->y2 = -Cos((u8)sprite->sPos, 60);
+ sprite->sScale += 2;
+ if (sprite->sTimer % 5 == 0)
+ sprite->sPos++;
break;
}
}
+#undef sScale
+#undef sRot
+#undef sPos
+#undef sTimer
+
static void SpriteCB_RayquazaOrb(struct Sprite *sprite)
{
u16 foo;
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..8b375df844 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;
@@ -882,6 +880,7 @@ const u8 *ItemId_GetName(u16 itemId)
return gItems[SanitizeItemId(itemId)].name;
}
+// Unused
u16 ItemId_GetId(u16 itemId)
{
return gItems[SanitizeItemId(itemId)].itemId;
@@ -912,7 +911,7 @@ u8 ItemId_GetImportance(u16 itemId)
return gItems[SanitizeItemId(itemId)].importance;
}
-// unused
+// Unused
u8 ItemId_GetRegistrability(u16 itemId)
{
return gItems[SanitizeItemId(itemId)].registrability;
diff --git a/src/item_icon.c b/src/item_icon.c
index dc69d03318..fd6f041695 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,
@@ -159,8 +159,8 @@ u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u1
const void *GetItemIconPicOrPalette(u16 itemId, u8 which)
{
- if (itemId == 0xFFFF)
- itemId = ITEM_FIELD_ARROW;
+ if (itemId == ITEM_LIST_END)
+ itemId = ITEMS_COUNT; // Use last icon, the "return to field" arrow
else if (itemId >= ITEMS_COUNT)
itemId = 0;
diff --git a/src/item_menu.c b/src/item_menu.c
index cd0bc159d6..9e79665288 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);
@@ -937,7 +937,7 @@ static void BagMenu_MoveCursorCallback(s32 itemIndex, bool8 onInit, struct ListM
if (itemIndex != LIST_CANCEL)
AddBagItemIconSprite(BagGetItemIdByPocketPosition(gBagPosition.pocket + 1, itemIndex), gBagMenu->itemIconSlot);
else
- AddBagItemIconSprite(-1, gBagMenu->itemIconSlot);
+ AddBagItemIconSprite(ITEM_LIST_END, gBagMenu->itemIconSlot);
gBagMenu->itemIconSlot ^= 1;
if (!gBagMenu->inhibitItemDescriptionPrint)
PrintItemDescription(itemIndex);
@@ -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..06907005fe 100644
--- a/src/link.c
+++ b/src/link.c
@@ -198,7 +198,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = {
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
- .width = 30,
+ .width = DISPLAY_TILE_WIDTH,
.height = 5,
.paletteNum = 15,
.baseBlock = 0x002
@@ -206,7 +206,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = {
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 6,
- .width = 30,
+ .width = DISPLAY_TILE_WIDTH,
.height = 7,
.paletteNum = 15,
.baseBlock = 0x098
@@ -214,7 +214,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = {
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 13,
- .width = 30,
+ .width = DISPLAY_TILE_WIDTH,
.height = 7,
.paletteNum = 15,
.baseBlock = 0x16A
@@ -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..63553f172b 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;
@@ -556,8 +556,8 @@ static bool8 MailReadBuildGraphics(void)
}
break;
case 10:
- FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(2, 1, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(2, 1, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyToBgTilemapBuffer(1, sMailGraphics[sMailRead->mailType].tileMap, 0, 0);
break;
case 11:
diff --git a/src/main.c b/src/main.c
index 4ac0df3940..2587ae0a25 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..5b18e440a6 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))
{
@@ -1121,7 +1121,7 @@ static void Task_DisplayMainMenuInvalidActionError(u8 taskId)
switch (gTasks[taskId].tCurrItem)
{
case 0:
- FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
switch (gTasks[taskId].tMenuType)
{
case 0:
@@ -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..0af051ab77 100644
--- a/src/mystery_event_menu.c
+++ b/src/mystery_event_menu.c
@@ -90,7 +90,7 @@ void CB2_InitMysteryEventMenu(void)
for (i = 0; i < 2; i++)
FillWindowPixelBuffer(i, PIXEL_FILL(0));
- FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
LoadUserWindowBorderGfx(0, 1u, 0xD0u);
Menu_LoadStdPalAt(0xE0);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON);
@@ -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..4b81c81a3b 100644
--- a/src/mystery_gift_menu.c
+++ b/src/mystery_gift_menu.c
@@ -102,7 +102,7 @@ static const struct WindowTemplate sMainWindows[] = {
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
- .width = 30,
+ .width = DISPLAY_TILE_WIDTH,
.height = 2,
.paletteNum = 12,
.baseBlock = 0x0013
@@ -118,7 +118,7 @@ static const struct WindowTemplate sMainWindows[] = {
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 15,
- .width = 30,
+ .width = DISPLAY_TILE_WIDTH,
.height = 5,
.paletteNum = 13,
.baseBlock = 0x004f
@@ -640,8 +640,8 @@ static u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whi
width++;
windowTemplate.width = width;
- if (width < 30)
- windowTemplate.tilemapLeft = (30 - width) / 2;
+ if (width < DISPLAY_TILE_WIDTH)
+ windowTemplate.tilemapLeft = (DISPLAY_TILE_WIDTH - width) / 2;
else
windowTemplate.tilemapLeft = 0;
@@ -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..728605a901 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,
@@ -225,9 +226,9 @@ s32 WonderCard_Enter(void)
return 0;
break;
case 2:
- FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
@@ -243,7 +244,7 @@ s32 WonderCard_Enter(void)
gPaletteFade.bufferTransferDisabled = TRUE;
LoadPalette(sWonderCardData->gfx->pal, 0x10, 0x20);
LZ77UnCompWram(sWonderCardData->gfx->map, sWonderCardData->bgTilemapBuffer);
- CopyRectToBgTilemapBufferRect(2, sWonderCardData->bgTilemapBuffer, 0, 0, 30, 20, 0, 0, 30, 20, 1, 0x008, 0);
+ CopyRectToBgTilemapBufferRect(2, sWonderCardData->bgTilemapBuffer, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 1, 0x008, 0);
CopyBgTilemapBufferToVram(2);
break;
case 4:
@@ -290,9 +291,9 @@ s32 WonderCard_Exit(bool32 useCancel)
return 0;
break;
case 2:
- FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
@@ -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)
{
@@ -594,7 +595,7 @@ static const struct WindowTemplate sNews_WindowTemplates[] = {
.tilemapLeft = 1,
.tilemapTop = 3,
.width = 28,
- .height = 20,
+ .height = DISPLAY_TILE_HEIGHT,
.paletteNum = 2,
.baseBlock = 0x07C
}
@@ -687,10 +688,10 @@ s32 WonderNews_Enter(void)
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
break;
case 2:
- FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
@@ -706,8 +707,8 @@ s32 WonderNews_Enter(void)
gPaletteFade.bufferTransferDisabled = TRUE;
LoadPalette(sWonderNewsData->gfx->pal, 0x10, 0x20);
LZ77UnCompWram(sWonderNewsData->gfx->map, sWonderNewsData->bgTilemapBuffer);
- CopyRectToBgTilemapBufferRect(1, sWonderNewsData->bgTilemapBuffer, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0);
- CopyRectToBgTilemapBufferRect(3, sWonderNewsData->bgTilemapBuffer, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0);
+ CopyRectToBgTilemapBufferRect(1, sWonderNewsData->bgTilemapBuffer, 0, 0, DISPLAY_TILE_WIDTH, 3, 0, 0, DISPLAY_TILE_WIDTH, 3, 1, 8, 0);
+ CopyRectToBgTilemapBufferRect(3, sWonderNewsData->bgTilemapBuffer, 0, 3, DISPLAY_TILE_WIDTH, 3 + DISPLAY_TILE_HEIGHT, 0, 3, DISPLAY_TILE_WIDTH, 3 + DISPLAY_TILE_HEIGHT, 1, 8, 0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(3);
break;
@@ -759,10 +760,10 @@ s32 WonderNews_Exit(bool32 useCancel)
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
break;
case 2:
- FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
- FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 24);
- FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 24);
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT + 4);
+ FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT + 4);
CopyBgTilemapBufferToVram(0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
@@ -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..da9aa6988a 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[] =
{
@@ -276,7 +267,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] =
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
- .width = 30,
+ .width = DISPLAY_TILE_WIDTH,
.height = 2,
.paletteNum = 11,
.baseBlock = 0x074
@@ -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);
}
@@ -2189,6 +2179,12 @@ static const struct OamData sOam_32x16 =
.paletteNum = 0,
};
+/*
+[0_____][] <-1 40x32
+[2_____][] <-3
+[4___+_][] <-5/Origin
+[6 ][] <-7
+*/
static const struct Subsprite sSubsprites_PageSwapFrame[] =
{
{
@@ -2257,6 +2253,10 @@ static const struct Subsprite sSubsprites_PageSwapFrame[] =
}
};
+/*
+[0_][] <-1 24x8
+ ^-- Origin
+*/
static const struct Subsprite sSubsprites_PageSwapText[] =
{
{
@@ -2277,6 +2277,11 @@ static const struct Subsprite sSubsprites_PageSwapText[] =
}
};
+/*
+[0_____][] <-1 40x24
+[2_____][] <-3
+[4___+_][] <-5/Origin
+*/
static const struct Subsprite sSubsprites_Button[] =
{
{
@@ -2329,6 +2334,11 @@ static const struct Subsprite sSubsprites_Button[] =
}
};
+/*
+[0_] 16x24
+[1+] <--Origin
+[2_]
+*/
static const struct Subsprite sSubsprites_PCIcon[] =
{
{
@@ -2512,7 +2522,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 +2530,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 +2557,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 000396ae21..63e1a1710c 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -128,9 +128,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);
@@ -364,7 +364,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();
@@ -390,7 +390,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)
@@ -1436,11 +1436,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
@@ -1458,7 +1458,7 @@ void CB1_Overworld(void)
static void OverworldBasic(void)
{
- ScriptContext2_RunScript();
+ ScriptContext_RunScript();
RunTasks();
AnimateSprites();
CameraUpdate();
@@ -1533,8 +1533,8 @@ void CB2_NewGame(void)
NewGameInitData();
ResetInitialPlayerAvatarState();
PlayTimeCounter_Start();
- ScriptContext1_Init();
- ScriptContext2_Disable();
+ ScriptContext_Init();
+ UnlockPlayerFieldControls();
gFieldCallback = ExecuteTruckSequence;
gFieldCallback2 = NULL;
DoMapLoadLoop(&gMain.state);
@@ -1554,8 +1554,8 @@ void CB2_WhiteOut(void)
ResetSafariZoneFlag_();
DoWhiteOut();
ResetInitialPlayerAvatarState();
- ScriptContext1_Init();
- ScriptContext2_Disable();
+ ScriptContext_Init();
+ UnlockPlayerFieldControls();
gFieldCallback = FieldCB_WarpExitFadeFromBlack;
state = 0;
DoMapLoadLoop(&state);
@@ -1568,8 +1568,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;
@@ -1588,8 +1588,8 @@ void CB2_ReturnToFieldContestHall(void)
if (!gMain.state)
{
FieldClearVBlankHBlankCallbacks();
- ScriptContext1_Init();
- ScriptContext2_Disable();
+ ScriptContext_Init();
+ UnlockPlayerFieldControls();
SetMainCallback1(NULL);
}
if (LoadMapInStepsLocal(&gMain.state, TRUE))
@@ -1658,8 +1658,8 @@ void CB2_ReturnToFieldFromMultiplayer(void)
else
gFieldCallback = FieldCB_ReturnToFieldCableLink;
- ScriptContext1_Init();
- ScriptContext2_Disable();
+ ScriptContext_Init();
+ UnlockPlayerFieldControls();
CB2_ReturnToField();
}
@@ -1729,8 +1729,8 @@ void CB2_ContinueSavedGame(void)
InitMapFromSavedGame();
PlayTimeCounter_Start();
- ScriptContext1_Init();
- ScriptContext2_Disable();
+ ScriptContext_Init();
+ UnlockPlayerFieldControls();
InitMatchCallCounters();
if (UseContinueGameWarp() == TRUE)
{
@@ -1809,8 +1809,8 @@ static bool32 LoadMapInStepsLink(u8 *state)
{
case 0:
InitOverworldBgs();
- ScriptContext1_Init();
- ScriptContext2_Disable();
+ ScriptContext_Init();
+ UnlockPlayerFieldControls();
ResetMirageTowerAndSaveBlockPtrs();
ResetScreenForMapLoad();
(*state)++;
@@ -2512,7 +2512,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;
@@ -2527,12 +2527,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;
}
@@ -2555,7 +2554,7 @@ static u16 KeyInterCB_DeferToRecvQueue(u32 key)
else
{
retVal = LINK_KEY_CODE_IDLE;
- ScriptContext2_Disable();
+ UnlockPlayerFieldControls();
SetKeyInterceptCallback(KeyInterCB_Idle);
}
return retVal;
@@ -2572,7 +2571,7 @@ static u16 KeyInterCB_DeferToSendQueue(u32 key)
else
{
retVal = LINK_KEY_CODE_IDLE;
- ScriptContext2_Disable();
+ UnlockPlayerFieldControls();
SetKeyInterceptCallback(KeyInterCB_Idle);
}
return retVal;
@@ -2625,7 +2624,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;
@@ -2804,41 +2803,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)
@@ -2930,7 +2929,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)
{
@@ -3094,7 +3093,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;
}
@@ -3154,7 +3153,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++)
@@ -3164,11 +3163,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)
@@ -3216,7 +3215,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 357dce33d0..c8e9c893bb 100755
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -74,6 +74,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)
@@ -194,9 +268,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 *);
@@ -221,12 +295,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);
@@ -238,26 +312,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);
@@ -278,7 +352,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);
@@ -299,20 +373,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);
@@ -332,8 +406,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);
@@ -357,14 +431,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);
@@ -377,7 +451,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);
@@ -973,7 +1047,7 @@ static bool8 RenderPartyMenuBoxes(void)
return FALSE;
}
-static u8* GetPartyMenuBgTile(u16 tileId)
+static u8 *GetPartyMenuBgTile(u16 tileId)
{
return &sPartyBgGfxTilemap[tileId << 5];
}
@@ -1187,13 +1261,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);
@@ -1204,7 +1278,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;
@@ -1223,14 +1297,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;
@@ -1240,7 +1314,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]);
@@ -1248,7 +1322,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]);
@@ -1257,7 +1331,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]);
@@ -1273,7 +1347,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);
}
@@ -1330,7 +1404,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;
@@ -1410,7 +1484,7 @@ static u16 PartyMenuButtonHandler(s8 *slotPtr)
}
if (JOY_NEW(START_BUTTON))
- return 8;
+ return START_BUTTON;
if (movementDir)
{
@@ -1419,8 +1493,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);
}
@@ -1618,7 +1692,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);
@@ -1626,7 +1700,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;
@@ -1642,7 +1716,7 @@ static void Task_PrintAndWaitForText(u8 taskId)
{
if (gTasks[taskId].tKeepOpen == FALSE)
{
- ClearStdWindowAndFrameToTransparent(6, 0);
+ ClearStdWindowAndFrameToTransparent(6, FALSE);
ClearWindowTilemap(6);
}
DestroyTask(taskId);
@@ -1669,7 +1743,7 @@ static void Task_ReturnToChooseMonAfterText(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
- ClearStdWindowAndFrameToTransparent(6, 0);
+ ClearStdWindowAndFrameToTransparent(6, FALSE);
ClearWindowTilemap(6);
if (MenuHelpers_IsLinkActive() == TRUE)
{
@@ -1733,7 +1807,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);
@@ -2065,7 +2139,7 @@ static void CreateCancelConfirmWindows(bool8 chooseHalf)
}
}
-static u16* GetPartyMenuPalBufferPtr(u8 paletteId)
+static u16 *GetPartyMenuPalBufferPtr(u8 paletteId)
{
return &sPartyMenuInternal->palBuffer[paletteId];
}
@@ -2372,7 +2446,7 @@ static void PartyMenuRemoveWindow(u8 *ptr)
{
if (*ptr != WINDOW_NONE)
{
- ClearStdWindowAndFrameToTransparent(*ptr, 0);
+ ClearStdWindowAndFrameToTransparent(*ptr, FALSE);
RemoveWindow(*ptr);
*ptr = WINDOW_NONE;
ScheduleBgCopyTilemapToVram(2);
@@ -2490,7 +2564,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)
@@ -2537,7 +2611,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])
{
@@ -2793,7 +2867,7 @@ static bool8 TryMovePartySlot(s16 x, s16 width, u8 *leftMove, u8 *newX, u8 *newW
{
if (x + width < 0)
return FALSE;
- if (x > 31)
+ if (x >= 32)
return FALSE;
if (x < 0)
@@ -2806,7 +2880,7 @@ static bool8 TryMovePartySlot(s16 x, s16 width, u8 *leftMove, u8 *newX, u8 *newW
{
*leftMove = 0;
*newX = x;
- if (x + width > 31)
+ if (x + width >= 32)
*newWidth = 32 - x;
else
*newWidth = width;
@@ -3310,7 +3384,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)
@@ -5661,7 +5735,7 @@ static u8 GetBattleEntryLevelCap(void)
}
}
-static const u8* GetFacilityCancelString(void)
+static const u8 *GetFacilityCancelString(void)
{
u8 facilityNum = VarGet(VAR_FRONTIER_FACILITY);
@@ -6154,14 +6228,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);
}
@@ -6189,7 +6263,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);
}
@@ -6206,7 +6280,7 @@ static void Task_ChoosePartyMon(u8 taskId)
void ChooseMonForMoveRelearner(void)
{
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
FadeScreen(FADE_TO_BLACK, 0);
CreateTask(Task_ChooseMonForMoveRelearner, 10);
}
@@ -6251,7 +6325,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..b1a323a328 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;
@@ -1015,7 +1015,7 @@ static void ItemStorage_MoveCursor(s32 id, bool8 onInit, struct ListMenu *list)
if (id != LIST_CANCEL)
ItemStorage_DrawItemIcon(gSaveBlock1Ptr->pcItems[id].itemId);
else
- ItemStorage_DrawItemIcon(MSG_GO_BACK_TO_PREV);
+ ItemStorage_DrawItemIcon(ITEM_LIST_END);
ItemStorage_PrintDescription(id);
}
}
@@ -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 82ae0ee72b..5d48bdd2b3 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;
@@ -412,7 +412,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;
@@ -436,7 +436,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;
@@ -480,6 +480,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);
@@ -649,6 +650,7 @@ static void SpriteCB_BallThrow_Shake(struct Sprite *sprite)
StartSpriteAffineAnim(sprite, 2);
else
StartSpriteAffineAnim(sprite, 1);
+
PlaySE(SE_BALL);
}
break;
@@ -672,7 +674,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)
{
@@ -875,13 +877,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)
@@ -913,7 +915,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;
}
}
@@ -986,6 +988,8 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
}
}
+#undef HIBYTE
+
static void SpriteCB_ReleaseMon2FromBall(struct Sprite *sprite)
{
if (sprite->data[0]++ > 24)
@@ -1078,7 +1082,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);
@@ -1145,7 +1149,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)
@@ -1182,7 +1185,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
@@ -1235,7 +1238,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);
}
@@ -1322,6 +1326,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 cd6c585be4..42af6e9de4 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
},
};
@@ -2119,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,
@@ -2740,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)
@@ -2755,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)
@@ -3116,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;
@@ -3405,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);
@@ -3620,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;
@@ -4472,7 +4475,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;
@@ -4695,7 +4698,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];
@@ -5283,7 +5286,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)
{
@@ -6757,7 +6760,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)))
@@ -6789,7 +6792,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);
@@ -6797,7 +6800,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
@@ -6844,7 +6847,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);
@@ -6872,7 +6875,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)))
{
@@ -6997,7 +7000,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
@@ -7059,7 +7062,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..4d4879d241 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)
@@ -3755,7 +3755,7 @@ static void Task_ChangeScreen(u8 taskId)
mode = sStorage->summaryScreenMode;
FreePokeStorageData();
if (mode == SUMMARY_MODE_NORMAL && boxMons == &sSavedMovingMon.box)
- ShowPokemonSummaryScreenSet40EF(mode, boxMons, monIndex, maxMonIndex, CB2_ReturnToPokeStorage);
+ ShowPokemonSummaryScreenHandleDeoxys(mode, boxMons, monIndex, maxMonIndex, CB2_ReturnToPokeStorage);
else
ShowPokemonSummaryScreen(mode, boxMons, monIndex, maxMonIndex, CB2_ReturnToPokeStorage);
break;
@@ -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 eba79c17dc..ee32130dac 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -182,7 +182,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData
u8 filler40CA;
u8 windowIds[8];
u8 spriteIds[SPRITE_ARR_ID_COUNT];
- bool8 unk40EF;
+ bool8 handleDeoxys;
s16 switchCounter; // Used for various switch statement cases that decompress/load graphics or pokemon data
u8 unk_filler4[6];
} *sMonSummaryScreen = NULL;
@@ -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,
@@ -1122,10 +1122,10 @@ void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 ma
sMonSummaryScreen->newMove = newMove;
}
-void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void))
+void ShowPokemonSummaryScreenHandleDeoxys(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void))
{
ShowPokemonSummaryScreen(mode, mons, monIndex, maxMonIndex, callback);
- sMonSummaryScreen->unk40EF = TRUE;
+ sMonSummaryScreen->handleDeoxys = TRUE;
}
static void MainCB2(void)
@@ -1406,7 +1406,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon)
sum->ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES);
break;
case 2:
- if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE)
+ if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->handleDeoxys == TRUE)
{
sum->nature = GetNature(mon);
sum->currentHP = GetMonData(mon, MON_DATA_HP);
@@ -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)
{
@@ -3890,7 +3890,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);
@@ -3899,10 +3899,10 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state)
{
if (gMonSpritesGfxPtr != NULL)
{
- if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE)
+ if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->handleDeoxys == 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],
@@ -3912,7 +3912,7 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state)
}
else
{
- if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE)
+ if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->handleDeoxys == TRUE)
HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2],
MonSpritesGfxManager_GetSpritePtr(MON_SPR_GFX_MANAGER_A, B_POSITION_OPPONENT_LEFT),
summary->species2,
@@ -4093,14 +4093,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 828bd525df..39c1659a9a 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 df03bfaebb..cdedbc8abc 100644
--- a/src/rayquaza_scene.c
+++ b/src/rayquaza_scene.c
@@ -156,7 +156,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,
@@ -173,7 +173,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,
@@ -190,7 +190,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,
@@ -207,7 +207,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,
@@ -224,7 +224,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,
@@ -241,7 +241,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,
@@ -258,7 +258,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,
@@ -275,7 +275,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,
@@ -1633,7 +1633,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);
@@ -2290,7 +2290,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;
@@ -2507,7 +2507,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;
@@ -2703,7 +2703,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 a4db1cb048..8157f8a4e7 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -1664,7 +1664,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 b854c899e5..2723e1200e 100644
--- a/src/rom_header_gf.c
+++ b/src/rom_header_gf.c
@@ -31,7 +31,7 @@ struct GFRomHeader
u32 mysteryEventFlag;
u32 pokedexCount;
u8 playerNameLength;
- u8 unk2;
+ u8 trainerNameLength;
u8 pokemonNameLength1;
u8 pokemonNameLength2;
u8 unk5;
@@ -111,7 +111,7 @@ static const struct GFRomHeader sGFRomHeader = {
.mysteryEventFlag = FLAG_SYS_MYSTERY_EVENT_ENABLE,
.pokedexCount = NATIONAL_DEX_COUNT,
.playerNameLength = PLAYER_NAME_LENGTH,
- .unk2 = 10,
+ .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
diff --git a/src/rotating_gate.c b/src/rotating_gate.c
index 0c7b0e109b..aadb5194cf 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,
@@ -876,7 +876,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 5ec55d8500..7703755d7b 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -149,7 +149,7 @@ bool8 ScrCmd_callfunc(struct ScriptContext *ctx)
bool8 ScrCmd_waitstate(struct ScriptContext *ctx)
{
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
@@ -614,7 +614,7 @@ bool8 ScrCmd_incrementgamestat(struct ScriptContext *ctx)
bool8 ScrCmd_animateflash(struct ScriptContext *ctx)
{
AnimateFlash(ScriptReadByte(ctx));
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
@@ -1342,7 +1342,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;
}
@@ -1381,7 +1381,7 @@ bool8 ScrCmd_yesnobox(struct ScriptContext *ctx)
if (ScriptMenu_YesNo(left, top) == TRUE)
{
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
else
@@ -1399,7 +1399,7 @@ bool8 ScrCmd_multichoice(struct ScriptContext *ctx)
if (ScriptMenu_Multichoice(left, top, multichoiceId, ignoreBPress) == TRUE)
{
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
else
@@ -1418,7 +1418,7 @@ bool8 ScrCmd_multichoicedefault(struct ScriptContext *ctx)
if (ScriptMenu_MultichoiceWithDefault(left, top, multichoiceId, ignoreBPress, defaultChoice) == TRUE)
{
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
else
@@ -1448,7 +1448,7 @@ bool8 ScrCmd_multichoicegrid(struct ScriptContext *ctx)
if (ScriptMenu_MultichoiceGrid(left, top, multichoiceId, ignoreBPress, numColumns) == TRUE)
{
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
else
@@ -1477,7 +1477,7 @@ bool8 ScrCmd_drawboxtext(struct ScriptContext *ctx)
/*if (Multichoice(left, top, multichoiceId, ignoreBPress) == TRUE)
{
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}*/
return FALSE;
@@ -1514,7 +1514,7 @@ bool8 ScrCmd_showcontestpainting(struct ScriptContext *ctx)
SetContestWinnerForPainting(contestWinnerId);
ShowContestPainting();
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
@@ -1564,7 +1564,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);
@@ -1928,7 +1928,7 @@ bool8 ScrCmd_setwildbattle(struct ScriptContext *ctx)
bool8 ScrCmd_dowildbattle(struct ScriptContext *ctx)
{
BattleSetup_StartScriptedWildBattle();
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
@@ -1937,7 +1937,7 @@ bool8 ScrCmd_pokemart(struct ScriptContext *ctx)
const void *ptr = (void *)ScriptReadWord(ctx);
CreatePokemartMenu(ptr);
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
@@ -1946,7 +1946,7 @@ bool8 ScrCmd_pokemartdecoration(struct ScriptContext *ctx)
const void *ptr = (void *)ScriptReadWord(ctx);
CreateDecorationShop1Menu(ptr);
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
@@ -1956,7 +1956,7 @@ bool8 ScrCmd_pokemartdecoration2(struct ScriptContext *ctx)
const void *ptr = (void *)ScriptReadWord(ctx);
CreateDecorationShop2Menu(ptr);
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
@@ -1965,7 +1965,7 @@ bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx)
u8 machineId = VarGet(ScriptReadHalfword(ctx));
PlaySlotMachine(machineId, CB2_ReturnToFieldContinueScriptPlayMapMusic);
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
@@ -1993,7 +1993,7 @@ bool8 ScrCmd_getpokenewsactive(struct ScriptContext *ctx)
bool8 ScrCmd_choosecontestmon(struct ScriptContext *ctx)
{
ChooseContestMon();
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;
}
@@ -2001,21 +2001,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;
}
@@ -2091,15 +2091,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;
}
@@ -2177,7 +2177,7 @@ bool8 ScrCmd_addelevmenuitem(struct ScriptContext *ctx)
bool8 ScrCmd_showelevmenu(struct ScriptContext *ctx)
{
/*ScriptShowElevatorMenu();
- ScriptContext1_Stop();
+ ScriptContext_Stop();
return TRUE;*/
return FALSE;
}
@@ -2282,7 +2282,7 @@ bool8 ScrCmd_checkmoneventlegal(struct ScriptContext *ctx)
bool8 ScrCmd_trywondercardscript(struct ScriptContext *ctx)
{
- const u8* script = GetSavedRamScriptIfValid();
+ const u8 *script = GetSavedRamScriptIfValid();
if (script)
{
@@ -2321,7 +2321,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 4c4ad4096e..77cc9a0e09 100755
--- a/src/shop.c
+++ b/src/shop.c
@@ -43,10 +43,72 @@
#define TAG_SCROLL_ARROW 2100
#define TAG_ITEM_ICON_BASE 2110
+#define MAX_ITEMS_SHOWN 8
+
+enum {
+ WIN_BUY_SELL_QUIT,
+ WIN_BUY_QUIT,
+};
+
+enum {
+ WIN_MONEY,
+ WIN_ITEM_LIST,
+ WIN_ITEM_DESCRIPTION,
+ WIN_QUANTITY_IN_BAG,
+ WIN_QUANTITY_PRICE,
+ WIN_MESSAGE,
+};
+
+enum {
+ COLORID_NORMAL, // Item descriptions, quantity in bag, and quantity/price
+ COLORID_ITEM_LIST, // The text in the item list, and the cursor normally
+ COLORID_GRAY_CURSOR, // When the cursor has selected an item to purchase
+};
+
+enum {
+ MART_TYPE_NORMAL,
+ MART_TYPE_DECOR,
+ MART_TYPE_DECOR2,
+};
+
+// shop view window NPC info enum
+enum
+{
+ OBJ_EVENT_ID,
+ X_COORD,
+ Y_COORD,
+ ANIM_NUM,
+ LAYER_TYPE
+};
+
+struct MartInfo
+{
+ void (*callback)(void);
+ const struct MenuAction *menuActions;
+ const u16 *itemList;
+ u16 itemCount;
+ u8 windowId;
+ u8 martType;
+};
+
+struct ShopData
+{
+ u16 tilemapBuffers[4][0x400];
+ u32 totalCost;
+ u16 itemsShowed;
+ u16 selectedRow;
+ u16 scrollOffset;
+ u8 maxQuantity;
+ u8 scrollIndicatorsTaskId;
+ u8 iconSlot;
+ u8 itemSpriteIds[2];
+ s16 viewportObjects[OBJECT_EVENTS_COUNT][5];
+};
+
static EWRAM_DATA struct MartInfo sMartInfo = {0};
static EWRAM_DATA struct ShopData *sShopData = NULL;
static EWRAM_DATA struct ListMenuItem *sListMenuItems = NULL;
-static EWRAM_DATA u8 (*sItemNames)[16] = {0};
+static EWRAM_DATA u8 (*sItemNames)[ITEM_NAME_LENGTH + 2] = {0};
static EWRAM_DATA u8 sPurchaseHistoryId = 0;
EWRAM_DATA struct ItemSlot gMartPurchaseHistory[SMARTSHOPPER_NUM_ITEMS] = {0};
@@ -64,7 +126,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);
@@ -74,7 +136,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);
@@ -115,7 +177,7 @@ static const struct MenuAction sShopMenuActions_BuyQuit[] =
static const struct WindowTemplate sShopMenuWindowTemplates[] =
{
- {
+ [WIN_BUY_SELL_QUIT] = {
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 1,
@@ -124,7 +186,8 @@ static const struct WindowTemplate sShopMenuWindowTemplates[] =
.paletteNum = 15,
.baseBlock = 0x0008,
},
- {
+ // Separate shop menu window for decorations, which can't be sold
+ [WIN_BUY_QUIT] = {
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 1,
@@ -142,7 +205,7 @@ static const struct ListMenuTemplate sShopBuyMenuListTemplate =
.itemPrintFunc = BuyMenuPrintPriceInList,
.totalItems = 0,
.maxShowed = 0,
- .windowId = 1,
+ .windowId = WIN_ITEM_LIST,
.header_X = 0,
.item_X = 8,
.cursor_X = 0,
@@ -199,7 +262,7 @@ static const struct BgTemplate sShopBuyMenuBgTemplates[] =
static const struct WindowTemplate sShopBuyMenuWindowTemplates[] =
{
- {
+ [WIN_MONEY] = {
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
@@ -208,7 +271,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] =
.paletteNum = 15,
.baseBlock = 0x001E,
},
- {
+ [WIN_ITEM_LIST] = {
.bg = 0,
.tilemapLeft = 14,
.tilemapTop = 2,
@@ -217,7 +280,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] =
.paletteNum = 15,
.baseBlock = 0x0032,
},
- {
+ [WIN_ITEM_DESCRIPTION] = {
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 13,
@@ -226,7 +289,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] =
.paletteNum = 15,
.baseBlock = 0x0122,
},
- {
+ [WIN_QUANTITY_IN_BAG] = {
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 11,
@@ -235,7 +298,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] =
.paletteNum = 15,
.baseBlock = 0x0176,
},
- {
+ [WIN_QUANTITY_PRICE] = {
.bg = 0,
.tilemapLeft = 18,
.tilemapTop = 11,
@@ -244,7 +307,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] =
.paletteNum = 15,
.baseBlock = 0x018E,
},
- {
+ [WIN_MESSAGE] = {
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
@@ -269,22 +332,21 @@ static const struct WindowTemplate sShopBuyMenuYesNoWindowTemplates =
static const u8 sShopBuyMenuTextColors[][3] =
{
- {1, 2, 3},
- {0, 2, 3},
- {0, 3, 2}
+ [COLORID_NORMAL] = {1, 2, 3},
+ [COLORID_ITEM_LIST] = {0, 2, 3},
+ [COLORID_GRAY_CURSOR] = {0, 3, 2},
};
static u8 CreateShopMenu(u8 martType)
{
int numMenuItems;
- ScriptContext2_Enable();
+ LockPlayerFieldControls();
sMartInfo.martType = martType;
if (martType == MART_TYPE_NORMAL)
{
- struct WindowTemplate winTemplate;
- winTemplate = sShopMenuWindowTemplates[0];
+ struct WindowTemplate winTemplate = sShopMenuWindowTemplates[WIN_BUY_SELL_QUIT];
winTemplate.width = GetMaxWidthInMenuTable(sShopMenuActions_BuySellQuit, ARRAY_COUNT(sShopMenuActions_BuySellQuit));
sMartInfo.windowId = AddWindow(&winTemplate);
sMartInfo.menuActions = sShopMenuActions_BuySellQuit;
@@ -292,15 +354,14 @@ static u8 CreateShopMenu(u8 martType)
}
else
{
- struct WindowTemplate winTemplate;
- winTemplate = sShopMenuWindowTemplates[1];
+ struct WindowTemplate winTemplate = sShopMenuWindowTemplates[WIN_BUY_QUIT];
winTemplate.width = GetMaxWidthInMenuTable(sShopMenuActions_BuyQuit, ARRAY_COUNT(sShopMenuActions_BuyQuit));
sMartInfo.windowId = AddWindow(&winTemplate);
sMartInfo.menuActions = sShopMenuActions_BuyQuit;
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);
@@ -321,6 +382,7 @@ static void SetShopItemsForSale(const u16 *items)
sMartInfo.itemList = items;
sMartInfo.itemCount = 0;
+ // Read items until ITEM_NONE / DECOR_NONE is reached
while (sMartInfo.itemList[i])
{
sMartInfo.itemCount++;
@@ -345,11 +407,17 @@ static void Task_ShopMenu(u8 taskId)
}
}
+#define tItemCount data[1]
+#define tItemId data[5]
+#define tListTaskId data[7]
+#define tCallbackHi data[8]
+#define tCallbackLo data[9]
+
static void Task_HandleShopMenuBuy(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- data[8] = (u32)CB2_InitBuyMenu >> 16;
- data[9] = (u32)CB2_InitBuyMenu;
+ tCallbackHi = (u32)CB2_InitBuyMenu >> 16;
+ tCallbackLo = (u32)CB2_InitBuyMenu;
gTasks[taskId].func = Task_GoToBuyOrSellMenu;
FadeScreen(FADE_TO_BLACK, 0);
}
@@ -357,8 +425,8 @@ static void Task_HandleShopMenuBuy(u8 taskId)
static void Task_HandleShopMenuSell(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- data[8] = (u32)CB2_GoToSellMenu >> 16;
- data[9] = (u32)CB2_GoToSellMenu;
+ tCallbackHi = (u32)CB2_GoToSellMenu >> 16;
+ tCallbackLo = (u32)CB2_GoToSellMenu;
gTasks[taskId].func = Task_GoToBuyOrSellMenu;
FadeScreen(FADE_TO_BLACK, 0);
}
@@ -371,10 +439,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)
@@ -387,7 +455,7 @@ static void Task_GoToBuyOrSellMenu(u8 taskId)
if (!gPaletteFade.active)
{
DestroyTask(taskId);
- SetMainCallback2((void *)((u16)data[8] << 16 | (u16)data[9]));
+ SetMainCallback2((void *)((u16)tCallbackHi << 16 | (u16)tCallbackLo));
}
}
@@ -430,10 +498,6 @@ static void VBlankCB_BuyMenu(void)
TransferPlttBuffer();
}
-#define tItemCount data[1]
-#define tItemId data[5]
-#define tListTaskId data[7]
-
static void CB2_InitBuyMenu(void)
{
u8 taskId;
@@ -473,8 +537,8 @@ static void CB2_InitBuyMenu(void)
BuyMenuAddScrollIndicatorArrows();
taskId = CreateTask(Task_BuyMenu, 8);
gTasks[taskId].tListTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
- BlendPalettes(PALETTES_ALL, 0x10, RGB_BLACK);
- BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK);
+ BlendPalettes(PALETTES_ALL, 16, RGB_BLACK);
+ BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK);
SetVBlankCallback(VBlankCB_BuyMenu);
SetMainCallback2(CB2_BuyMenu);
break;
@@ -505,8 +569,8 @@ static void BuyMenuBuildListMenuTemplate(void)
gMultiuseListMenuTemplate = sShopBuyMenuListTemplate;
gMultiuseListMenuTemplate.items = sListMenuItems;
gMultiuseListMenuTemplate.totalItems = sMartInfo.itemCount + 1;
- if (gMultiuseListMenuTemplate.totalItems > 8)
- gMultiuseListMenuTemplate.maxShowed = 8;
+ if (gMultiuseListMenuTemplate.totalItems > MAX_ITEMS_SHOWN)
+ gMultiuseListMenuTemplate.maxShowed = MAX_ITEMS_SHOWN;
else
gMultiuseListMenuTemplate.maxShowed = gMultiuseListMenuTemplate.totalItems;
@@ -533,7 +597,7 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s
if (item != LIST_CANCEL)
BuyMenuAddItemIcon(item, sShopData->iconSlot);
else
- BuyMenuAddItemIcon(-1, sShopData->iconSlot);
+ BuyMenuAddItemIcon(ITEM_LIST_END, sShopData->iconSlot);
BuyMenuRemoveItemIcon(item, sShopData->iconSlot ^ 1);
sShopData->iconSlot ^= 1;
@@ -549,8 +613,8 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s
description = gText_QuitShopping;
}
- FillWindowPixelBuffer(2, PIXEL_FILL(0));
- BuyMenuPrint(2, description, 3, 1, 0, 0);
+ FillWindowPixelBuffer(WIN_ITEM_DESCRIPTION, PIXEL_FILL(0));
+ BuyMenuPrint(WIN_ITEM_DESCRIPTION, description, 3, 1, 0, COLORID_NORMAL);
}
static void BuyMenuPrintPriceInList(u8 windowId, u32 itemId, u8 y)
@@ -577,21 +641,21 @@ static void BuyMenuPrintPriceInList(u8 windowId, u32 itemId, u8 y)
}
StringExpandPlaceholders(gStringVar4, gText_PokedollarVar1);
- x = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 0x78);
- AddTextPrinterParameterized4(windowId, FONT_NARROW, x, y, 0, 0, sShopBuyMenuTextColors[1], TEXT_SKIP_DRAW, gStringVar4);
+ x = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 120);
+ AddTextPrinterParameterized4(windowId, FONT_NARROW, x, y, 0, 0, sShopBuyMenuTextColors[COLORID_ITEM_LIST], TEXT_SKIP_DRAW, gStringVar4);
}
}
static void BuyMenuAddScrollIndicatorArrows(void)
{
- if (sShopData->scrollIndicatorsTaskId == TASK_NONE && sMartInfo.itemCount + 1 > 8)
+ if (sShopData->scrollIndicatorsTaskId == TASK_NONE && sMartInfo.itemCount + 1 > MAX_ITEMS_SHOWN)
{
sShopData->scrollIndicatorsTaskId = AddScrollIndicatorArrowPairParameterized(
SCROLL_ARROW_UP,
172,
12,
148,
- sMartInfo.itemCount - 7,
+ sMartInfo.itemCount - (MAX_ITEMS_SHOWN - 1),
TAG_SCROLL_ARROW,
TAG_SCROLL_ARROW,
&sShopData->scrollOffset);
@@ -610,7 +674,7 @@ static void BuyMenuRemoveScrollIndicatorArrows(void)
static void BuyMenuPrintCursor(u8 scrollIndicatorsTaskId, u8 colorSet)
{
u8 y = ListMenuGetYCoordForPrintingArrowCursor(scrollIndicatorsTaskId);
- BuyMenuPrint(1, gText_SelectorArrow2, 0, y, 0, colorSet);
+ BuyMenuPrint(WIN_ITEM_LIST, gText_SelectorArrow2, 0, y, 0, colorSet);
}
static void BuyMenuAddItemIcon(u16 item, u8 iconSlot)
@@ -620,7 +684,7 @@ static void BuyMenuAddItemIcon(u16 item, u8 iconSlot)
if (*spriteIdPtr != SPRITE_NONE)
return;
- if (sMartInfo.martType == MART_TYPE_NORMAL || item == 0xFFFF)
+ if (sMartInfo.martType == MART_TYPE_NORMAL || item == ITEM_LIST_END)
{
spriteId = AddItemIconSprite(iconSlot + TAG_ITEM_ICON_BASE, iconSlot + TAG_ITEM_ICON_BASE, item);
if (spriteId != MAX_SPRITES)
@@ -684,11 +748,11 @@ static void BuyMenuInitWindows(void)
{
InitWindows(sShopBuyMenuWindowTemplates);
DeactivateAllTextPrinters();
- LoadUserWindowBorderGfx(0, 1, 0xD0);
- LoadMessageBoxGfx(0, 0xA, 0xE0);
- PutWindowTilemap(0);
- PutWindowTilemap(1);
- PutWindowTilemap(2);
+ LoadUserWindowBorderGfx(WIN_MONEY, 1, 0xD0);
+ LoadMessageBoxGfx(WIN_MONEY, 0xA, 0xE0);
+ PutWindowTilemap(WIN_MONEY);
+ PutWindowTilemap(WIN_ITEM_LIST);
+ PutWindowTilemap(WIN_ITEM_DESCRIPTION);
}
static void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 colorSet)
@@ -698,7 +762,7 @@ static void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 c
static void BuyMenuDisplayMessage(u8 taskId, const u8 *text, TaskFunc callback)
{
- DisplayMessageAndContinueTask(taskId, 5, 10, 14, FONT_NORMAL, GetPlayerTextSpeedDelay(), text, callback);
+ DisplayMessageAndContinueTask(taskId, WIN_MESSAGE, 10, 14, FONT_NORMAL, GetPlayerTextSpeedDelay(), text, callback);
ScheduleBgCopyTilemapToVram(0);
}
@@ -707,7 +771,7 @@ static void BuyMenuDrawGraphics(void)
BuyMenuDrawMapGraphics();
BuyMenuCopyMenuBgToBg1TilemapBuffer();
AddMoneyLabelObject(19, 11);
- PrintMoneyAmountInMoneyBoxWithBorder(0, 1, 13, GetMoney(&gSaveBlock1Ptr->money));
+ PrintMoneyAmountInMoneyBoxWithBorder(WIN_MONEY, 1, 13, GetMoney(&gSaveBlock1Ptr->money));
ScheduleBgCopyTilemapToVram(0);
ScheduleBgCopyTilemapToVram(1);
ScheduleBgCopyTilemapToVram(2);
@@ -723,10 +787,8 @@ static void BuyMenuDrawMapGraphics(void)
static void BuyMenuDrawMapBg(void)
{
- s16 i;
- s16 j;
- s16 x;
- s16 y;
+ s16 i, j;
+ s16 x, y;
const struct MapLayout *mapLayout;
u16 metatile;
u8 metatileLayerType;
@@ -747,13 +809,9 @@ static void BuyMenuDrawMapBg(void)
metatileLayerType = METATILE_LAYER_TYPE_COVERED;
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);
}
}
}
@@ -795,11 +853,13 @@ static void BuyMenuCollectObjectEventData(void)
s16 facingY;
u8 y;
u8 x;
- u8 r8 = 0;
+ u8 numObjects = 0;
GetXYCoordsOneStepInFrontOfPlayer(&facingX, &facingY);
+
for (y = 0; y < OBJECT_EVENTS_COUNT; y++)
sShopData->viewportObjects[y][OBJ_EVENT_ID] = OBJECT_EVENTS_COUNT;
+
for (y = 0; y < 5; y++)
{
for (x = 0; x < 7; x++)
@@ -809,28 +869,28 @@ static void BuyMenuCollectObjectEventData(void)
// skip if invalid or an overworld pokemon that is not following the player
if (objEventId != OBJECT_EVENTS_COUNT && !(gObjectEvents[objEventId].active && gObjectEvents[objEventId].graphicsId == OBJ_EVENT_GFX_OW_MON && gObjectEvents[objEventId].localId != OBJ_EVENT_ID_FOLLOWER))
{
- sShopData->viewportObjects[r8][OBJ_EVENT_ID] = objEventId;
- sShopData->viewportObjects[r8][X_COORD] = x;
- sShopData->viewportObjects[r8][Y_COORD] = y;
- sShopData->viewportObjects[r8][LAYER_TYPE] = MapGridGetMetatileLayerTypeAt(facingX - 4 + x, facingY - 2 + y);
+ sShopData->viewportObjects[numObjects][OBJ_EVENT_ID] = objEventId;
+ sShopData->viewportObjects[numObjects][X_COORD] = x;
+ sShopData->viewportObjects[numObjects][Y_COORD] = y;
+ sShopData->viewportObjects[numObjects][LAYER_TYPE] = MapGridGetMetatileLayerTypeAt(facingX - 4 + x, facingY - 2 + y);
switch (gObjectEvents[objEventId].facingDirection)
{
- case DIR_SOUTH:
- sShopData->viewportObjects[r8][ANIM_NUM] = 0;
- break;
- case DIR_NORTH:
- sShopData->viewportObjects[r8][ANIM_NUM] = 1;
- break;
- case DIR_WEST:
- sShopData->viewportObjects[r8][ANIM_NUM] = 2;
- break;
- case DIR_EAST:
- default:
- sShopData->viewportObjects[r8][ANIM_NUM] = 3;
- break;
+ case DIR_SOUTH:
+ sShopData->viewportObjects[numObjects][ANIM_NUM] = ANIM_STD_FACE_SOUTH;
+ break;
+ case DIR_NORTH:
+ sShopData->viewportObjects[numObjects][ANIM_NUM] = ANIM_STD_FACE_NORTH;
+ break;
+ case DIR_WEST:
+ sShopData->viewportObjects[numObjects][ANIM_NUM] = ANIM_STD_FACE_WEST;
+ break;
+ case DIR_EAST:
+ default:
+ sShopData->viewportObjects[numObjects][ANIM_NUM] = ANIM_STD_FACE_EAST;
+ break;
}
- r8++;
+ numObjects++;
}
}
}
@@ -877,13 +937,9 @@ static void BuyMenuDrawObjectEvents(void)
static bool8 BuyMenuCheckIfObjectEventOverlapsMenuBg(s16 *object)
{
if (!BuyMenuCheckForOverlapWithMenuBg(object[X_COORD], object[Y_COORD] + 2) && object[LAYER_TYPE] != METATILE_LAYER_TYPE_COVERED)
- {
return TRUE;
- }
else
- {
return FALSE;
- }
}
static void BuyMenuCopyMenuBgToBg1TilemapBuffer(void)
@@ -895,9 +951,7 @@ static void BuyMenuCopyMenuBgToBg1TilemapBuffer(void)
for (i = 0; i < 1024; i++)
{
if (src[i] != 0)
- {
dest[i] = src[i] + 0xC3E3;
- }
}
}
@@ -911,9 +965,7 @@ static bool8 BuyMenuCheckForOverlapWithMenuBg(int x, int y)
metatile[offset2 + offset1 + 32] == 0 &&
metatile[offset2 + offset1 + 1] == 0 &&
metatile[offset2 + offset1 + 33] == 0)
- {
return TRUE;
- }
return FALSE;
}
@@ -938,18 +990,14 @@ static void Task_BuyMenu(u8 taskId)
default:
PlaySE(SE_SELECT);
tItemId = itemId;
- ClearWindowTilemap(2);
+ ClearWindowTilemap(WIN_ITEM_DESCRIPTION);
BuyMenuRemoveScrollIndicatorArrows();
- BuyMenuPrintCursor(tListTaskId, 2);
+ BuyMenuPrintCursor(tListTaskId, COLORID_GRAY_CURSOR);
if (sMartInfo.martType == MART_TYPE_NORMAL)
- {
sShopData->totalCost = (ItemId_GetPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT));
- }
else
- {
sShopData->totalCost = gDecorations[itemId].price;
- }
if (!IsEnoughMoney(&gSaveBlock1Ptr->money, sShopData->totalCost))
{
@@ -995,25 +1043,21 @@ static void Task_BuyHowManyDialogueInit(u8 taskId)
u16 quantityInBag = CountTotalItemQuantityInBag(tItemId);
u16 maxQuantity;
- DrawStdFrameWithCustomTileAndPalette(3, FALSE, 1, 13);
+ DrawStdFrameWithCustomTileAndPalette(WIN_QUANTITY_IN_BAG, FALSE, 1, 13);
ConvertIntToDecimalStringN(gStringVar1, quantityInBag, STR_CONV_MODE_RIGHT_ALIGN, MAX_ITEM_DIGITS + 1);
StringExpandPlaceholders(gStringVar4, gText_InBagVar1);
- BuyMenuPrint(3, gStringVar4, 0, 1, 0, 0);
+ BuyMenuPrint(WIN_QUANTITY_IN_BAG, gStringVar4, 0, 1, 0, COLORID_NORMAL);
tItemCount = 1;
- DrawStdFrameWithCustomTileAndPalette(4, FALSE, 1, 13);
+ DrawStdFrameWithCustomTileAndPalette(WIN_QUANTITY_PRICE, FALSE, 1, 13);
BuyMenuPrintItemQuantityAndPrice(taskId);
ScheduleBgCopyTilemapToVram(0);
maxQuantity = GetMoney(&gSaveBlock1Ptr->money) / sShopData->totalCost;
if (maxQuantity > MAX_BAG_ITEM_CAPACITY)
- {
sShopData->maxQuantity = MAX_BAG_ITEM_CAPACITY;
- }
else
- {
sShopData->maxQuantity = maxQuantity;
- }
gTasks[taskId].func = Task_BuyHowManyDialogueHandleInput;
}
@@ -1032,11 +1076,11 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId)
if (JOY_NEW(A_BUTTON))
{
PlaySE(SE_SELECT);
- ClearStdWindowAndFrameToTransparent(4, 0);
- ClearStdWindowAndFrameToTransparent(3, 0);
- ClearWindowTilemap(4);
- ClearWindowTilemap(3);
- PutWindowTilemap(1);
+ ClearStdWindowAndFrameToTransparent(WIN_QUANTITY_PRICE, FALSE);
+ ClearStdWindowAndFrameToTransparent(WIN_QUANTITY_IN_BAG, FALSE);
+ ClearWindowTilemap(WIN_QUANTITY_PRICE);
+ ClearWindowTilemap(WIN_QUANTITY_IN_BAG);
+ PutWindowTilemap(WIN_ITEM_LIST);
CopyItemName(tItemId, gStringVar1);
ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, BAG_ITEM_CAPACITY_DIGITS);
ConvertIntToDecimalStringN(gStringVar3, sShopData->totalCost, STR_CONV_MODE_LEFT_ALIGN, 6);
@@ -1045,10 +1089,10 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId)
else if (JOY_NEW(B_BUTTON))
{
PlaySE(SE_SELECT);
- ClearStdWindowAndFrameToTransparent(4, 0);
- ClearStdWindowAndFrameToTransparent(3, 0);
- ClearWindowTilemap(4);
- ClearWindowTilemap(3);
+ ClearStdWindowAndFrameToTransparent(WIN_QUANTITY_PRICE, FALSE);
+ ClearStdWindowAndFrameToTransparent(WIN_QUANTITY_IN_BAG, FALSE);
+ ClearWindowTilemap(WIN_QUANTITY_PRICE);
+ ClearWindowTilemap(WIN_QUANTITY_IN_BAG);
BuyMenuReturnToItemList(taskId);
}
}
@@ -1063,7 +1107,7 @@ static void BuyMenuTryMakePurchase(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- PutWindowTilemap(1);
+ PutWindowTilemap(WIN_ITEM_LIST);
if (sMartInfo.martType == MART_TYPE_NORMAL)
{
@@ -1098,16 +1142,12 @@ static void BuyMenuSubtractMoney(u8 taskId)
IncrementGameStat(GAME_STAT_SHOPPED);
RemoveMoney(&gSaveBlock1Ptr->money, sShopData->totalCost);
PlaySE(SE_SHOP);
- PrintMoneyAmountInMoneyBox(0, GetMoney(&gSaveBlock1Ptr->money), 0);
+ PrintMoneyAmountInMoneyBox(WIN_MONEY, GetMoney(&gSaveBlock1Ptr->money), 0);
if (sMartInfo.martType == MART_TYPE_NORMAL)
- {
gTasks[taskId].func = Task_ReturnToItemListAfterItemPurchase;
- }
else
- {
gTasks[taskId].func = Task_ReturnToItemListAfterDecorationPurchase;
- }
}
static void Task_ReturnToItemListAfterItemPurchase(u8 taskId)
@@ -1117,14 +1157,12 @@ static void Task_ReturnToItemListAfterItemPurchase(u8 taskId)
if (JOY_NEW(A_BUTTON | B_BUTTON))
{
PlaySE(SE_SELECT);
- if (tItemId == ITEM_POKE_BALL && tItemCount > 9 && AddBagItem(ITEM_PREMIER_BALL, 1) == TRUE)
- {
+
+ // Purchasing 10+ Poke Balls gets the player a Premier Ball
+ if (tItemId == ITEM_POKE_BALL && tItemCount >= 10 && AddBagItem(ITEM_PREMIER_BALL, 1) == TRUE)
BuyMenuDisplayMessage(taskId, gText_ThrowInPremierBall, BuyMenuReturnToItemList);
- }
else
- {
BuyMenuReturnToItemList(taskId);
- }
}
}
@@ -1141,10 +1179,10 @@ static void BuyMenuReturnToItemList(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- ClearDialogWindowAndFrameToTransparent(5, 0);
- BuyMenuPrintCursor(tListTaskId, 1);
- PutWindowTilemap(1);
- PutWindowTilemap(2);
+ ClearDialogWindowAndFrameToTransparent(WIN_MESSAGE, FALSE);
+ BuyMenuPrintCursor(tListTaskId, COLORID_ITEM_LIST);
+ PutWindowTilemap(WIN_ITEM_LIST);
+ PutWindowTilemap(WIN_ITEM_DESCRIPTION);
ScheduleBgCopyTilemapToVram(0);
BuyMenuAddScrollIndicatorArrows();
gTasks[taskId].func = Task_BuyMenu;
@@ -1154,11 +1192,11 @@ static void BuyMenuPrintItemQuantityAndPrice(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- FillWindowPixelBuffer(4, PIXEL_FILL(1));
- PrintMoneyAmount(4, 38, 1, sShopData->totalCost, TEXT_SKIP_DRAW);
+ FillWindowPixelBuffer(WIN_QUANTITY_PRICE, PIXEL_FILL(1));
+ PrintMoneyAmount(WIN_QUANTITY_PRICE, 38, 1, sShopData->totalCost, TEXT_SKIP_DRAW);
ConvertIntToDecimalStringN(gStringVar1, tItemCount, STR_CONV_MODE_LEADING_ZEROS, BAG_ITEM_CAPACITY_DIGITS);
StringExpandPlaceholders(gStringVar4, gText_xVar1);
- BuyMenuPrint(4, gStringVar4, 0, 1, 0, 0);
+ BuyMenuPrint(WIN_QUANTITY_PRICE, gStringVar4, 0, 1, 0, COLORID_NORMAL);
}
static void ExitBuyMenu(u8 taskId)
@@ -1214,25 +1252,27 @@ static void RecordItemPurchase(u8 taskId)
#undef tItemCount
#undef tItemId
#undef tListTaskId
+#undef tCallbackHi
+#undef tCallbackLo
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..8a67acae36 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,
@@ -6433,6 +6433,20 @@ static const struct SpriteTemplate sSpriteTemplate_PikaPowerBolt =
.callback = SpriteCB_PikaPowerBolt
};
+/*
+[0 ][1 ]
+[ ][ ]
+[ ][ ]
+[ ][ ]
+[ ][ ]
+[______________][______________] 128x128
+[ ]+ <- Origin ]
+[ ][ ]
+[ ][ ]
+[ ][ ]
+[ ][ ]
+[2 ][3 ]
+*/
static const struct Subsprite sSubsprites_ReelBackground[] =
{
{
@@ -6474,6 +6488,11 @@ static const struct SubspriteTable sSubspriteTable_ReelBackground[] =
ARRAY_COUNT(sSubsprites_ReelBackground), sSubsprites_ReelBackground
};
+/* v-- Origin on 3
+[0_____][1_____]
+[2_____][3_____] 64x24
+[4 ][5 ]
+*/
static const struct Subsprite sSubsprites_ReelTimeMachineAntennae[] =
{
{
@@ -6531,6 +6550,13 @@ static const struct SubspriteTable sSubspriteTable_ReelTimeMachineAntennae[] =
ARRAY_COUNT(sSubsprites_ReelTimeMachineAntennae), sSubsprites_ReelTimeMachineAntennae
};
+/*
+[0 ]
+[ ]
+[ + Origin]
+[______________] 64x40
+[1 ][2 ]
+*/
static const struct Subsprite sSubsprites_ReelTimeMachine[] =
{
{
@@ -6564,6 +6590,14 @@ static const struct SubspriteTable sSubspriteTable_ReelTimeMachine[] =
ARRAY_COUNT(sSubsprites_ReelTimeMachine), sSubsprites_ReelTimeMachine
};
+/*
+[0 ]
+[ ]
+[ + Origin]
+[______________] 64x48
+[1 ][2 ]
+[3 ][4 ]
+*/
static const struct Subsprite sSubsprites_BrokenReelTimeMachine[] =
{
{
@@ -6613,6 +6647,10 @@ static const struct SubspriteTable sSubspriteTable_BrokenReelTimeMachine[] =
ARRAY_COUNT(sSubsprites_BrokenReelTimeMachine), sSubsprites_BrokenReelTimeMachine
};
+/* v-- Origin on 3
+[0_____][1_____]
+[2 ][3 ] 64x16
+*/
static const struct Subsprite sSubsprites_ReelTimeShadow[] =
{
{
@@ -6654,6 +6692,11 @@ static const struct SubspriteTable sSubspriteTable_ReelTimeShadow[] =
ARRAY_COUNT(sSubsprites_ReelTimeShadow), sSubsprites_ReelTimeShadow
};
+/*
+[0_] 16x24
+[1+] <--Origin
+[2_]
+*/
static const struct Subsprite sSubsprites_ReelTimeNumberGap[] =
{
{
@@ -6687,6 +6730,14 @@ static const struct SubspriteTable sSubspriteTable_ReelTimeNumberGap[] =
ARRAY_COUNT(sSubsprites_ReelTimeNumberGap), sSubsprites_ReelTimeNumberGap
};
+/*
+[0 ]
+[ ]
+[ + Origin]
+[______________] 64x48
+[1 ][2 ]
+[3 ][4 ]
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_Reel[] =
{
{
@@ -6736,6 +6787,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Reel[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_Reel), sSubsprites_DigitalDisplay_Reel
};
+/* v-- Origin on 3
+[0_____][1_____]
+[2 ][3 ] 64x16
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_Time[] =
{
{
@@ -6777,6 +6832,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Time[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_Time), sSubsprites_DigitalDisplay_Time
};
+/* v-- Origin on 3
+[0_____][1_____]
+[2 ][3 ] 64x16
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_Insert[] =
{
{
@@ -6818,6 +6877,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Insert[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_Insert), sSubsprites_DigitalDisplay_Insert
};
+/* v-- Origin on 3
+[0_____][1_____]
+[2 ][3 ] 64x16
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_Unused1[] =
{
{
@@ -6859,6 +6922,11 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Unused1[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_Unused1), sSubsprites_DigitalDisplay_Unused1
};
+/* v-- Origin on 3
+[0_____][1_____]
+[2_____][3_____]
+[4 ][5 ] 64x24
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_Win[] =
{
{
@@ -6950,6 +7018,14 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Unused2[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_Unused2), sSubsprites_DigitalDisplay_Unused2
};
+/*
+[0_____][1_]
+[2_____][3_]
+[4_____][5_]
+[6_____][7+] <-- Origin
+[8_____][9_]
+[10____][11]
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_Pokeball[] =
{
{
@@ -6962,7 +7038,7 @@ static const struct Subsprite sSubsprites_DigitalDisplay_Pokeball[] =
},
{
.x = 8,
- -24,
+ .y = -24,
.shape = SPRITE_SHAPE(16x8),
.size = SPRITE_SIZE(16x8),
.tileOffset = 4,
@@ -7055,6 +7131,11 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Pokeball[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_Pokeball), sSubsprites_DigitalDisplay_Pokeball
};
+/*
+[0 ] 32x24
+[ + ] <- Origin
+[1 ][2 ]
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_DPad[] =
{
{
@@ -7088,6 +7169,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_DPad[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_DPad), sSubsprites_DigitalDisplay_DPad
};
+/*
+[0 ] 16x16
+[1+] <- Origin
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_StopS[] =
{
{
@@ -7113,6 +7198,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_StopS[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_StopS), sSubsprites_DigitalDisplay_StopS
};
+/*
+[0 ] 16x16
+[1+] <- Origin
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_StopT[] =
{
{
@@ -7138,6 +7227,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_StopT[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_StopT), sSubsprites_DigitalDisplay_StopT
};
+/*
+[0 ] 16x16
+[1+] <- Origin
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_StopO[] =
{
{
@@ -7163,6 +7256,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_StopO[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_StopO), sSubsprites_DigitalDisplay_StopO
};
+/*
+[0 ] 16x16
+[1+] <- Origin
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_StopP[] =
{
{
@@ -7188,6 +7285,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_StopP[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_StopP), sSubsprites_DigitalDisplay_StopP
};
+/*
+[0 ] 16x16
+[1+] <- Origin
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_BonusB[] =
{
{
@@ -7213,6 +7314,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusB[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusB), sSubsprites_DigitalDisplay_BonusB
};
+/*
+[]<-0 16x16
+[]<-1 <- Origin
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_BonusO[] =
{
{
@@ -7238,6 +7343,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusO[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusO), sSubsprites_DigitalDisplay_BonusO
};
+/*
+[0 ] 16x16
+[1+] <- Origin
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_BonusN[] =
{
{
@@ -7263,6 +7372,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusN[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusN), sSubsprites_DigitalDisplay_BonusN
};
+/*
+[]<-0 16x16
+[]<-1 <- Origin
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_BonusU[] =
{
{
@@ -7288,6 +7401,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusU[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusU), sSubsprites_DigitalDisplay_BonusU
};
+/*
+[0 ] 16x16
+[1+] <- Origin
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_BonusS[] =
{
{
@@ -7313,6 +7430,12 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusS[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusS), sSubsprites_DigitalDisplay_BonusS
};
+/*
+[0_][] <-1
+[2_][] <-3
+[4_][] <-5
+ ^-- Origin on 3
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_BigB[] =
{
{
@@ -7370,6 +7493,11 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BigB[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_BigB), sSubsprites_DigitalDisplay_BigB
};
+/*
+[0_] 16x24
+[1+] <--Origin
+[2_]
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_BigI[] =
{
{
@@ -7403,6 +7531,12 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BigI[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_BigI), sSubsprites_DigitalDisplay_BigI
};
+/*
+[0_][] <-1
+[2_][] <-3
+[4_][] <-5
+ ^-- Origin on 3
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_BigG[] =
{
{
@@ -7460,6 +7594,12 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BigG[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_BigG), sSubsprites_DigitalDisplay_BigG
};
+/*
+[0_][] <-1
+[2_][] <-3
+[4_][] <-5
+ ^-- Origin on 3
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_RegR[] =
{
{
@@ -7517,6 +7657,11 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_RegR[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_RegR), sSubsprites_DigitalDisplay_RegR
};
+/*
+[0_] 16x24
+[1+] <--Origin
+[2_]
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_RegE[] =
{
{
@@ -7550,6 +7695,12 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_RegE[] =
ARRAY_COUNT(sSubsprites_DigitalDisplay_RegE), sSubsprites_DigitalDisplay_RegE
};
+/*
+[0_][] <-1
+[2_][] <-3
+[4_][] <-5
+ ^-- Origin on 3
+*/
static const struct Subsprite sSubsprites_DigitalDisplay_RegG[] =
{
{
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 6a5e7c046a..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,
@@ -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..9c8fb2e8e9 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -351,7 +351,7 @@ static void InitTradeMenu(void)
FillWindowPixelBuffer(i, PIXEL_FILL(0));
}
- FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 15);
+ FillBgTilemapBufferRect(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 15);
LoadUserWindowBorderGfx_(0, 20, 0xC0);
LoadUserWindowBorderGfx(2, 1, 0xE0);
LoadMonIconPalettes();
@@ -2064,13 +2064,13 @@ static void RedrawTradeMenuParty(u8 whichParty)
static void Task_DrawSelectionSummary(u8 taskId)
{
- FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(0);
}
static void Task_DrawSelectionTrade(u8 taskId)
{
- FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT);
CopyBgTilemapBufferToVram(0);
}
@@ -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 f17306196c..0269b6cea1 100644
--- a/src/trainer_see.c
+++ b/src/trainer_see.c
@@ -118,7 +118,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,
@@ -794,7 +794,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..229ea31643 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;
@@ -3680,8 +3680,8 @@ static s32 ListMenuHandler_AllItemsAvailable(u8 *state, u8 *windowId, u8 *listMe
if (winTemplateCopy.width > maxWidth)
winTemplateCopy.width = maxWidth;
- if (winTemplateCopy.tilemapLeft + winTemplateCopy.width > 29)
- winTemplateCopy.tilemapLeft = max(29 - winTemplateCopy.width, 0);
+ if (winTemplateCopy.tilemapLeft + winTemplateCopy.width >= DISPLAY_TILE_WIDTH)
+ winTemplateCopy.tilemapLeft = max(DISPLAY_TILE_WIDTH - 1 - winTemplateCopy.width, 0);
*windowId = AddWindow(&winTemplateCopy);
DrawStdWindowFrame(*windowId, FALSE);
@@ -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_battle.c b/src/union_room_battle.c
index 1ec8be77b5..2e1e5621df 100644
--- a/src/union_room_battle.c
+++ b/src/union_room_battle.c
@@ -129,7 +129,7 @@ void CB2_UnionRoomBattle(void)
ClearWindowTilemap(0);
FillWindowPixelBuffer(0, PIXEL_FILL(0));
FillWindowPixelBuffer(0, PIXEL_FILL(1));
- FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF);
+ FillBgTilemapBufferRect(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 0xF);
LoadUserWindowBorderGfx(0, 1, 0xD0);
LoadUserWindowBorderGfx_(0, 1, 0xD0);
Menu_LoadStdPal();
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;