diff --git a/graphics/pokemon/bombirdier/back.png b/graphics/pokemon/bombirdier/back.png index eb45117013..d2f321a35b 100644 Binary files a/graphics/pokemon/bombirdier/back.png and b/graphics/pokemon/bombirdier/back.png differ diff --git a/graphics/pokemon/bombirdier/front.png b/graphics/pokemon/bombirdier/front.png index b8aa83644b..618c5c7c9b 100644 Binary files a/graphics/pokemon/bombirdier/front.png and b/graphics/pokemon/bombirdier/front.png differ diff --git a/graphics/pokemon/bombirdier/normal.pal b/graphics/pokemon/bombirdier/normal.pal index 21129ad828..73f336b876 100644 --- a/graphics/pokemon/bombirdier/normal.pal +++ b/graphics/pokemon/bombirdier/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 +153 211 165 52 41 48 -74 57 66 -15 15 15 -38 210 161 -102 91 96 -185 170 175 -239 227 225 -147 125 133 80 29 37 -77 74 75 -230 76 98 -255 251 255 +74 57 66 +102 91 96 +117 105 110 153 62 73 -167 171 167 -123 130 123 +230 76 98 +147 125 133 +180 165 170 +16 16 16 +225 215 218 +249 247 248 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/bombirdier/shiny.pal b/graphics/pokemon/bombirdier/shiny.pal index 7c57659ed5..013bc938de 100644 --- a/graphics/pokemon/bombirdier/shiny.pal +++ b/graphics/pokemon/bombirdier/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 +153 211 165 52 41 48 +84 81 81 74 57 66 -15 15 15 -38 210 161 102 91 96 -185 170 175 -239 227 225 +186 80 100 +121 120 119 +189 184 186 147 125 133 -80 29 37 -160 74 85 -171 167 168 -255 251 255 -136 134 133 -167 171 167 -123 130 123 +180 165 170 +16 16 16 +225 215 218 +230 220 223 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/dipplin/back.png b/graphics/pokemon/dipplin/back.png index d99452c70b..9fb357c7b4 100644 Binary files a/graphics/pokemon/dipplin/back.png and b/graphics/pokemon/dipplin/back.png differ diff --git a/graphics/pokemon/dipplin/front.png b/graphics/pokemon/dipplin/front.png index 6311f69be9..4e3cef7589 100644 Binary files a/graphics/pokemon/dipplin/front.png and b/graphics/pokemon/dipplin/front.png differ diff --git a/graphics/pokemon/dipplin/normal.pal b/graphics/pokemon/dipplin/normal.pal index 3c68d0216a..94e56ce1b8 100644 --- a/graphics/pokemon/dipplin/normal.pal +++ b/graphics/pokemon/dipplin/normal.pal @@ -1,17 +1,19 @@ JASC-PAL 0100 -14 +16 0 183 239 +101 16 12 +36 77 28 43 97 14 +143 19 11 +189 28 16 +230 74 53 +95 171 29 +75 133 61 +197 168 80 +250 136 107 164 216 74 16 16 16 -95 171 29 -241 201 80 -198 169 83 -254 254 254 -101 16 12 -157 24 17 -222 81 69 -249 164 162 -36 77 28 -75 133 61 +229 238 129 +253 253 253 +0 0 0 diff --git a/graphics/pokemon/dipplin/shiny.pal b/graphics/pokemon/dipplin/shiny.pal index 81c9ff3c86..ef289139fe 100644 --- a/graphics/pokemon/dipplin/shiny.pal +++ b/graphics/pokemon/dipplin/shiny.pal @@ -1,17 +1,19 @@ JASC-PAL 0100 -14 +16 0 183 239 +128 65 0 +160 53 43 43 97 14 +184 93 0 +214 143 1 +255 211 22 +95 171 29 +255 118 66 +197 168 80 +255 250 137 164 216 74 16 16 16 -95 171 29 -241 201 80 -198 169 83 -254 254 254 -194 80 3 -221 143 0 -255 212 22 -249 164 162 -185 77 49 -255 118 66 +229 238 129 +253 253 253 +0 0 0 diff --git a/graphics/pokemon/hydrapple/back.png b/graphics/pokemon/hydrapple/back.png index f84712a508..19ffd6d199 100644 Binary files a/graphics/pokemon/hydrapple/back.png and b/graphics/pokemon/hydrapple/back.png differ diff --git a/graphics/pokemon/hydrapple/front.png b/graphics/pokemon/hydrapple/front.png index eecdea6d78..ca82294df1 100644 Binary files a/graphics/pokemon/hydrapple/front.png and b/graphics/pokemon/hydrapple/front.png differ diff --git a/graphics/pokemon/hydrapple/normal.pal b/graphics/pokemon/hydrapple/normal.pal index 6fec9a7957..b29a319b81 100644 --- a/graphics/pokemon/hydrapple/normal.pal +++ b/graphics/pokemon/hydrapple/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -88 56 32 +0 183 239 16 16 16 -152 24 16 -96 16 8 -32 72 24 -136 88 56 -216 80 64 -72 128 56 -248 160 160 -192 168 80 -40 96 8 -88 168 24 -160 216 72 -240 200 80 -32 88 8 +101 16 12 +36 77 28 +43 97 14 +143 19 11 +189 28 16 +194 44 58 +230 74 53 +211 34 61 +95 171 29 +250 136 107 +204 170 118 +164 216 74 +240 221 157 +125 0 0 diff --git a/graphics/pokemon/hydrapple/shiny.pal b/graphics/pokemon/hydrapple/shiny.pal index d3d0f68f92..35e42dc80f 100644 --- a/graphics/pokemon/hydrapple/shiny.pal +++ b/graphics/pokemon/hydrapple/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -88 56 32 +0 183 239 16 16 16 -216 136 0 -192 80 0 -32 72 24 -136 88 56 -248 208 16 -72 128 56 -248 232 144 -192 168 80 -40 96 8 -88 168 24 -160 216 72 -240 200 80 -32 88 8 +128 65 0 +160 53 43 +43 97 14 +184 93 0 +214 143 1 +194 44 58 +255 211 22 +29 171 38 +95 171 29 +255 250 137 +204 170 118 +164 216 74 +240 221 157 +0 83 0 diff --git a/graphics/pokemon/oinkologne/back.png b/graphics/pokemon/oinkologne/back.png index 81810c233f..42c6c3bf30 100644 Binary files a/graphics/pokemon/oinkologne/back.png and b/graphics/pokemon/oinkologne/back.png differ diff --git a/graphics/pokemon/oinkologne/f/back.png b/graphics/pokemon/oinkologne/f/back.png index d71dab3908..5d965be41a 100644 Binary files a/graphics/pokemon/oinkologne/f/back.png and b/graphics/pokemon/oinkologne/f/back.png differ diff --git a/graphics/pokemon/oinkologne/f/front.png b/graphics/pokemon/oinkologne/f/front.png index c3f10ed9f3..a4841d6b0f 100644 Binary files a/graphics/pokemon/oinkologne/f/front.png and b/graphics/pokemon/oinkologne/f/front.png differ diff --git a/graphics/pokemon/oinkologne/f/normal.pal b/graphics/pokemon/oinkologne/f/normal.pal index ba2c645dc6..2dc009715d 100644 --- a/graphics/pokemon/oinkologne/f/normal.pal +++ b/graphics/pokemon/oinkologne/f/normal.pal @@ -1,18 +1,19 @@ JASC-PAL 0100 -15 -152 208 160 -216 80 128 -248 160 200 -144 40 64 -248 120 144 -24 24 24 -96 64 72 -64 40 40 -248 160 8 -200 104 88 -0 0 0 -144 88 80 -248 200 8 +16 +153 211 165 +40 24 24 +88 40 40 +64 48 48 +88 64 64 +120 72 64 +128 48 48 +176 104 88 +184 80 96 +200 144 80 +184 184 184 +240 128 136 +16 16 16 +248 232 136 248 248 248 -168 160 160 +0 0 0 diff --git a/graphics/pokemon/oinkologne/f/shiny.pal b/graphics/pokemon/oinkologne/f/shiny.pal index 9a427f2a72..ed20dc8af3 100644 --- a/graphics/pokemon/oinkologne/f/shiny.pal +++ b/graphics/pokemon/oinkologne/f/shiny.pal @@ -1,18 +1,19 @@ JASC-PAL 0100 -15 -152 208 160 -216 80 128 -248 160 200 -144 40 64 -248 120 144 -24 24 24 -232 192 206 -217 158 179 -248 160 8 -248 240 240 -0 0 0 -241 223 226 -248 200 8 +16 +153 211 165 +174 80 82 +120 104 112 +193 122 128 +217 164 169 +200 186 180 +128 48 48 +248 224 232 +184 80 96 +200 144 80 +184 184 184 +240 128 136 +16 16 16 +248 232 136 248 248 248 -168 160 160 +0 0 0 diff --git a/graphics/pokemon/oinkologne/front.png b/graphics/pokemon/oinkologne/front.png index 22263f0903..d3fd42dd29 100644 Binary files a/graphics/pokemon/oinkologne/front.png and b/graphics/pokemon/oinkologne/front.png differ diff --git a/graphics/pokemon/oinkologne/normal.pal b/graphics/pokemon/oinkologne/normal.pal index 6487815766..b58cdc7561 100644 --- a/graphics/pokemon/oinkologne/normal.pal +++ b/graphics/pokemon/oinkologne/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 210 164 -131 97 49 -197 80 131 +153 211 165 +32 16 40 +40 32 48 +48 40 56 +71 62 76 +64 56 80 +112 32 64 +94 86 101 +152 56 104 +200 144 80 +240 80 160 +184 184 184 16 16 16 -96 92 107 -246 214 65 -230 113 164 -59 50 72 -83 81 104 -31 33 45 -255 255 255 -43 43 43 -87 83 97 -68 61 84 -70 69 95 -131 60 90 +248 232 136 +248 248 248 +0 0 0 diff --git a/graphics/pokemon/oinkologne/shiny.pal b/graphics/pokemon/oinkologne/shiny.pal index 8faecfbad6..12096079fb 100644 --- a/graphics/pokemon/oinkologne/shiny.pal +++ b/graphics/pokemon/oinkologne/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 210 164 -131 97 49 -197 80 131 +153 211 165 +120 104 112 +174 80 82 +200 186 180 +193 122 128 +248 224 232 +112 32 64 +217 164 169 +152 56 104 +200 144 80 +240 80 160 +184 184 184 16 16 16 -255 206 222 -246 214 65 -230 113 164 -249 241 242 -205 153 172 -139 89 115 -255 255 255 -57 60 65 -246 186 205 -247 233 235 -255 226 238 -131 60 90 +248 232 136 +248 248 248 +0 0 0 diff --git a/graphics/pokemon/terapagos/anim_front.png b/graphics/pokemon/terapagos/anim_front.png deleted file mode 100644 index 4ef2270bd3..0000000000 Binary files a/graphics/pokemon/terapagos/anim_front.png and /dev/null differ diff --git a/graphics/pokemon/terapagos/back.png b/graphics/pokemon/terapagos/back.png index 8ec4f6c5b0..87794dd646 100644 Binary files a/graphics/pokemon/terapagos/back.png and b/graphics/pokemon/terapagos/back.png differ diff --git a/graphics/pokemon/terapagos/front.png b/graphics/pokemon/terapagos/front.png new file mode 100644 index 0000000000..bc24378858 Binary files /dev/null and b/graphics/pokemon/terapagos/front.png differ diff --git a/graphics/pokemon/terapagos/normal.pal b/graphics/pokemon/terapagos/normal.pal index 533a2e7c68..369c0e9495 100644 --- a/graphics/pokemon/terapagos/normal.pal +++ b/graphics/pokemon/terapagos/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -38 26 108 -49 34 133 -103 230 225 -60 76 160 -160 64 109 -228 103 181 -0 0 0 -115 162 235 -52 201 163 -76 244 204 -153 228 201 -230 244 173 -205 251 128 -63 50 194 +153 211 165 +33 33 105 +53 53 168 +62 85 198 +85 85 202 +242 56 141 +147 78 192 +43 189 156 +40 138 191 +44 211 177 +65 132 243 +165 230 153 +16 16 16 +143 143 220 +212 245 255 255 255 255 diff --git a/graphics/pokemon/terapagos/shiny.pal b/graphics/pokemon/terapagos/shiny.pal index 1a59467bd6..a1742f9030 100644 --- a/graphics/pokemon/terapagos/shiny.pal +++ b/graphics/pokemon/terapagos/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -37 114 136 -66 151 189 -151 58 210 -63 209 230 -160 64 109 -234 243 49 -0 0 0 -218 32 48 -52 201 163 -76 244 204 -153 228 201 -230 244 173 -205 251 128 -63 50 194 +153 211 165 +39 80 120 +71 161 196 +62 85 198 +70 209 236 +237 183 87 +147 78 192 +138 48 220 +191 40 81 +44 211 177 +65 132 243 +165 230 153 +16 16 16 +148 226 243 +212 245 255 255 255 255 diff --git a/graphics/pokemon/terapagos/terastal/anim_front.png b/graphics/pokemon/terapagos/terastal/anim_front.png deleted file mode 100644 index 90a42f88b5..0000000000 Binary files a/graphics/pokemon/terapagos/terastal/anim_front.png and /dev/null differ diff --git a/graphics/pokemon/terapagos/terastal/back.png b/graphics/pokemon/terapagos/terastal/back.png index cfa96b0ab0..083593c6fb 100644 Binary files a/graphics/pokemon/terapagos/terastal/back.png and b/graphics/pokemon/terapagos/terastal/back.png differ diff --git a/graphics/pokemon/terapagos/terastal/front.png b/graphics/pokemon/terapagos/terastal/front.png new file mode 100644 index 0000000000..fbdf844767 Binary files /dev/null and b/graphics/pokemon/terapagos/terastal/front.png differ diff --git a/graphics/pokemon/terapagos/terastal/normal.pal b/graphics/pokemon/terapagos/terastal/normal.pal index 453f7ce70c..bb1d11f8f6 100644 --- a/graphics/pokemon/terapagos/terastal/normal.pal +++ b/graphics/pokemon/terapagos/terastal/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -90 53 7 -42 121 78 -70 70 70 -215 38 89 -41 45 164 -77 151 158 -78 190 242 -170 172 227 -122 228 243 -147 245 227 -252 252 182 +153 211 165 +26 26 26 +247 69 26 +255 213 45 +45 45 140 +62 85 198 +85 85 202 +242 70 153 +147 78 192 +40 138 191 +44 211 177 +65 132 243 +165 230 153 +16 16 16 +245 160 222 255 255 255 -52 66 152 -0 200 255 -197 34 91 diff --git a/graphics/pokemon/terapagos/terastal/shiny.pal b/graphics/pokemon/terapagos/terastal/shiny.pal index f6103ac9f6..652a01f638 100644 --- a/graphics/pokemon/terapagos/terastal/shiny.pal +++ b/graphics/pokemon/terapagos/terastal/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -90 53 7 -42 121 78 -70 70 70 -215 38 89 -41 45 164 -77 151 158 -78 190 242 -170 172 227 -122 228 243 -147 245 227 -252 252 182 +153 211 165 +26 26 26 +247 69 26 +255 213 45 +61 126 192 +62 85 198 +70 209 236 +237 183 87 +147 78 192 +191 40 81 +44 211 177 +65 132 243 +165 230 153 +16 16 16 +245 160 222 255 255 255 -84 215 251 -255 0 0 -244 255 0 diff --git a/include/battle.h b/include/battle.h index 785f92de4c..fc68636a65 100644 --- a/include/battle.h +++ b/include/battle.h @@ -818,42 +818,42 @@ static inline bool32 IsBattleMoveStatus(u32 move) return GetMoveCategory(move) == DAMAGE_CATEGORY_STATUS; } -/* Checks if 'battlerId' is any of the types. +/* Checks if 'battler' is any of the types. * Passing multiple types is more efficient than calling this multiple * times with one type because it shares the 'GetBattlerTypes' result. */ -#define _IS_BATTLER_ANY_TYPE(battlerId, ignoreTera, ...) \ - ({ \ - u32 types[3]; \ - GetBattlerTypes(battlerId, ignoreTera, types); \ +#define _IS_BATTLER_ANY_TYPE(battler, ignoreTera, ...) \ + ({ \ + u32 types[3]; \ + GetBattlerTypes(battler, ignoreTera, types); \ RECURSIVELY(R_FOR_EACH(_IS_BATTLER_ANY_TYPE_HELPER, __VA_ARGS__)) FALSE; \ }) #define _IS_BATTLER_ANY_TYPE_HELPER(type) (types[0] == type) || (types[1] == type) || (types[2] == type) || -#define IS_BATTLER_ANY_TYPE(battlerId, ...) _IS_BATTLER_ANY_TYPE(battlerId, FALSE, __VA_ARGS__) +#define IS_BATTLER_ANY_TYPE(battler, ...) _IS_BATTLER_ANY_TYPE(battler, FALSE, __VA_ARGS__) #define IS_BATTLER_OF_TYPE IS_BATTLER_ANY_TYPE -#define IS_BATTLER_ANY_BASE_TYPE(battlerId, ...) _IS_BATTLER_ANY_TYPE(battlerId, TRUE, __VA_ARGS__) +#define IS_BATTLER_ANY_BASE_TYPE(battler, ...) _IS_BATTLER_ANY_TYPE(battler, TRUE, __VA_ARGS__) #define IS_BATTLER_OF_BASE_TYPE IS_BATTLER_ANY_BASE_TYPE -#define IS_BATTLER_TYPELESS(battlerId) \ - ({ \ - u32 types[3]; \ - GetBattlerTypes(battlerId, FALSE, types); \ +#define IS_BATTLER_TYPELESS(battlerId) \ + ({ \ + u32 types[3]; \ + GetBattlerTypes(battlerId, FALSE, types); \ types[0] == TYPE_MYSTERY && types[1] == TYPE_MYSTERY && types[2] == TYPE_MYSTERY; \ }) -#define SET_BATTLER_TYPE(battlerId, type) \ -{ \ - gBattleMons[battlerId].types[0] = type; \ - gBattleMons[battlerId].types[1] = type; \ - gBattleMons[battlerId].types[2] = TYPE_MYSTERY; \ +#define SET_BATTLER_TYPE(battler, type) \ +{ \ + gBattleMons[battler].types[0] = type; \ + gBattleMons[battler].types[1] = type; \ + gBattleMons[battler].types[2] = TYPE_MYSTERY; \ } -#define RESTORE_BATTLER_TYPE(battlerId) \ -{ \ - gBattleMons[battlerId].types[0] = gSpeciesInfo[gBattleMons[battlerId].species].types[0]; \ - gBattleMons[battlerId].types[1] = gSpeciesInfo[gBattleMons[battlerId].species].types[1]; \ - gBattleMons[battlerId].types[2] = TYPE_MYSTERY; \ +#define RESTORE_BATTLER_TYPE(battler) \ +{ \ + gBattleMons[battler].types[0] = gSpeciesInfo[gBattleMons[battler].species].types[0]; \ + gBattleMons[battler].types[1] = gSpeciesInfo[gBattleMons[battler].species].types[1]; \ + gBattleMons[battler].types[2] = TYPE_MYSTERY; \ } #define GET_STAT_BUFF_ID(n) ((n & 7)) // first three bits 0x1, 0x2, 0x4 diff --git a/include/battle_ai_script_commands.h b/include/battle_ai_script_commands.h new file mode 100644 index 0000000000..e69de29bb2 diff --git a/include/battle_anim.h b/include/battle_anim.h index c28546f1e8..ac1b662d61 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -68,8 +68,8 @@ void DestroyAnimSprite(struct Sprite *sprite); void DestroyAnimVisualTask(u8 taskId); void DestroyAnimSoundTask(u8 taskId); u8 GetAnimBattlerId(u8 wantedBattler); -bool8 IsBattlerSpriteVisible(u8 battlerId); -void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible); +bool8 IsBattlerSpriteVisible(u8 battler); +void MoveBattlerSpriteToBG(u8 battler, bool8 toBG_2, bool8 setSpriteInvisible); bool8 IsContest(void); s8 BattleAnimAdjustPanning(s8 pan); s8 BattleAnimAdjustPanning2(s8 pan); @@ -92,7 +92,7 @@ void AnimTranslateLinearAndFlicker_Flipped(struct Sprite *sprite); void AnimWeatherBallUp(struct Sprite *sprite); void AnimWeatherBallDown(struct Sprite *sprite); void AnimSpinningSparkle(struct Sprite *sprite); -void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y); +void SetAverageBattlerPositions(u8 battler, bool8 respectMonPicOffsets, s16 *x, s16 *y); void DestroySpriteAndMatrix(struct Sprite *sprite); void TranslateSpriteLinearFixedPoint(struct Sprite *sprite); void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets); @@ -102,7 +102,7 @@ void StartAnimLinearTranslation(struct Sprite *sprite); void InitAnimArcTranslation(struct Sprite *sprite); bool8 AnimTranslateLinear(struct Sprite *sprite); void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite); -u8 GetBattlerSpriteCoord2(u8 battlerId, u8 attributeId); +u8 GetBattlerSpriteCoord2(u8 battler, u8 attributeId); void InitAnimLinearTranslationWithSpeed(struct Sprite *sprite); u16 ArcTan2Neg(s16 x, s16 y); void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation); @@ -111,19 +111,19 @@ void TranslateSpriteLinearAndFlicker(struct Sprite *sprite); void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite); void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite); void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset); -s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr); -u8 GetBattlerYCoordWithElevation(u8 battlerId); +s16 GetBattlerSpriteCoordAttr(u8 battler, u8 attr); +u8 GetBattlerYCoordWithElevation(u8 battler); void WaitAnimForDuration(struct Sprite *sprite); void AnimTravelDiagonally(struct Sprite *sprite); void InitAnimLinearTranslation(struct Sprite *sprite); void AnimTranslateLinear_WithFollowup(struct Sprite *sprite); -u8 GetBattlerSpriteBGPriority(u8 battlerId); +u8 GetBattlerSpriteBGPriority(u8 battler); 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); -u8 GetBattlerSpriteSubpriority(u8 battlerId); +u8 GetBattlerSpriteSubpriority(u8 battler); bool8 TranslateAnimHorizontalArc(struct Sprite *sprite); void TranslateSpriteLinearByIdFixedPoint(struct Sprite *sprite); void ResetSpriteRotScale(u8 spriteId); @@ -158,8 +158,8 @@ void SetGrayscaleOrOriginalPalette(u16 palNum, bool8 restoreOriginal); void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds); bool8 RunAffineAnimFromTaskData(struct Task *task); void AnimThrowProjectile(struct Sprite *sprite); -void GetBgDataForTransform(struct BattleAnimBgData *dest, u8 battlerId); -u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, bool8 isShiny, u32 battlerId); +void GetBgDataForTransform(struct BattleAnimBgData *dest, u8 battler); +u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, bool8 isShiny, u32 battler); void ResetSpriteRotScale_PreserveAffine(struct Sprite *sprite); void Trade_MoveSelectedMonToTarget(struct Sprite *sprite); void DestroyAnimVisualTaskAndDisableBlend(u8 taskId); @@ -188,17 +188,17 @@ enum BATTLER_COORD_ATTR_RAW_BOTTOM, }; -u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId); +u8 GetBattlerSpriteCoord(u8 battler, u8 attributeId); -bool8 IsBattlerSpritePresent(u8 battlerId); +bool8 IsBattlerSpritePresent(u8 battler); void ClearBattleAnimBg(u32 bgId); u8 GetAnimBattlerSpriteId(u8 wantedBattler); u8 GetBattleBgPaletteNum(void); -u8 GetBattlerSpriteBGPriorityRank(u8 battlerId); +u8 GetBattlerSpriteBGPriorityRank(u8 battler); void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite *)); void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite); -u8 GetBattlerSpriteDefault_Y(u8 battlerId); -u8 GetSubstituteSpriteDefault_Y(u8 battlerId); +u8 GetBattlerSpriteDefault_Y(u8 battler); +u8 GetSubstituteSpriteDefault_Y(u8 battler); // battle_anim_status_effects.c #define STAT_ANIM_PLUS1 (MOVE_EFFECT_ATK_PLUS_1 - 1) @@ -221,7 +221,7 @@ enum { STAT_ANIM_PAL_MULTIPLE = 0xFF }; -void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); +void LaunchStatusAnimation(u8 battler, u8 statusAnimId); extern const union AnimCmd *const gAnims_SpinningSparkle[]; // battle_anim_ground.c diff --git a/include/battle_controllers.h b/include/battle_controllers.h index be83f5864a..ef939db22a 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -64,11 +64,65 @@ enum { REQUEST_TOUGH_RIBBON_BATTLE, }; +// Accessors for gBattleControllerExecFlags. +// +// These are provided for documentation purposes, to make the battle +// controller internals and the link communication internals more +// legible. Several of these have functions that you should call +// (e.g. MarkBattlerForControllerExec) instead of using these macros +// directly. + +#define MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler) \ + gBattleControllerExecFlags |= (1u << battler) + +#define MARK_BATTLE_CONTROLLER_IDLE_ON_LOCAL(battler) \ + gBattleControllerExecFlags &= ~(1u << battler) + +#define IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler) \ + (gBattleControllerExecFlags & (1u << battler)) + +#define MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(battler) \ + gBattleControllerExecFlags |= (1u << battler) << (32 - MAX_BATTLERS_COUNT) + +#define MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battler) \ + gBattleControllerExecFlags &= ~((1 << 28) << (battler)) + +#define MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battler, playerId) \ + gBattleControllerExecFlags |= (1u << battler) << ((playerId) << 2) + +#define MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battler, playerId) \ + gBattleControllerExecFlags &= ~(1u << battler) << ((playerId) * 4) + +#define IS_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battler, playerId) \ + (gBattleControllerExecFlags & (1u << battler) << ((playerId) * 4)) + +// This actually checks if a specific controller is active on any player or if +// *any* controller is pending sync over link communications, but the macro name +// can only be so specific before it just gets ridiculous. +#define IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(battler) \ + (gBattleControllerExecFlags & ( \ + (1u << battler) \ + | (0xF << 28) \ + | (1u << battler << 4) \ + | (1u << battler << 8) \ + | (1u << battler << 12) \ + )) + // Special arguments for Battle Controller functions. -enum { // Values given to the emit functions to choose gBattleBufferA or gBattleBufferB - BUFFER_A, - BUFFER_B +enum { + // For commands sent from the core battle engine to a controller. + B_COMM_TO_CONTROLLER, // gBattleBufferA + + // For replies sent from a controller to the core battle engine. + B_COMM_TO_ENGINE, // gBattleBufferB + + // During local play, a controller must directly mark itself as + // inactive when it's done processing, whether or not it sends + // a reply. During multiplayer, it must NOT directly mark itself + // as inactive, but instead send one of these, with the player's + // multiplayer ID as data. + B_COMM_CONTROLLER_IS_DONE }; enum { diff --git a/include/battle_main.h b/include/battle_main.h index 064ca705d1..9a69583c9d 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -93,7 +93,7 @@ const u8* FaintClearSetData(u32 battler); void BattleTurnPassed(void); u8 IsRunningFromBattleImpossible(u32 battler); void SwitchTwoBattlersInParty(u32 battler, u32 battler2); -void SwitchPartyOrder(u32 battlerId); +void SwitchPartyOrder(u32 battler); void SwapTurnOrder(u8 id1, u8 id2); u32 GetBattlerTotalSpeedStatArgs(u32 battler, u32 ability, enum ItemHoldEffect holdEffect); u32 GetBattlerTotalSpeedStat(u32 battler); diff --git a/include/battle_records.h b/include/battle_records.h index 88ff6adc96..fe71570389 100644 --- a/include/battle_records.h +++ b/include/battle_records.h @@ -4,7 +4,7 @@ extern u8 gRecordsWindowId; void ClearPlayerLinkBattleRecords(void); -void UpdatePlayerLinkBattleRecords(s32 battlerId); +void UpdatePlayerLinkBattleRecords(s32 battler); void ShowLinkBattleRecords(void); void RemoveRecordsWindow(void); void ShowTrainerHillRecords(void); diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 7f5d2caa08..bb2d3e3e3c 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -26,7 +26,7 @@ s32 CalcCritChanceStage(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordA s32 CalcCritChanceStageGen1(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordAbility, u32 abilityAtk, u32 abilityDef, enum ItemHoldEffect holdEffectAtk); s32 GetCritHitOdds(s32 critChanceIndex); u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u32 defAbility, u32 atkHoldEffect, u32 defHoldEffect); -u8 GetBattlerTurnOrderNum(u8 battlerId); +u8 GetBattlerTurnOrderNum(u8 battler); bool32 NoAliveMonsForBattlerSide(u32 battler); bool32 NoAliveMonsForPlayer(void); bool32 NoAliveMonsForEitherParty(void); @@ -36,7 +36,7 @@ void BattleDestroyYesNoCursorAt(u8 cursorPosition); void BattleCreateYesNoCursorAt(u8 cursorPosition); void BufferMoveToLearnIntoBattleTextBuff2(void); void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags); -bool8 UproarWakeUpCheck(u8 battlerId); +bool8 UproarWakeUpCheck(u8 battler); bool32 DoesSubstituteBlockMove(u32 battlerAtk, u32 battlerDef, u32 move); bool32 DoesDisguiseBlockMove(u32 battler, u32 move); bool32 CanUseLastResort(u8 battlerId); diff --git a/include/battle_tv.h b/include/battle_tv.h index 94b3cd92e5..8f6c5a182f 100644 --- a/include/battle_tv.h +++ b/include/battle_tv.h @@ -6,6 +6,6 @@ void BattleTv_SetDataBasedOnMove(u16 move, u16 weatherFlags, struct DisableStruc void BattleTv_SetDataBasedOnAnimation(u8 animationId); void TryPutLinkBattleTvShowOnAir(void); void BattleTv_ClearExplosionFaintCause(void); -u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId); +u8 GetBattlerMoveSlotId(u8 battler, u16 move); #endif // GUARD_BATTLE_TV_H diff --git a/include/constants/battle.h b/include/constants/battle.h index 881be000c8..4abbb1eb80 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -23,12 +23,23 @@ * +---------------------------+ */ -#define MAX_BATTLERS_COUNT 4 +enum BattlerPosition +{ + B_POSITION_PLAYER_LEFT, + B_POSITION_OPPONENT_LEFT, + B_POSITION_PLAYER_RIGHT, + B_POSITION_OPPONENT_RIGHT, + MAX_POSITION_COUNT, +}; -#define B_POSITION_PLAYER_LEFT 0 -#define B_POSITION_OPPONENT_LEFT 1 -#define B_POSITION_PLAYER_RIGHT 2 -#define B_POSITION_OPPONENT_RIGHT 3 +enum BattlerId +{ + B_BATTLER_0, + B_BATTLER_1, + B_BATTLER_2, + B_BATTLER_3, + MAX_BATTLERS_COUNT, +}; // These macros can be used with either battler ID or positions to get the partner or the opposite mon #define BATTLE_OPPOSITE(id) ((id) ^ BIT_SIDE) diff --git a/include/global.h b/include/global.h index 74ed0c11d3..b0fd58b715 100644 --- a/include/global.h +++ b/include/global.h @@ -518,7 +518,7 @@ struct ApprenticeQuestion u8 moveSlot:2; u8 suggestedChange:2; // TRUE if told to use held item or second move, FALSE if told to use no item or first move //u8 padding; - u16 data; // used both as an itemId and a moveId + u16 data; // used both as an itemId and a move }; struct PlayersApprentice diff --git a/include/party_menu.h b/include/party_menu.h index 5236dd27a7..fe6dc93b13 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -16,7 +16,7 @@ struct PartyMenu s8 slotId2; u8 action; u16 bagItem; - s16 data1; // used variously as a moveId, counter, moveSlotId, or cursorPos + s16 data1; // used variously as a move, counter, moveSlotId, or cursorPos s16 learnMoveState; // data2, used only as a learn move state }; @@ -87,8 +87,8 @@ void ChooseMonForWirelessMinigame(void); void OpenPartyMenuInBattle(u8 partyAction); void ChooseMonForInBattleItem(void); void BufferBattlePartyCurrentOrder(void); -void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId); -void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 arrayIndex); +void BufferBattlePartyCurrentOrderBySide(u8 battler, u8 flankId); +void SwitchPartyOrderLinkMulti(u8 battler, u8 slot, u8 arrayIndex); void SwitchPartyMonSlots(u8 slot, u8 slot2); u8 GetPartyIdFromBattlePartyId(u8 slot); void ShowPartyMenuToShowcaseMultiBattleParty(void); diff --git a/include/pokemon.h b/include/pokemon.h index ee1a77ce97..9c5a738206 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -656,7 +656,7 @@ void CreateBattleTowerMon_HandleLevel(struct Pokemon *mon, struct BattleTowerPok void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId); void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId); void ConvertPokemonToBattleTowerPokemon(struct Pokemon *mon, struct BattleTowerPokemon *dest); -bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId); +bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battler); u16 GetUnionRoomTrainerPic(void); u16 GetUnionRoomTrainerClass(void); void CreateEnemyEventMon(void); @@ -676,7 +676,7 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove); void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move); void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); u8 CountAliveMonsInBattle(u8 caseId, u32 battler); -u8 GetDefaultMoveTarget(u8 battlerId); +u8 GetDefaultMoveTarget(u8 battler); u8 GetMonGender(struct Pokemon *mon); u8 GetBoxMonGender(struct BoxPokemon *boxMon); u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality); @@ -730,10 +730,10 @@ u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex); void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex); void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex); void PokemonToBattleMon(struct Pokemon *src, struct BattlePokemon *dst); -void CopyPartyMonToBattleData(u32 battlerId, u32 partyIndex); +void CopyPartyMonToBattleData(u32 battler, u32 partyIndex); bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex); bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, u8 e); -bool8 HealStatusConditions(struct Pokemon *mon, u32 healMask, u8 battlerId); +bool8 HealStatusConditions(struct Pokemon *mon, u32 healMask, u8 battler); u8 GetItemEffectParamOffset(u32 battler, u16 itemId, u8 effectByte, u8 effectBit); u8 *UseStatIncreaseItem(u16 itemId); u8 GetNature(struct Pokemon *mon); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index c2825bf779..397ec24dea 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -59,7 +59,7 @@ bool8 CheckFreePokemonStorageSpace(void); bool32 CheckBoxMonSanityAt(u32 boxId, u32 boxPosition); u32 CountStorageNonEggMons(void); u32 CountAllStorageMons(void); -bool32 AnyStorageMonWithMove(u16 moveId); +bool32 AnyStorageMonWithMove(u16 move); void ResetWaldaWallpaper(void); void SetWaldaWallpaperLockedOrUnlocked(bool32 unlocked); diff --git a/include/recorded_battle.h b/include/recorded_battle.h index 15a3a05286..ec58e0a25c 100644 --- a/include/recorded_battle.h +++ b/include/recorded_battle.h @@ -60,9 +60,9 @@ extern u8 gRecordedBattleMultiplayerId; void RecordedBattle_Init(u8 mode); void RecordedBattle_SetTrainerInfo(void); -void RecordedBattle_SetBattlerAction(u8 battlerId, u8 action); -void RecordedBattle_ClearBattlerAction(u8 battlerId, u8 bytesToClear); -u8 RecordedBattle_GetBattlerAction(u32 actionType, u8 battlerId); +void RecordedBattle_SetBattlerAction(u8 battler, u8 action); +void RecordedBattle_ClearBattlerAction(u8 battler, u8 bytesToClear); +u8 RecordedBattle_GetBattlerAction(u32 actionType, u8 battler); u8 RecordedBattle_BufferNewBattlerData(u8 *dst); void RecordedBattle_RecordAllBattlerData(u8 *data); bool32 CanCopyRecordedBattleSaveData(void); diff --git a/include/tv.h b/include/tv.h index 31c8fcc50f..f47aa532d7 100644 --- a/include/tv.h +++ b/include/tv.h @@ -5,7 +5,7 @@ extern u8 *const gTVStringVarPtrs[3]; void ClearTVShowData(void); void TryPutBreakingNewsOnAir(void); -void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u16 betterMove); +void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIndex, const u16 *movePtr, u16 betterMove); void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facility); void DoTVShow(void); void DoTVShowInSearchOfTrainers(void); diff --git a/src/apprentice.c b/src/apprentice.c index 7dcca7b28b..3f7a9cdda5 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -70,8 +70,8 @@ struct ApprenticeQuestionData { u16 speciesId; u16 altSpeciesId; - u16 moveId1; - u16 moveId2; + u16 move1; + u16 move2; }; // IWRAM common @@ -81,7 +81,7 @@ COMMON_DATA void (*gApprenticeFunc)(void) = NULL; // This file's functions. static u16 GetRandomAlternateMove(u8 monId); -static bool8 TrySetMove(u8 monId, u16 moveId); +static bool8 TrySetMove(u8 monId, u16 move); static void CreateChooseAnswerTask(bool8 noBButton, u8 itemsCount, u8 windowId); static u8 CreateAndShowWindow(u8 left, u8 top, u8 width, u8 height); static void RemoveAndHideWindow(u8 windowId); @@ -316,7 +316,7 @@ static u16 GetRandomAlternateMove(u8 monId) u16 species; const struct LevelUpMove *learnset; bool32 needTMs = FALSE; - u16 moveId = MOVE_NONE; + u16 move = MOVE_NONE; bool32 shouldUseMove; u8 level; @@ -358,7 +358,7 @@ static u16 GetRandomAlternateMove(u8 monId) } while (!shouldUseMove); - moveId = ItemIdToBattleMoveId(ITEM_TM01 + id); + move = ItemIdToBattleMoveId(ITEM_TM01 + id); shouldUseMove = TRUE; if (numLearnsetMoves <= MAX_MON_MOVES) @@ -369,7 +369,7 @@ static u16 GetRandomAlternateMove(u8 monId) for (; j < numLearnsetMoves; j++) { // Keep looking for TMs until one not in the level up learnset is found - if ((learnset[j].move) == moveId) + if ((learnset[j].move) == move) { shouldUseMove = FALSE; break; @@ -393,13 +393,13 @@ static u16 GetRandomAlternateMove(u8 monId) { // Get a random move excluding the 4 it would know at max level u8 learnsetId = Random() % (numLearnsetMoves - MAX_MON_MOVES); - moveId = learnset[learnsetId].move; + move = learnset[learnsetId].move; shouldUseMove = TRUE; for (j = numLearnsetMoves - MAX_MON_MOVES; j < numLearnsetMoves; j++) { // Keep looking for moves until one not in the last 4 is found - if ((learnset[j].move) == moveId) + if ((learnset[j].move) == move) { shouldUseMove = FALSE; break; @@ -409,29 +409,29 @@ static u16 GetRandomAlternateMove(u8 monId) } } - if (TrySetMove(monId, moveId)) + if (TrySetMove(monId, move)) { - if (IsValidApprenticeMove(moveId)) + if (IsValidApprenticeMove(move)) break; i++; } } gApprenticePartyMovesData->moveCounter++; - return moveId; + return move; } -static bool8 TrySetMove(u8 monId, u16 moveId) +static bool8 TrySetMove(u8 monId, u16 move) { u8 i; for (i = 0; i < NUM_WHICH_MOVE_QUESTIONS; i++) { - if (gApprenticePartyMovesData->moves[monId][i] == moveId) + if (gApprenticePartyMovesData->moves[monId][i] == move) return FALSE; } - gApprenticePartyMovesData->moves[monId][gApprenticePartyMovesData->moveCounter] = moveId; + gApprenticePartyMovesData->moves[monId][gApprenticePartyMovesData->moveCounter] = move; return TRUE; } @@ -584,8 +584,8 @@ static void CreateApprenticeMenu(u8 menu) case APPRENTICE_ASK_MOVES: left = 17; top = 8; - strings[0] = GetMoveName(gApprenticeQuestionData->moveId1); - strings[1] = GetMoveName(gApprenticeQuestionData->moveId2); + strings[0] = GetMoveName(gApprenticeQuestionData->move1); + strings[1] = GetMoveName(gApprenticeQuestionData->move2); break; case APPRENTICE_ASK_GIVE: left = 18; @@ -985,8 +985,8 @@ static void InitQuestionData(void) count = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].monId; APPRENTICE_SPECIES_ID_NO_COND(id1, count); gApprenticeQuestionData->speciesId = gApprentices[PLAYER_APPRENTICE.id].species[id1]; - gApprenticeQuestionData->moveId1 = GetDefaultMove(count, id1, PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].moveSlot); - gApprenticeQuestionData->moveId2 = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data; + gApprenticeQuestionData->move1 = GetDefaultMove(count, id1, PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].moveSlot); + gApprenticeQuestionData->move2 = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data; } } else if (gSpecialVar_0x8005 == APPRENTICE_QUESTION_WHAT_ITEM) @@ -1041,10 +1041,10 @@ static void ApprenticeBufferString(void) StringCopy(stringDst, GetSpeciesName(gApprenticeQuestionData->speciesId)); break; case APPRENTICE_BUFF_MOVE1: - StringCopy(stringDst, GetMoveName(gApprenticeQuestionData->moveId1)); + StringCopy(stringDst, GetMoveName(gApprenticeQuestionData->move1)); break; case APPRENTICE_BUFF_MOVE2: - StringCopy(stringDst, GetMoveName(gApprenticeQuestionData->moveId2)); + StringCopy(stringDst, GetMoveName(gApprenticeQuestionData->move2)); break; case APPRENTICE_BUFF_ITEM: StringCopy(stringDst, ItemId_GetName(PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data)); diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 4b81908349..7ca54b71d4 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -1370,7 +1370,7 @@ void AI_TrySwitchOrUseItem(u32 battler) } } - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(battler) << 8); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(battler) << 8); } // If there are two(or more) mons to choose from, always choose one that has baton pass @@ -2436,7 +2436,7 @@ static bool32 ShouldUseItem(u32 battler) // Set selected party ID to current battler if none chosen. if (gBattleStruct->itemPartyIndex[battler] == PARTY_SIZE) gBattleStruct->itemPartyIndex[battler] = gBattlerPartyIndexes[battler]; - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_USE_ITEM, 0); gBattleStruct->chosenItem[battler] = item; gBattleHistory->trainerItems[i] = 0; return shouldUse; diff --git a/src/battle_anim.c b/src/battle_anim.c index bf75d4a142..b9098cb72f 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -956,30 +956,30 @@ static void Cmd_monbg(void) { bool8 toBG_2; u8 taskId; - u8 battlerId; + u8 battler; u8 animBattler; sBattleAnimScriptPtr++; animBattler = sBattleAnimScriptPtr[0]; if (animBattler & ANIM_TARGET) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; // Move designated battler to background - if (IsBattlerSpriteVisible(battlerId)) + if (IsBattlerSpriteVisible(battler)) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); taskId = CreateTask(Task_InitUpdateMonBg, 10); gAnimVisualTaskCount++; - gTasks[taskId].tBattlerId = battlerId; + gTasks[taskId].tBattlerId = battler; gTasks[taskId].tInBg2 = toBG_2; gTasks[taskId].tActive = TRUE; gTasks[taskId].tIsPartner = FALSE; @@ -987,19 +987,19 @@ static void Cmd_monbg(void) } // Move battler's partner to background - battlerId ^= BIT_FLANK; - if (IsBattlerSpriteVisible(battlerId)) + battler ^= BIT_FLANK; + if (IsBattlerSpriteVisible(battler)) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); taskId = CreateTask(Task_InitUpdateMonBg, 10); gAnimVisualTaskCount++; - gTasks[taskId].tBattlerId = battlerId; + gTasks[taskId].tBattlerId = battler; gTasks[taskId].tInBg2 = toBG_2; gTasks[taskId].tActive = TRUE; gTasks[taskId].tIsPartner = TRUE; @@ -1028,26 +1028,26 @@ u8 GetAnimBattlerId(u8 wantedBattler) } } -bool8 IsBattlerSpriteVisible(u8 battlerId) +bool8 IsBattlerSpriteVisible(u8 battler) { if (IsContest()) { - if (battlerId == gBattleAnimAttacker) + if (battler == gBattleAnimAttacker) return TRUE; else return FALSE; } - if (!IsBattlerSpritePresent(battlerId)) + if (!IsBattlerSpritePresent(battler)) return FALSE; if (IsContest()) return TRUE; // This line won't ever be reached. - if (!gBattleSpritesDataPtr->battlerData[battlerId].invisible || !gSprites[gBattlerSpriteIds[battlerId]].invisible) + if (!gBattleSpritesDataPtr->battlerData[battler].invisible || !gSprites[gBattlerSpriteIds[battler]].invisible) return TRUE; return FALSE; } -void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) +void MoveBattlerSpriteToBG(u8 battler, bool8 toBG_2, bool8 setSpriteInvisible) { struct BattleAnimBgData animBg; u8 battlerSpriteId; @@ -1075,7 +1075,7 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1); SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 0); - battlerSpriteId = gBattlerSpriteIds[battlerId]; + battlerSpriteId = gBattlerSpriteIds[battler]; gBattle_BG1_X = -(gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2) + 0x20; if (IsContest() && IsSpeciesNotUnown(gContestResources->moveAnim->species)) @@ -1083,18 +1083,18 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) gBattle_BG1_Y = -(gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2) + 0x20; if (setSpriteInvisible) - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); - LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); - CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(animBg.paletteId)), PLTT_SIZE_4BPP); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(animBg.paletteId)), PLTT_SIZE_4BPP); if (IsContest()) battlerPosition = 0; else - battlerPosition = GetBattlerPosition(battlerId); + battlerPosition = GetBattlerPosition(battler); DrawBattlerOnBg(1, 0, 0, battlerPosition, animBg.paletteId, animBg.bgTiles, animBg.bgTilemap, animBg.tilesOffset); @@ -1112,21 +1112,21 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) SetAnimBgAttribute(2, BG_ANIM_SCREEN_SIZE, 1); SetAnimBgAttribute(2, BG_ANIM_AREA_OVERFLOW_MODE, 0); - battlerSpriteId = gBattlerSpriteIds[battlerId]; + battlerSpriteId = gBattlerSpriteIds[battler]; gBattle_BG2_X = -(gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2) + 0x20; gBattle_BG2_Y = -(gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2) + 0x20; if (setSpriteInvisible) - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); - LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(9), PLTT_SIZE_4BPP); - CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(9)), PLTT_SIZE_4BPP); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], BG_PLTT_ID(9), PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(9)), PLTT_SIZE_4BPP); - DrawBattlerOnBg(2, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset); + DrawBattlerOnBg(2, 0, 0, GetBattlerPosition(battler), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset); } } @@ -1194,12 +1194,12 @@ void ResetBattleAnimBg(bool8 toBG2) static void Task_UpdateMonBg(u8 taskId) { - u8 spriteId, battlerId; + u8 spriteId, battler; s16 x, y; struct BattleAnimBgData animBg; spriteId = gTasks[taskId].t2_SpriteId; - battlerId = gTasks[taskId].t2_BattlerId; + battler = gTasks[taskId].t2_BattlerId; GetBattleAnimBg1Data(&animBg); x = gTasks[taskId].t2_SpriteX - (gSprites[spriteId].x + gSprites[spriteId].x2); y = gTasks[taskId].t2_SpriteY - (gSprites[spriteId].y + gSprites[spriteId].y2); @@ -1208,13 +1208,13 @@ static void Task_UpdateMonBg(u8 taskId) { gBattle_BG1_X = x + gTasks[taskId].t2_BgX; gBattle_BG1_Y = y + gTasks[taskId].t2_BgY; - CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battlerId)], &gPlttBufferFaded[BG_PLTT_ID(animBg.paletteId)], PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battler)], &gPlttBufferFaded[BG_PLTT_ID(animBg.paletteId)], PLTT_SIZE_4BPP); } else { gBattle_BG2_X = x + gTasks[taskId].t2_BgX; gBattle_BG2_Y = y + gTasks[taskId].t2_BgY; - CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battlerId)], &gPlttBufferFaded[BG_PLTT_ID(9)], PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battler)], &gPlttBufferFaded[BG_PLTT_ID(9)], PLTT_SIZE_4BPP); } } @@ -1234,7 +1234,7 @@ static void Task_UpdateMonBg(u8 taskId) static void Cmd_clearmonbg(void) { u8 animBattlerId; - u8 battlerId; + u8 battler; u8 taskId; sBattleAnimScriptPtr++; @@ -1246,20 +1246,20 @@ static void Cmd_clearmonbg(void) animBattlerId = ANIM_DEF_PARTNER; if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; if (sMonAnimTaskIdArray[0] != TASK_NONE) - gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; + gSprites[gBattlerSpriteIds[battler]].invisible = FALSE; if (animBattlerId > 1 && sMonAnimTaskIdArray[1] != TASK_NONE) - gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battlerId)]].invisible = FALSE; + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].invisible = FALSE; else animBattlerId = 0; taskId = CreateTask(Task_ClearMonBg, 5); gTasks[taskId].data[0] = animBattlerId; - gTasks[taskId].data[2] = battlerId; + gTasks[taskId].data[2] = battler; sBattleAnimScriptPtr++; } @@ -1296,7 +1296,7 @@ static void Task_ClearMonBg(u8 taskId) static void Cmd_monbg_static(void) { bool8 toBG_2; - u8 battlerId; + u8 battler; u8 animBattlerId; sBattleAnimScriptPtr++; @@ -1309,31 +1309,31 @@ static void Cmd_monbg_static(void) animBattlerId = ANIM_DEF_PARTNER; if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; - if (IsBattlerSpriteVisible(battlerId)) + if (IsBattlerSpriteVisible(battler)) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); } - battlerId ^= BIT_FLANK; - if (animBattlerId > 1 && IsBattlerSpriteVisible(battlerId)) + battler ^= BIT_FLANK; + if (animBattlerId > 1 && IsBattlerSpriteVisible(battler)) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); } sBattleAnimScriptPtr++; @@ -1342,7 +1342,7 @@ static void Cmd_monbg_static(void) static void Cmd_clearmonbg_static(void) { u8 animBattlerId; - u8 battlerId; + u8 battler; u8 taskId; sBattleAnimScriptPtr++; @@ -1354,20 +1354,20 @@ static void Cmd_clearmonbg_static(void) animBattlerId = ANIM_DEF_PARTNER; if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; - if (IsBattlerSpriteVisible(battlerId)) - gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; - if (animBattlerId > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battlerId))) - gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battlerId)]].invisible = FALSE; + if (IsBattlerSpriteVisible(battler)) + gSprites[gBattlerSpriteIds[battler]].invisible = FALSE; + if (animBattlerId > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battler))) + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].invisible = FALSE; else animBattlerId = 0; taskId = CreateTask(Task_ClearMonBgStatic, 5); gTasks[taskId].data[0] = animBattlerId; - gTasks[taskId].data[2] = battlerId; + gTasks[taskId].data[2] = battler; sBattleAnimScriptPtr++; } @@ -1378,16 +1378,16 @@ static void Task_ClearMonBgStatic(u8 taskId) if (gTasks[taskId].data[1] != 1) { bool8 toBG_2; - u8 battlerId = gTasks[taskId].data[2]; - u8 position = GetBattlerPosition(battlerId); + u8 battler = gTasks[taskId].data[2]; + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - if (IsBattlerSpriteVisible(battlerId)) + if (IsBattlerSpriteVisible(battler)) ResetBattleAnimBg(toBG_2); - if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battlerId))) + if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battler))) ResetBattleAnimBg(toBG_2 ^ 1); DestroyTask(taskId); @@ -2069,19 +2069,19 @@ static void Cmd_jumpifcontest(void) static void Cmd_splitbgprio(void) { u8 wantedBattler; - u8 battlerId; + u8 battler; u8 battlerPosition; wantedBattler = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; if (wantedBattler != ANIM_ATTACKER) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; // Apply only if the given battler is the lead (on left from team's perspective) - battlerPosition = GetBattlerPosition(battlerId); + battlerPosition = GetBattlerPosition(battler); if (!IsContest() && (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_OPPONENT_RIGHT)) { SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); @@ -2103,7 +2103,7 @@ static void Cmd_splitbgprio_foes(void) { u8 wantedBattler; u8 battlerPosition; - u8 battlerId; + u8 battler; wantedBattler = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; @@ -2112,12 +2112,12 @@ static void Cmd_splitbgprio_foes(void) if (!IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget)) { if (wantedBattler != ANIM_ATTACKER) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; // Apply only if the given battler is the lead (on left from team's perspective) - battlerPosition = GetBattlerPosition(battlerId); + battlerPosition = GetBattlerPosition(battler); if (!IsContest() && (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_OPPONENT_RIGHT)) { SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); diff --git a/src/battle_anim_ice.c b/src/battle_anim_ice.c index ac2205c692..8aa4ae2563 100644 --- a/src/battle_anim_ice.c +++ b/src/battle_anim_ice.c @@ -13,11 +13,16 @@ #include "constants/battle_anim.h" #include "constants/rgb.h" +enum { + HAILSTRUCTTYPE_NEGATIVE_POS_MOD = 0, + HAILSTRUCTTYPE_POSITIVE_POS_MOD = 1, + HAILSTRUCTTYPE_FIXED_POSITION = 2, +}; struct HailStruct { s32 x:10; s32 y:10; s32 bPosition:8; - s32 unk3:4; + s32 type:4; }; static void AnimUnusedIceCrystalThrow(struct Sprite *); @@ -382,16 +387,16 @@ const struct SpriteTemplate gPoisonGasCloudSpriteTemplate = static const struct HailStruct sHailCoordData[] = { - {.x = 100, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2}, - {.x = 85, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 0}, - {.x = 242, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 1}, - {.x = 66, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 1}, - {.x = 182, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 0}, - {.x = 60, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2}, - {.x = 214, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 0}, - {.x = 113, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 1}, - {.x = 210, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 1}, - {.x = 38, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 0}, + {.x = 100, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_FIXED_POSITION}, + {.x = 85, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD}, + {.x = 242, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD}, + {.x = 66, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD}, + {.x = 182, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD}, + {.x = 60, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_FIXED_POSITION}, + {.x = 214, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD}, + {.x = 113, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD}, + {.x = 210, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD}, + {.x = 38, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD}, }; static const union AffineAnimCmd sAffineAnim_HailParticle_0[] = @@ -1445,6 +1450,13 @@ static void MovePoisonGasCloud(struct Sprite *sprite) } } +#define tState data[0] +#define tSpriteCount data[1] +#define tHailAffineAnimNum data[2] +#define tHailStructId data[3] +#define tInitialDelayTimer data[4] +#define tHailSpawnTimer data[5] + void AnimTask_Hail(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1455,71 +1467,86 @@ void AnimTask_Hail(u8 taskId) static void AnimTask_Hail2(u8 taskId) { struct Task *task = &gTasks[taskId]; - switch (task->data[0]) + switch (task->tState) { case 0: - if (++task->data[4] > 2) + if (++task->tInitialDelayTimer > 2) { - task->data[4] = 0; - task->data[5] = 0; - task->data[2] = 0; - task->data[0]++; + task->tInitialDelayTimer = 0; + task->tHailSpawnTimer = 0; + task->tHailAffineAnimNum = 0; + task->tState++; } break; case 1: - if (task->data[5] == 0) + if (task->tHailSpawnTimer == 0) { - if (GenerateHailParticle(task->data[3], task->data[2], taskId, 1)) - task->data[1]++; + if (GenerateHailParticle(task->tHailStructId, task->tHailAffineAnimNum, taskId, 1)) + task->tSpriteCount++; - if (++task->data[2] == 3) + if (++task->tHailAffineAnimNum == (int)ARRAY_COUNT(sAffineAnims_HailParticle)) { - if (++task->data[3] == 10) - task->data[0]++; + if (++task->tHailStructId == (int)ARRAY_COUNT(sHailCoordData)) + task->tState++; else - task->data[0]--; + task->tState--; } else { - task->data[5] = 1; + task->tHailSpawnTimer = 1; } } else { - task->data[5]--; + task->tHailSpawnTimer--; } break; case 2: - if (task->data[1] == 0) + if (task->tSpriteCount == 0) DestroyAnimVisualTask(taskId); break; } } +#undef tState +#undef tSpriteCount +#undef tHailAffineAnimNum +#undef tHailStructId +#undef tInitialDelayTimer +#undef tHailSpawnTimer + +// Hail falling particle sprite vars +#define sSpawnImpactEffect data[0] +#define sTargetX data[3] +#define sTargetY data[4] +#define sAffineAnimNum data[5] +#define sOwnerTaskId data[6] +#define sOwnerTaskSpriteCountField data[7] + static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c) { u8 id; s16 battlerX, battlerY; s16 spriteX; - bool8 possibleBool = FALSE; - s8 unk = sHailCoordData[hailStructId].unk3; + bool8 shouldSpawnImpactEffect = FALSE; + s8 type = sHailCoordData[hailStructId].type; - if (unk != 2) + if (type != HAILSTRUCTTYPE_FIXED_POSITION) { id = GetBattlerAtPosition(sHailCoordData[hailStructId].bPosition); if (IsBattlerSpriteVisible(id)) { - possibleBool = TRUE; + shouldSpawnImpactEffect = TRUE; battlerX = GetBattlerSpriteCoord(id, BATTLER_COORD_X_2); battlerY = GetBattlerSpriteCoord(id, BATTLER_COORD_Y_PIC_OFFSET); - switch (unk) + switch (type) { - case 0: + case HAILSTRUCTTYPE_NEGATIVE_POS_MOD: battlerX -= GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_WIDTH) / 6; battlerY -= GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_HEIGHT) / 6; break; - case 1: + case HAILSTRUCTTYPE_POSITIVE_POS_MOD: battlerX += GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_WIDTH) / 6; battlerY += GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_HEIGHT) / 6; break; @@ -1545,12 +1572,12 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, else { StartSpriteAffineAnim(&gSprites[id], affineAnimNum); - gSprites[id].data[0] = possibleBool; - gSprites[id].data[3] = battlerX; - gSprites[id].data[4] = battlerY; - gSprites[id].data[5] = affineAnimNum; - gSprites[id].data[6] = taskId; - gSprites[id].data[7] = c; + gSprites[id].sSpawnImpactEffect = shouldSpawnImpactEffect; + gSprites[id].sTargetX = battlerX; + gSprites[id].sTargetY = battlerY; + gSprites[id].sAffineAnimNum = affineAnimNum; + gSprites[id].sOwnerTaskId = taskId; + gSprites[id].sOwnerTaskSpriteCountField = c; return TRUE; } } @@ -1562,20 +1589,23 @@ static void AnimHailBegin(struct Sprite *sprite) sprite->x += 4; sprite->y += 8; - if (sprite->x < sprite->data[3] && sprite->y < sprite->data[4]) + if (sprite->x < sprite->sTargetX && sprite->y < sprite->sTargetY) return; - if (sprite->data[0] == 1 && sprite->data[5] == 0) + if (sprite->sSpawnImpactEffect == 1 && sprite->sAffineAnimNum == 0) { spriteId = CreateSprite(&gIceCrystalHitLargeSpriteTemplate, - sprite->data[3], sprite->data[4], sprite->subpriority); + sprite->sTargetX, sprite->sTargetY, sprite->subpriority); sprite->data[0] = spriteId; if (spriteId != MAX_SPRITES) { + // The sprite template we're using is shared amongst a few other + // places, which make the sprite flicker. That's not what we want + // here, though. Override the callback. gSprites[sprite->data[0]].callback = AnimHailContinue; - gSprites[sprite->data[0]].data[6] = sprite->data[6]; - gSprites[sprite->data[0]].data[7] = sprite->data[7]; + gSprites[sprite->data[0]].sOwnerTaskId = sprite->sOwnerTaskId; + gSprites[sprite->data[0]].sOwnerTaskSpriteCountField = sprite->sOwnerTaskSpriteCountField; } FreeOamMatrix(sprite->oam.matrixNum); @@ -1583,22 +1613,34 @@ static void AnimHailBegin(struct Sprite *sprite) } else { - gTasks[sprite->data[6]].data[sprite->data[7]]--; + gTasks[sprite->sOwnerTaskId].data[sprite->sOwnerTaskSpriteCountField]--; FreeOamMatrix(sprite->oam.matrixNum); DestroySprite(sprite); } } +#undef sSpawnImpactEffect +#undef sTargetX +#undef sTargetY +#undef sAffineAnimNum + +// Hail impact VFX sprite vars +#define sTimer data[0] + static void AnimHailContinue(struct Sprite *sprite) { - if (++sprite->data[0] == 20) + if (++sprite->sTimer == 20) { - gTasks[sprite->data[6]].data[sprite->data[7]]--; + gTasks[sprite->sOwnerTaskId].data[sprite->sOwnerTaskSpriteCountField]--; FreeOamMatrix(sprite->oam.matrixNum); DestroySprite(sprite); } } +#undef sTimer +#undef sOwnerTaskId +#undef sOwnerTaskSpriteCountField + // Initializes the animation for Ice Ball. // arg 0: initial x pixel offset // arg 1: initial y pixel offset diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 995c39d6d0..a44e0caf6a 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -183,7 +183,7 @@ void AnimTask_ShakeMon2(u8 taskId) { u8 spriteId; bool8 abort = FALSE; - u8 battlerId; + u8 battler; if (gBattleAnimArgs[0] < MAX_BATTLERS_COUNT) { @@ -196,24 +196,24 @@ void AnimTask_ShakeMon2(u8 taskId) switch (gBattleAnimArgs[0]) { case ANIM_PLAYER_LEFT: - battlerId = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); break; case ANIM_PLAYER_RIGHT: - battlerId = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); break; case ANIM_OPPONENT_LEFT: - battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); break; case ANIM_OPPONENT_RIGHT: default: - battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); break; } - if (IsBattlerSpriteVisible(battlerId) == FALSE) + if (IsBattlerSpriteVisible(battler) == FALSE) abort = TRUE; - spriteId = gBattlerSpriteIds[battlerId]; + spriteId = gBattlerSpriteIds[battler]; } else { @@ -675,16 +675,16 @@ static void SlideMonToOffsetPartner(struct Sprite *sprite) static void SlideMonToOffsetAndBack(struct Sprite *sprite) { u8 spriteId; - u8 battlerId; + u8 battler; sprite->invisible = TRUE; if (gBattleAnimArgs[0] == ANIM_ATTACKER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; - spriteId = gBattlerSpriteIds[battlerId]; - if (!IsOnPlayerSide(battlerId)) + spriteId = gBattlerSpriteIds[battler]; + if (!IsOnPlayerSide(battler)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; if (gBattleAnimArgs[3] == 1) diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 3ab6716e10..f7c98bef56 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -84,7 +84,7 @@ static const struct SpriteSheet sSpriteSheets_MoveEffectMons[] = { gMiscBlank_Gfx, MON_PIC_SIZE, TAG_MOVE_EFFECT_MON_2, }, }; -u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) +u8 GetBattlerSpriteCoord(u8 battler, u8 coordType) { u8 retVal; u16 species; @@ -93,7 +93,7 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) if (IsContest()) { - if (coordType == BATTLER_COORD_Y_PIC_OFFSET && battlerId == 3) + if (coordType == BATTLER_COORD_Y_PIC_OFFSET && battler == 3) coordType = BATTLER_COORD_Y; } @@ -101,10 +101,10 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) { case BATTLER_COORD_X: case BATTLER_COORD_X_2: - retVal = sBattlerCoords[GetBattlerCoordsIndex(battlerId)][GetBattlerPosition(battlerId)].x; + retVal = sBattlerCoords[GetBattlerCoordsIndex(battler)][GetBattlerPosition(battler)].x; break; case BATTLER_COORD_Y: - retVal = sBattlerCoords[GetBattlerCoordsIndex(battlerId)][GetBattlerPosition(battlerId)].y; + retVal = sBattlerCoords[GetBattlerCoordsIndex(battler)][GetBattlerPosition(battler)].y; break; case BATTLER_COORD_Y_PIC_OFFSET: case BATTLER_COORD_Y_PIC_OFFSET_DEFAULT: @@ -118,27 +118,27 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) } else { - mon = GetBattlerMon(battlerId); - illusionMon = GetIllusionMonPtr(battlerId); + mon = GetBattlerMon(battler); + illusionMon = GetIllusionMonPtr(battler); if (illusionMon != NULL) mon = illusionMon; spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) + if (!spriteInfo[battler].transformSpecies) species = GetMonData(mon, MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; } if (coordType == BATTLER_COORD_Y_PIC_OFFSET) - retVal = GetBattlerSpriteFinal_Y(battlerId, species, TRUE); + retVal = GetBattlerSpriteFinal_Y(battler, species, TRUE); else - retVal = GetBattlerSpriteFinal_Y(battlerId, species, FALSE); + retVal = GetBattlerSpriteFinal_Y(battler, species, FALSE); break; } return retVal; } -u8 GetBattlerYDelta(u8 battlerId, u16 species) +u8 GetBattlerYDelta(u8 battler, u16 species) { u32 personality; struct BattleSpriteInfo *spriteInfo; @@ -161,25 +161,25 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) if (species == SPECIES_UNOWN) { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - personality = GetMonData(GetBattlerMon(battlerId), MON_DATA_PERSONALITY); + if (!spriteInfo[battler].transformSpecies) + personality = GetMonData(GetBattlerMon(battler), MON_DATA_PERSONALITY); else - personality = gTransformedPersonalities[battlerId]; + personality = gTransformedPersonalities[battler]; species = GetUnownSpeciesId(personality); } } - if (IsOnPlayerSide(battlerId) || IsContest()) + if (IsOnPlayerSide(battler) || IsContest()) ret = gSpeciesInfo[species].backPicYOffset; else ret = gSpeciesInfo[species].frontPicYOffset; return ret; } -u8 GetBattlerElevation(u8 battlerId, u16 species) +u8 GetBattlerElevation(u8 battler, u16 species) { u8 ret = 0; - if (!IsOnPlayerSide(battlerId)) + if (!IsOnPlayerSide(battler)) { if (!IsContest()) { @@ -190,24 +190,24 @@ u8 GetBattlerElevation(u8 battlerId, u16 species) return ret; } -u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3) +u8 GetBattlerSpriteFinal_Y(u8 battler, u16 species, bool8 a3) { u16 offset; u8 y; - if (IsOnPlayerSide(battlerId) || IsContest()) + if (IsOnPlayerSide(battler) || IsContest()) { - offset = GetBattlerYDelta(battlerId, species); + offset = GetBattlerYDelta(battler, species); } else { - offset = GetBattlerYDelta(battlerId, species); - offset -= GetBattlerElevation(battlerId, species); + offset = GetBattlerYDelta(battler, species); + offset -= GetBattlerElevation(battler, species); } - y = offset + sBattlerCoords[GetBattlerCoordsIndex(battlerId)][GetBattlerPosition(battlerId)].y; + y = offset + sBattlerCoords[GetBattlerCoordsIndex(battler)][GetBattlerPosition(battler)].y; if (a3) { - if (IsOnPlayerSide(battlerId)) + if (IsOnPlayerSide(battler)) y += 8; if (y > DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8) y = DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8; @@ -215,7 +215,7 @@ u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3) return y; } -u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType) +u8 GetBattlerSpriteCoord2(u8 battler, u8 coordType) { u16 species; struct BattleSpriteInfo *spriteInfo; @@ -232,55 +232,55 @@ u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType) else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - species = gAnimBattlerSpecies[battlerId]; + if (!spriteInfo[battler].transformSpecies) + species = gAnimBattlerSpecies[battler]; else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; } if (coordType == BATTLER_COORD_Y_PIC_OFFSET) - return GetBattlerSpriteFinal_Y(battlerId, species, TRUE); + return GetBattlerSpriteFinal_Y(battler, species, TRUE); else - return GetBattlerSpriteFinal_Y(battlerId, species, FALSE); + return GetBattlerSpriteFinal_Y(battler, species, FALSE); } else { - return GetBattlerSpriteCoord(battlerId, coordType); + return GetBattlerSpriteCoord(battler, coordType); } } -u8 GetBattlerSpriteDefault_Y(u8 battlerId) +u8 GetBattlerSpriteDefault_Y(u8 battler) { - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT); } -u8 GetSubstituteSpriteDefault_Y(u8 battlerId) +u8 GetSubstituteSpriteDefault_Y(u8 battler) { u16 y; - if (!IsOnPlayerSide(battlerId)) - y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 16; + if (!IsOnPlayerSide(battler)) + y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 16; else - y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 17; + y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 17; return y; } -u8 GetBattlerYCoordWithElevation(u8 battlerId) +u8 GetBattlerYCoordWithElevation(u8 battler) { u16 species; u8 y; struct BattleSpriteInfo *spriteInfo; - y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y); + y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y); if (!IsContest()) { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - species = GetMonData(GetBattlerMon(battlerId), MON_DATA_SPECIES); + if (!spriteInfo[battler].transformSpecies) + species = GetMonData(GetBattlerMon(battler), MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; - if (!IsOnPlayerSide(battlerId)) - y -= GetBattlerElevation(battlerId, species); + if (!IsOnPlayerSide(battler)) + y -= GetBattlerElevation(battler, species); } return y; } @@ -779,8 +779,8 @@ void InitSpritePosToAnimAttackerPartner(struct Sprite *sprite, bool8 respectMonP bool32 InitSpritePosToAnimBattler(u32 animBattlerId, struct Sprite *sprite, bool8 respectMonPicOffsets) { - u32 battlerId = GetAnimBattlerId(animBattlerId); - if (GetAnimBattlerSpriteId(animBattlerId) == 0xFF || !IsBattlerSpriteVisible(battlerId)) + u32 battler = GetAnimBattlerId(animBattlerId); + if (GetAnimBattlerSpriteId(animBattlerId) == 0xFF || !IsBattlerSpriteVisible(battler)) { DestroyAnimSprite(sprite); return FALSE; @@ -788,36 +788,36 @@ bool32 InitSpritePosToAnimBattler(u32 animBattlerId, struct Sprite *sprite, bool if (!respectMonPicOffsets) { - sprite->x = GetBattlerSpriteCoord2(battlerId, BATTLER_COORD_X); - sprite->y = GetBattlerSpriteCoord2(battlerId, BATTLER_COORD_Y); + sprite->x = GetBattlerSpriteCoord2(battler, BATTLER_COORD_X); + sprite->y = GetBattlerSpriteCoord2(battler, BATTLER_COORD_Y); } else if (animBattlerId != ANIM_TARGET) { - sprite->x = GetBattlerSpriteCoord2(battlerId, BATTLER_COORD_X_2); - sprite->y = GetBattlerSpriteCoord2(battlerId, BATTLER_COORD_Y_PIC_OFFSET); + sprite->x = GetBattlerSpriteCoord2(battler, BATTLER_COORD_X_2); + sprite->y = GetBattlerSpriteCoord2(battler, BATTLER_COORD_Y_PIC_OFFSET); } SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->y += gBattleAnimArgs[1]; return TRUE; } -bool8 IsBattlerSpritePresent(u8 battlerId) +bool8 IsBattlerSpritePresent(u8 battler) { if (IsContest()) { - if (gBattleAnimAttacker == battlerId) + if (gBattleAnimAttacker == battler) return TRUE; - else if (gBattleAnimTarget == battlerId) + else if (gBattleAnimTarget == battler) return TRUE; else return FALSE; } else { - if (GetBattlerPosition(battlerId) == 0xff) + if (GetBattlerPosition(battler) == 0xff) return FALSE; - if (!gBattleStruct->spriteIgnore0Hp && GetMonData(GetBattlerMon(battlerId), MON_DATA_HP) == 0) + if (!gBattleStruct->spriteIgnore0Hp && GetMonData(GetBattlerMon(battler), MON_DATA_HP) == 0) return FALSE; return TRUE; } @@ -875,7 +875,7 @@ void GetBattleAnimBgData(struct BattleAnimBgData *out, u32 bgId) } } -void GetBgDataForTransform(struct BattleAnimBgData *out, u8 battlerId) +void GetBgDataForTransform(struct BattleAnimBgData *out, u8 battler) { out->bgTiles = gBattleAnimBgTileBuffer; out->bgTilemap = (u16 *)gBattleAnimBgTilemapBuffer; @@ -1213,14 +1213,14 @@ static bool8 ShouldRotScaleSpeciesBeFlipped(void) void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode) { - u8 battlerId = gSprites[spriteId].data[0]; + u8 battler = gSprites[spriteId].data[0]; - if (IsContest() || IsBattlerSpriteVisible(battlerId)) + if (IsContest() || IsBattlerSpriteVisible(battler)) gSprites[spriteId].invisible = FALSE; gSprites[spriteId].oam.objMode = objMode; gSprites[spriteId].affineAnimPaused = TRUE; if (!IsContest() && !gSprites[spriteId].oam.affineMode) - gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battlerId].matrixNum; + gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battler].matrixNum; gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE; CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); } @@ -1523,7 +1523,7 @@ static void AnimThrowProjectile_Step(struct Sprite *sprite) void AnimTravelDiagonally(struct Sprite *sprite) { bool8 respectOffsets; - u8 battlerId, coordType; + u8 battler, coordType; if (!gBattleAnimArgs[6]) { @@ -1538,19 +1538,19 @@ void AnimTravelDiagonally(struct Sprite *sprite) if (gBattleAnimArgs[5] == ANIM_ATTACKER) { InitSpritePosToAnimAttacker(sprite, respectOffsets); - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; } else { InitSpritePosToAnimTarget(sprite, respectOffsets); - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; } if (!IsOnPlayerSide(gBattleAnimAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; InitSpritePosToAnimTarget(sprite, respectOffsets); sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(battlerId, coordType) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(battler, coordType) + gBattleAnimArgs[3]; sprite->callback = StartAnimLinearTranslation; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } @@ -1834,7 +1834,7 @@ void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId) static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId) { struct BattleSpriteInfo *spriteInfo; - u8 battlerId = gSprites[spriteId].data[0]; + u8 battler = gSprites[spriteId].data[0]; u16 species; u16 i; @@ -1850,10 +1850,10 @@ static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId) else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) + if (!spriteInfo[battler].transformSpecies) species = GetMonData(GetBattlerMon(i), MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; if (IsOnPlayerSide(i)) return gSpeciesInfo[species].backPicYOffset; @@ -1953,21 +1953,21 @@ void InitPrioritiesForVisibleBattlers(void) } } -u8 GetBattlerSpriteSubpriority(u8 battlerId) +u8 GetBattlerSpriteSubpriority(u8 battler) { u8 position; u8 subpriority; if (IsContest()) { - if (battlerId == 2) + if (battler == 2) return 30; else return 40; } else { - position = GetBattlerPosition(battlerId); + position = GetBattlerPosition(battler); if (position == B_POSITION_PLAYER_LEFT) subpriority = 30; else if (position == B_POSITION_PLAYER_RIGHT) @@ -1981,9 +1981,9 @@ u8 GetBattlerSpriteSubpriority(u8 battlerId) return subpriority; } -u8 GetBattlerSpriteBGPriority(u8 battlerId) +u8 GetBattlerSpriteBGPriority(u8 battler) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (IsContest()) return 2; @@ -1993,11 +1993,11 @@ u8 GetBattlerSpriteBGPriority(u8 battlerId) return GetAnimBgAttribute(1, BG_ANIM_PRIORITY); } -u8 GetBattlerSpriteBGPriorityRank(u8 battlerId) +u8 GetBattlerSpriteBGPriorityRank(u8 battler) { if (!IsContest()) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_OPPONENT_RIGHT) return 2; else @@ -2007,7 +2007,7 @@ u8 GetBattlerSpriteBGPriorityRank(u8 battlerId) } // Create Pokémon sprite to be used for a move animation effect (e.g. Role Play / Snatch) -u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, bool8 isShiny, u32 battlerId) +u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, bool8 isShiny, u32 battler) { u8 spriteId; u16 sheet = LoadSpriteSheet(&sSpriteSheets_MoveEffectMons[id]); @@ -2053,7 +2053,7 @@ void DestroySpriteAndFreeResources_(struct Sprite *sprite) DestroySpriteAndFreeResources(sprite); } -s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) +s16 GetBattlerSpriteCoordAttr(u8 battler, u8 attr) { u16 species; u32 personality; @@ -2082,25 +2082,25 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) } else { - struct Pokemon *mon = GetBattlerMon(battlerId); + struct Pokemon *mon = GetBattlerMon(battler); spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) + if (!spriteInfo[battler].transformSpecies) { species = GetMonData(mon, MON_DATA_SPECIES); personality = GetMonData(mon, MON_DATA_PERSONALITY); } else { - species = spriteInfo[battlerId].transformSpecies; - personality = gTransformedPersonalities[battlerId]; + species = spriteInfo[battler].transformSpecies; + personality = gTransformedPersonalities[battler]; } species = SanitizeSpeciesId(species); if (species == SPECIES_UNOWN) species = GetUnownSpeciesId(personality); - if (IsOnPlayerSide(battlerId)) + if (IsOnPlayerSide(battler)) { #if P_GENDER_DIFFERENCES if (gSpeciesInfo[species].backPicFemale != NULL && IsPersonalityFemale(species, personality)) @@ -2131,22 +2131,22 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) case BATTLER_COORD_ATTR_WIDTH: return GET_MON_COORDS_WIDTH(size); case BATTLER_COORD_ATTR_LEFT: - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) - (GET_MON_COORDS_WIDTH(size) / 2); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) - (GET_MON_COORDS_WIDTH(size) / 2); case BATTLER_COORD_ATTR_RIGHT: - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + (GET_MON_COORDS_WIDTH(size) / 2); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + (GET_MON_COORDS_WIDTH(size) / 2); case BATTLER_COORD_ATTR_TOP: - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) - (GET_MON_COORDS_HEIGHT(size) / 2); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) - (GET_MON_COORDS_HEIGHT(size) / 2); case BATTLER_COORD_ATTR_BOTTOM: - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) + (GET_MON_COORDS_HEIGHT(size) / 2); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + (GET_MON_COORDS_HEIGHT(size) / 2); case BATTLER_COORD_ATTR_RAW_BOTTOM: - ret = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 31; + ret = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 31; return ret - y_offset; default: return 0; } } -void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y) +void SetAverageBattlerPositions(u8 battler, bool8 respectMonPicOffsets, s16 *x, s16 *y) { u8 xCoordType, yCoordType; s16 battlerX, battlerY; @@ -2163,12 +2163,12 @@ void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x yCoordType = BATTLER_COORD_Y_PIC_OFFSET; } - battlerX = GetBattlerSpriteCoord(battlerId, xCoordType); - battlerY = GetBattlerSpriteCoord(battlerId, yCoordType); + battlerX = GetBattlerSpriteCoord(battler, xCoordType); + battlerY = GetBattlerSpriteCoord(battler, yCoordType); if (IsDoubleBattle() && !IsContest()) { - partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), xCoordType); - partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), yCoordType); + partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battler), xCoordType); + partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battler), yCoordType); } else { @@ -2180,7 +2180,7 @@ void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x *y = (battlerY + partnerY) / 2; } -u8 CreateInvisibleSpriteCopy(int battlerId, u8 spriteId, int species) +u8 CreateInvisibleSpriteCopy(int battler, u8 spriteId, int species) { u8 newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); gSprites[newSpriteId] = gSprites[spriteId]; diff --git a/src/battle_anim_rock.c b/src/battle_anim_rock.c index 9fe1ad5a85..4ac83e4446 100644 --- a/src/battle_anim_rock.c +++ b/src/battle_anim_rock.c @@ -511,6 +511,11 @@ static void AnimParticleInVortex_Step(struct Sprite *sprite) } } +#define tBlendTimer data[10] +#define tBlend data[11] +#define tFullAlphaTimer data[11] // not a typo; this data field is used for multiple purposes +#define tState data[12] + void AnimTask_LoadSandstormBackground(u8 taskId) { int var0; @@ -553,45 +558,45 @@ static void AnimTask_LoadSandstormBackground_Step(u8 taskId) gBattle_BG1_Y += -1; - switch (gTasks[taskId].data[12]) + switch (gTasks[taskId].tState) { case 0: - if (++gTasks[taskId].data[10] == 4) + if (++gTasks[taskId].tBlendTimer == 4) { - gTasks[taskId].data[10] = 0; - gTasks[taskId].data[11]++; - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11])); - if (gTasks[taskId].data[11] == 7) + gTasks[taskId].tBlendTimer = 0; + gTasks[taskId].tBlend++; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].tBlend, 16 - gTasks[taskId].tBlend)); + if (gTasks[taskId].tBlend == 7) { - gTasks[taskId].data[12]++; - gTasks[taskId].data[11] = 0; + gTasks[taskId].tState++; + gTasks[taskId].tFullAlphaTimer = 0; } } break; case 1: - if (++gTasks[taskId].data[11] == 101) + if (++gTasks[taskId].tFullAlphaTimer == 101) { - gTasks[taskId].data[11] = 7; - gTasks[taskId].data[12]++; + gTasks[taskId].tBlend = 7; + gTasks[taskId].tState++; } break; case 2: - if (++gTasks[taskId].data[10] == 4) + if (++gTasks[taskId].tBlendTimer == 4) { - gTasks[taskId].data[10] = 0; - gTasks[taskId].data[11]--; - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11])); - if (gTasks[taskId].data[11] == 0) + gTasks[taskId].tBlendTimer = 0; + gTasks[taskId].tBlend--; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].tBlend, 16 - gTasks[taskId].tBlend)); + if (gTasks[taskId].tBlend == 0) { - gTasks[taskId].data[12]++; - gTasks[taskId].data[11] = 0; + gTasks[taskId].tState++; + gTasks[taskId].tFullAlphaTimer = 0; } } break; case 3: GetBattleAnimBg1Data(&animBg); ClearBattleAnimBg(animBg.bgId); - gTasks[taskId].data[12]++; + gTasks[taskId].tState++; break; case 4: if (!IsContest()) @@ -607,21 +612,36 @@ static void AnimTask_LoadSandstormBackground_Step(u8 taskId) } } +#undef tBlendTimer +#undef tBlend +#undef tFullAlphaTimer +#undef tState + // Animates the sprites that fly diagonally across the screen // in Sandstorm and Heat Wave. -// arg 0: initial y pixel offset -// arg 1: projectile speed -// arg 2: y pixel drop -// arg 3: ??? unknown (possibly a color bit) + +#define sState data[0] +#define sVelocityX data[1] // 256ths of a pixel // init'd from gBattleAnimArgs[1] +#define sVelocityY data[2] // 256ths of a pixel // init'd from gBattleAnimArgs[2] +#define sFractionalX data[3] // 256ths of a pixel +#define sFractionalY data[4] // 256ths of a pixel +#define sMirroredX data[5] // init'd from gBattleAnimArgs[3] + +// The fields named "velocity" are arguably more like "acceleration," +// and the fields named "fractional" are arguably more like "velocity." +// +// ...is what I WOULD say if the "fractional" fields weren't AND'd with +// 0xFF after every frame. + void AnimFlyingSandCrescent(struct Sprite *sprite) { - if (sprite->data[0] == 0) + if (sprite->sState == 0) { if (gBattleAnimArgs[3] != 0 && !IsOnPlayerSide(gBattleAnimAttacker)) { sprite->x = DISPLAY_WIDTH + 64; gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - sprite->data[5] = 1; + sprite->sMirroredX = 1; sprite->oam.matrixNum = ST_OAM_HFLIP; } else @@ -631,18 +651,18 @@ void AnimFlyingSandCrescent(struct Sprite *sprite) sprite->y = gBattleAnimArgs[0]; SetSubspriteTables(sprite, sFlyingSandSubspriteTable); - sprite->data[1] = gBattleAnimArgs[1]; - sprite->data[2] = gBattleAnimArgs[2]; - sprite->data[0]++; + sprite->sVelocityX = gBattleAnimArgs[1]; + sprite->sVelocityY = gBattleAnimArgs[2]; + sprite->sState++; } else { - sprite->data[3] += sprite->data[1]; - sprite->data[4] += sprite->data[2]; - sprite->x2 += (sprite->data[3] >> 8); - sprite->y2 += (sprite->data[4] >> 8); - sprite->data[3] &= 0xFF; - sprite->data[4] &= 0xFF; + sprite->sFractionalX += sprite->sVelocityX; + sprite->sFractionalY += sprite->sVelocityY; + sprite->x2 += (sprite->sFractionalX >> 8); + sprite->y2 += (sprite->sFractionalY >> 8); + sprite->sFractionalX &= 0xFF; + sprite->sFractionalY &= 0xFF; if (sprite->data[5] == 0) { @@ -658,6 +678,13 @@ void AnimFlyingSandCrescent(struct Sprite *sprite) } } +#undef sState +#undef sVelocityX +#undef sVelocityY +#undef sFractionalX +#undef sFractionalY +#undef sMirroredX + // Animates the rising rocks in Ancient Power. // arg 0: initial x pixel offset // arg 1: initial y pixel offset diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index c4ad988a0b..1bd7008aa4 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -148,26 +148,26 @@ void SoundTask_PlayCryHighPitch(u8 taskId) } else { - u8 battlerId; + u8 battler; // Get wanted battler. if (gBattleAnimArgs[0] == ANIM_ATTACKER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else if (gBattleAnimArgs[0] == ANIM_TARGET) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else if (gBattleAnimArgs[0] == ANIM_ATK_PARTNER) - battlerId = BATTLE_PARTNER(gBattleAnimAttacker); + battler = BATTLE_PARTNER(gBattleAnimAttacker); else - battlerId = BATTLE_PARTNER(gBattleAnimTarget); + battler = BATTLE_PARTNER(gBattleAnimTarget); // Check if battler is visible. - if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battlerId)) + if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battler)) { DestroyAnimVisualTask(taskId); return; } - species = (GetIllusionMonSpecies(battlerId) != SPECIES_NONE) ? GetIllusionMonSpecies(battlerId) : gAnimBattlerSpecies[battlerId]; + species = (GetIllusionMonSpecies(battler) != SPECIES_NONE) ? GetIllusionMonSpecies(battler) : gAnimBattlerSpecies[battler]; } if (species != SPECIES_NONE) @@ -193,26 +193,26 @@ void SoundTask_PlayDoubleCry(u8 taskId) } else { - u8 battlerId; + u8 battler; // Get wanted battler. if (gBattleAnimArgs[0] == ANIM_ATTACKER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else if (gBattleAnimArgs[0] == ANIM_TARGET) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else if (gBattleAnimArgs[0] == ANIM_ATK_PARTNER) - battlerId = BATTLE_PARTNER(gBattleAnimAttacker); + battler = BATTLE_PARTNER(gBattleAnimAttacker); else - battlerId = BATTLE_PARTNER(gBattleAnimTarget); + battler = BATTLE_PARTNER(gBattleAnimTarget); // Check if battler is visible. - if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battlerId)) + if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battler)) { DestroyAnimVisualTask(taskId); return; } - species = (GetIllusionMonSpecies(battlerId) != SPECIES_NONE) ? GetIllusionMonSpecies(battlerId) : gAnimBattlerSpecies[battlerId]; + species = (GetIllusionMonSpecies(battler) != SPECIES_NONE) ? GetIllusionMonSpecies(battler) : gAnimBattlerSpecies[battler]; } gTasks[taskId].data[0] = gBattleAnimArgs[1]; diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index e2741c2b09..b70f481d6c 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -269,16 +269,16 @@ static const struct SpriteTemplate sFlashingCircleImpactSpriteTemplate = .callback = AnimFlashingCircleImpact, }; -static u8 UNUSED Task_FlashingCircleImpacts(u8 battlerId, bool8 red) +static u8 UNUSED Task_FlashingCircleImpacts(u8 battler, bool8 red) { - u8 battlerSpriteId = gBattlerSpriteIds[battlerId]; + u8 battlerSpriteId = gBattlerSpriteIds[battler]; u8 taskId = CreateTask(Task_UpdateFlashingCircleImpacts, 10); u8 spriteId; u8 i; LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]); LoadSpritePalette(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]); - gTasks[taskId].data[0] = battlerId; + gTasks[taskId].data[0] = battler; if (red) { gTasks[taskId].data[1] = RGB_RED; @@ -588,15 +588,15 @@ void AnimTask_StatsChange(u8 taskId) #undef CASE -void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId) +void LaunchStatusAnimation(u8 battler, u8 statusAnimId) { u8 taskId; - gBattleAnimAttacker = battlerId; - gBattleAnimTarget = battlerId; + gBattleAnimAttacker = battler; + gBattleAnimTarget = battler; LaunchBattleAnimation(ANIM_TYPE_STATUS, statusAnimId); taskId = CreateTask(Task_DoStatusAnimation, 10); - gTasks[taskId].data[0] = battlerId; + gTasks[taskId].data[0] = battler; } static void Task_DoStatusAnimation(u8 taskId) diff --git a/src/battle_anim_water.c b/src/battle_anim_water.c index 0da1a08993..490136d116 100644 --- a/src/battle_anim_water.c +++ b/src/battle_anim_water.c @@ -657,27 +657,37 @@ static void AnimKnockOffAquaTailStep(struct Sprite *sprite) sprite->data[2]++; } +#define tRaindropSpawnTimer data[0] +#define tRaindropUnused data[1] +#define tRaindropSpawnInterval data[2] +#define tRaindropSpawnDuration data[3] // number of frames over which we spawn raindrops + void AnimTask_CreateRaindrops(u8 taskId) { u8 x, y; - if (gTasks[taskId].data[0] == 0) + if (gTasks[taskId].tRaindropSpawnTimer == 0) { - gTasks[taskId].data[1] = gBattleAnimArgs[0]; - gTasks[taskId].data[2] = gBattleAnimArgs[1]; - gTasks[taskId].data[3] = gBattleAnimArgs[2]; + gTasks[taskId].tRaindropUnused = gBattleAnimArgs[0]; + gTasks[taskId].tRaindropSpawnInterval = gBattleAnimArgs[1]; + gTasks[taskId].tRaindropSpawnDuration = gBattleAnimArgs[2]; } - gTasks[taskId].data[0]++; - if (gTasks[taskId].data[0] % gTasks[taskId].data[2] == 1) + gTasks[taskId].tRaindropSpawnTimer++; + if (gTasks[taskId].tRaindropSpawnTimer % gTasks[taskId].tRaindropSpawnInterval == 1) { x = Random2() % DISPLAY_WIDTH; y = Random2() % (DISPLAY_HEIGHT / 2); CreateSprite(&gRainDropSpriteTemplate, x, y, 4); } - if (gTasks[taskId].data[0] == gTasks[taskId].data[3]) + if (gTasks[taskId].tRaindropSpawnTimer == gTasks[taskId].tRaindropSpawnDuration) DestroyAnimVisualTask(taskId); } +#undef tRaindropSpawnTimer +#undef tRaindropUnused +#undef tRaindropSpawnInterval +#undef tRaindropSpawnDuration + static void AnimRainDrop(struct Sprite *sprite) { sprite->callback = AnimRainDrop_Step; @@ -687,6 +697,10 @@ static void AnimRainDrop_Step(struct Sprite *sprite) { if (++sprite->data[0] <= 13) { + // + // Make the raindrop fall, but only until it reaches the + // impact/splash frames of its animation. + // sprite->x2++; sprite->y2 += 4; } diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index b9cced954f..c79588695d 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -315,7 +315,7 @@ static void LinkOpponentBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(battler, 2, 4, &playerId); + PrepareBufferDataTransferLink(battler, B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 54f42be7ec..f54ee0d220 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -159,7 +159,7 @@ static void LinkPartnerBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(battler, 2, 4, &playerId); + PrepareBufferDataTransferLink(battler, B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 908d2eca8e..03c78fb9e9 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -359,7 +359,7 @@ static void OpponentBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(battler, 2, 4, &playerId); + PrepareBufferDataTransferLink(battler, B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -495,17 +495,17 @@ static void OpponentHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace(battler)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace(battler)); } else if (gAiBattleData->actionFlee) { gAiBattleData->actionFlee = FALSE; - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_RUN, 0); } else if (gAiBattleData->choiceWatch) { gAiBattleData->choiceWatch = FALSE; - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); } else { @@ -526,11 +526,11 @@ static void OpponentHandleChooseMove(u32 battler) && !(gBattleStruct->gimmick.usableGimmick[battler] == GIMMICK_Z_MOVE && !ShouldUseZMove(battler, gBattlerTarget, moveInfo->moves[chosenMoveIndex]))) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveIndex) | (RET_GIMMICK) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, (chosenMoveIndex) | (RET_GIMMICK) | (gBattlerTarget << 8)); } else { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveIndex) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, (chosenMoveIndex) | (gBattlerTarget << 8)); } } OpponentBufferExecCompleted(battler); @@ -547,7 +547,7 @@ static void OpponentHandleChooseMove(u32 battler) if (GetBattlerMoveTargetType(battler, move) & MOVE_TARGET_USER) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveIndex) | (battler << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, (chosenMoveIndex) | (battler << 8)); } else if (IsDoubleBattle()) { @@ -581,17 +581,17 @@ static void OpponentHandleChooseMove(u32 battler) } } if (isPartnerEnemy && CanTargetBattler(battler, target, move)) - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveIndex) | (GetBattlerAtPosition(BATTLE_PARTNER(battler)) << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, (chosenMoveIndex) | (GetBattlerAtPosition(BATTLE_PARTNER(battler)) << 8)); else - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveIndex) | (target << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, (chosenMoveIndex) | (target << 8)); } else { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveIndex) | (target << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, (chosenMoveIndex) | (target << 8)); } } else - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveIndex) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, (chosenMoveIndex) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); OpponentBufferExecCompleted(battler); } @@ -599,7 +599,7 @@ static void OpponentHandleChooseMove(u32 battler) static void OpponentHandleChooseItem(u32 battler) { - BtlController_EmitOneReturnValue(battler, BUFFER_B, gBattleStruct->chosenItem[battler]); + BtlController_EmitOneReturnValue(battler, B_COMM_TO_ENGINE, gBattleStruct->chosenItem[battler]); OpponentBufferExecCompleted(battler); } @@ -672,7 +672,7 @@ static void OpponentHandleChoosePokemon(u32 battler) #if TESTING TestRunner_Battle_CheckSwitch(battler, chosenMonId); #endif // TESTING - BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(battler, B_COMM_TO_ENGINE, chosenMonId, NULL); OpponentBufferExecCompleted(battler); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 54ca464d64..6966f29557 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -177,7 +177,7 @@ static void PlayerBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(battler, 2, 4, &playerId); + PrepareBufferDataTransferLink(battler, B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -310,7 +310,7 @@ static void HandleInputChooseAction(u32 battler) PlaySE(SE_SELECT); ArrowsChangeColorLastBallCycle(FALSE); TryHideLastUsedBall(); - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_THROW_BALL, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_THROW_BALL, 0); PlayerBufferExecCompleted(battler); } return; @@ -325,16 +325,16 @@ static void HandleInputChooseAction(u32 battler) switch (gActionSelectionCursor[battler]) { case 0: // Top left - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, 0); break; case 1: // Top right - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_USE_ITEM, 0); break; case 2: // Bottom left - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); break; case 3: // Bottom right - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_RUN, 0); break; } PlayerBufferExecCompleted(battler); @@ -392,7 +392,7 @@ static void HandleInputChooseAction(u32 battler) AddBagItem(itemId, 1); } PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_CANCEL_PARTNER, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_CANCEL_PARTNER, 0); PlayerBufferExecCompleted(battler); } else if (B_QUICK_MOVE_CURSOR_TO_RUN) @@ -412,7 +412,7 @@ static void HandleInputChooseAction(u32 battler) } else if (DEBUG_BATTLE_MENU == TRUE && JOY_NEW(SELECT_BUTTON)) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_DEBUG, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_DEBUG, 0); PlayerBufferExecCompleted(battler); } else if (B_LAST_USED_BALL == TRUE && B_LAST_USED_BALL_CYCLE == FALSE @@ -420,7 +420,7 @@ static void HandleInputChooseAction(u32 battler) { PlaySE(SE_SELECT); TryHideLastUsedBall(); - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_THROW_BALL, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_THROW_BALL, 0); PlayerBufferExecCompleted(battler); } } @@ -449,9 +449,9 @@ void HandleInputChooseTarget(u32 battler) PlaySE(SE_SELECT); gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; if (gBattleStruct->gimmick.playerSelect) - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_GIMMICK | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[battler] | RET_GIMMICK | (gMultiUsePlayerCursor << 8)); else - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); TryHideLastUsedBall(); HideGimmickTriggerSprite(); @@ -609,9 +609,9 @@ void HandleInputShowEntireFieldTargets(u32 battler) PlaySE(SE_SELECT); HideAllTargets(); if (gBattleStruct->gimmick.playerSelect) - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_GIMMICK | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[battler] | RET_GIMMICK | (gMultiUsePlayerCursor << 8)); else - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); HideGimmickTriggerSprite(); PlayerBufferExecCompleted(battler); } @@ -637,9 +637,9 @@ void HandleInputShowTargets(u32 battler) PlaySE(SE_SELECT); HideShownTargets(battler); if (gBattleStruct->gimmick.playerSelect) - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_GIMMICK | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[battler] | RET_GIMMICK | (gMultiUsePlayerCursor << 8)); else - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); HideGimmickTriggerSprite(); TryHideLastUsedBall(); PlayerBufferExecCompleted(battler); @@ -741,9 +741,9 @@ void HandleInputChooseMove(u32 battler) case 0: default: if (gBattleStruct->gimmick.playerSelect) - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_GIMMICK | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[battler] | RET_GIMMICK | (gMultiUsePlayerCursor << 8)); else - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); HideGimmickTriggerSprite(); TryHideLastUsedBall(); PlayerBufferExecCompleted(battler); @@ -781,7 +781,7 @@ void HandleInputChooseMove(u32 battler) } else { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, 0xFFFF); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, 0xFFFF); HideGimmickTriggerSprite(); PlayerBufferExecCompleted(battler); TryToHideMoveInfoWindow(); @@ -1457,7 +1457,7 @@ static void Task_GiveExpToMon(u8 taskId) DynamaxModifyHPLevelUp(mon, battler, oldMaxHP); gainedExp -= nextLvlExp - currExp; - BtlController_EmitTwoReturnValues(battler, BUFFER_B, RET_VALUE_LEVELED_UP, (B_LEVEL_UP_NOTIFICATION >= GEN_9) ? 0 : gainedExp); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, (B_LEVEL_UP_NOTIFICATION >= GEN_9) ? 0 : gainedExp); if (IsDoubleBattle() == TRUE && (monId == gBattlerPartyIndexes[battler] || monId == gBattlerPartyIndexes[BATTLE_PARTNER(battler)])) @@ -1543,7 +1543,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) DynamaxModifyHPLevelUp(mon, battler, oldMaxHP); gainedExp -= expOnNextLvl - currExp; - BtlController_EmitTwoReturnValues(battler, BUFFER_B, RET_VALUE_LEVELED_UP, (B_LEVEL_UP_NOTIFICATION >= GEN_9) ? 0 : gainedExp); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, (B_LEVEL_UP_NOTIFICATION >= GEN_9) ? 0 : gainedExp); gTasks[taskId].func = Task_LaunchLvlUpAnim; } else @@ -1612,9 +1612,9 @@ static void WaitForMonSelection(u32 battler) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { if (gPartyMenuUseExitCallback == TRUE) - BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, gSelectedMonPartyId, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(battler, B_COMM_TO_ENGINE, gSelectedMonPartyId, gBattlePartyCurrentOrder); else - BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, PARTY_SIZE, NULL); + BtlController_EmitChosenMonReturnValue(battler, B_COMM_TO_ENGINE, PARTY_SIZE, NULL); if ((gBattleResources->bufferA[battler][1] & 0xF) == 1) PrintLinkStandbyMsg(); @@ -1638,7 +1638,7 @@ static void CompleteWhenChoseItem(u32 battler) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(battler, BUFFER_B, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(battler, B_COMM_TO_ENGINE, gSpecialVar_ItemId); PlayerBufferExecCompleted(battler); } } @@ -1665,9 +1665,9 @@ static void PlayerHandleYesNoInput(u32 battler) PlaySE(SE_SELECT); if (gMultiUsePlayerCursor != 0) - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 0xE, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 0xE, 0); else - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 0xD, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 0xD, 0); PlayerBufferExecCompleted(battler); } @@ -2139,7 +2139,7 @@ static void PlayerChooseMoveInBattlePalace(u32 battler) if (--gBattleStruct->arenaMindPoints[battler] == 0) { gBattlePalaceMoveSelectionRngValue = gRngValue; - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace(battler)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace(battler)); PlayerBufferExecCompleted(battler); } } @@ -2208,7 +2208,7 @@ static void PlayerHandleChoosePokemon(u32 battler) && (gBattleResources->bufferA[battler][1] & 0xF) != PARTY_ACTION_CHOOSE_FAINTED_MON && (gBattleResources->bufferA[battler][1] & 0xF) != PARTY_ACTION_SEND_MON_TO_BOX) { - BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, gBattlerPartyIndexes[battler] + 1, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(battler, B_COMM_TO_ENGINE, gBattlerPartyIndexes[battler] + 1, gBattlePartyCurrentOrder); PlayerBufferExecCompleted(battler); } else @@ -2307,25 +2307,25 @@ static void PlayerHandlePlayBGM(u32 battler) static void PlayerHandleTwoReturnValues(u32 battler) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 0, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 0, 0); PlayerBufferExecCompleted(battler); } static void PlayerHandleChosenMonReturnValue(u32 battler) { - BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, 0, NULL); + BtlController_EmitChosenMonReturnValue(battler, B_COMM_TO_ENGINE, 0, NULL); PlayerBufferExecCompleted(battler); } static void PlayerHandleOneReturnValue(u32 battler) { - BtlController_EmitOneReturnValue(battler, BUFFER_B, 0); + BtlController_EmitOneReturnValue(battler, B_COMM_TO_ENGINE, 0); PlayerBufferExecCompleted(battler); } static void PlayerHandleOneReturnValue_Duplicate(u32 battler) { - BtlController_EmitOneReturnValue_Duplicate(battler, BUFFER_B, 0); + BtlController_EmitOneReturnValue_Duplicate(battler, B_COMM_TO_ENGINE, 0); PlayerBufferExecCompleted(battler); } @@ -2460,7 +2460,7 @@ static u32 CheckTargetTypeEffectiveness(u32 battler) { u32 battlerFoe = BATTLE_OPPOSITE(GetBattlerPosition(battler)); u32 foeEffectiveness = CheckTypeEffectiveness(battlerFoe, battler); - + if (IsDoubleBattle()) { u32 partnerFoe = BATTLE_PARTNER(battlerFoe); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 182b86db88..ad5aa15312 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -231,7 +231,7 @@ static void PlayerPartnerBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(battler, 2, 4, &playerId); + PrepareBufferDataTransferLink(battler, B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -332,11 +332,11 @@ static void PlayerPartnerHandleChooseMove(u32 battler) && !(gBattleStruct->gimmick.usableGimmick[battler] == GIMMICK_Z_MOVE && !ShouldUseZMove(battler, gBattlerTarget, moveInfo->moves[chosenMoveIndex]))) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveIndex) | (RET_GIMMICK) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, (chosenMoveIndex) | (RET_GIMMICK) | (gBattlerTarget << 8)); } else { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveIndex) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, (chosenMoveIndex) | (gBattlerTarget << 8)); } PlayerPartnerBufferExecCompleted(battler); @@ -379,7 +379,7 @@ static void PlayerPartnerHandleChoosePokemon(u32 battler) gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; gBattleStruct->monToSwitchIntoId[battler] = chosenMonId; } - BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(battler, B_COMM_TO_ENGINE, chosenMonId, NULL); PlayerPartnerBufferExecCompleted(battler); } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 8223566f1b..1e471044d5 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -383,7 +383,7 @@ static void RecordedOpponentHandlePrintString(u32 battler) static void RecordedOpponentHandleChooseAction(u32 battler) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, battler), 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, battler), 0); RecordedOpponentBufferExecCompleted(battler); } @@ -391,13 +391,13 @@ static void RecordedOpponentHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace(battler)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace(battler)); } else { u8 moveId = RecordedBattle_GetBattlerAction(RECORDED_MOVE_SLOT, battler); u8 target = RecordedBattle_GetBattlerAction(RECORDED_MOVE_TARGET, battler); - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, moveId | (target << 8)); } RecordedOpponentBufferExecCompleted(battler); @@ -410,7 +410,7 @@ static void RecordedOpponentHandleChooseItem(u32 battler) gBattleStruct->chosenItem[battler] = (byte1 << 8) | byte2; gBattleStruct->itemPartyIndex[battler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_TARGET, battler); gBattleStruct->itemMoveIndex[battler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_MOVE, battler); - BtlController_EmitOneReturnValue(battler, BUFFER_B, gBattleStruct->chosenItem[battler]); + BtlController_EmitOneReturnValue(battler, B_COMM_TO_ENGINE, gBattleStruct->chosenItem[battler]); RecordedOpponentBufferExecCompleted(battler); } @@ -418,7 +418,7 @@ static void RecordedOpponentHandleChoosePokemon(u32 battler) { gBattleStruct->monToSwitchIntoId[battler] = RecordedBattle_GetBattlerAction(RECORDED_PARTY_INDEX, battler); gSelectedMonPartyId = gBattleStruct->monToSwitchIntoId[battler]; // Revival Blessing - BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, gBattleStruct->monToSwitchIntoId[battler], NULL); + BtlController_EmitChosenMonReturnValue(battler, B_COMM_TO_ENGINE, gBattleStruct->monToSwitchIntoId[battler], NULL); RecordedOpponentBufferExecCompleted(battler); } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 9249bbded1..2476929282 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -308,7 +308,7 @@ static void RecordedPlayerBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(battler, 2, 4, &playerId); + PrepareBufferDataTransferLink(battler, B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -396,7 +396,7 @@ static void ChooseActionInBattlePalace(u32 battler) { if (gBattleCommunication[4] >= gBattlersCount / 2) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_BATTLE_PALACE_ACTION, battler), 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, RecordedBattle_GetBattlerAction(RECORDED_BATTLE_PALACE_ACTION, battler), 0); RecordedPlayerBufferExecCompleted(battler); } } @@ -409,7 +409,7 @@ static void RecordedPlayerHandleChooseAction(u32 battler) } else { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, battler), 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, battler), 0); RecordedPlayerBufferExecCompleted(battler); } } @@ -418,13 +418,13 @@ static void RecordedPlayerHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace(battler)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace(battler)); } else { - u8 moveId = RecordedBattle_GetBattlerAction(RECORDED_MOVE_SLOT, battler); + u8 moveIndex = RecordedBattle_GetBattlerAction(RECORDED_MOVE_SLOT, battler); u8 target = RecordedBattle_GetBattlerAction(RECORDED_MOVE_TARGET, battler); - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, moveIndex | (target << 8)); } RecordedPlayerBufferExecCompleted(battler); @@ -437,7 +437,7 @@ static void RecordedPlayerHandleChooseItem(u32 battler) gBattleStruct->chosenItem[battler] = (byte1 << 8) | byte2; gBattleStruct->itemPartyIndex[battler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_TARGET, battler); gBattleStruct->itemMoveIndex[battler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_MOVE, battler); - BtlController_EmitOneReturnValue(battler, BUFFER_B, gBattleStruct->chosenItem[battler]); + BtlController_EmitOneReturnValue(battler, B_COMM_TO_ENGINE, gBattleStruct->chosenItem[battler]); RecordedPlayerBufferExecCompleted(battler); } @@ -445,7 +445,7 @@ static void RecordedPlayerHandleChoosePokemon(u32 battler) { gBattleStruct->monToSwitchIntoId[battler] = RecordedBattle_GetBattlerAction(RECORDED_PARTY_INDEX, battler); gSelectedMonPartyId = gBattleStruct->monToSwitchIntoId[battler]; // Revival Blessing - BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, gBattleStruct->monToSwitchIntoId[battler], NULL); + BtlController_EmitChosenMonReturnValue(battler, B_COMM_TO_ENGINE, gBattleStruct->monToSwitchIntoId[battler], NULL); RecordedPlayerBufferExecCompleted(battler); } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 2e097a11b6..560a95cc5f 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -127,16 +127,16 @@ static void HandleInputChooseAction(u32 battler) switch (gActionSelectionCursor[battler]) { case 0: - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SAFARI_BALL, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_SAFARI_BALL, 0); break; case 1: - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SAFARI_POKEBLOCK, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_SAFARI_POKEBLOCK, 0); break; case 2: - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SAFARI_GO_NEAR, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_SAFARI_GO_NEAR, 0); break; case 3: - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SAFARI_RUN, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_SAFARI_RUN, 0); break; } SafariBufferExecCompleted(battler); @@ -220,7 +220,7 @@ static void CompleteWhenChosePokeblock(u32 battler) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(battler, BUFFER_B, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(battler, B_COMM_TO_ENGINE, gSpecialVar_ItemId); SafariBufferExecCompleted(battler); } } @@ -232,7 +232,7 @@ static void SafariBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(battler, 2, 4, &playerId); + PrepareBufferDataTransferLink(battler, B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index cc929de786..3381e5a5bd 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -145,7 +145,7 @@ static void WallyHandleActions(u32 battler) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(battler); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -156,7 +156,7 @@ static void WallyHandleActions(u32 battler) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(battler); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -166,7 +166,7 @@ static void WallyHandleActions(u32 battler) case 3: if (--gBattleStruct->wallyWaitFrames == 0) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_WALLY_THROW, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_WALLY_THROW, 0); WallyBufferExecCompleted(battler); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -187,7 +187,7 @@ static void WallyHandleActions(u32 battler) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, B_ACTION_USE_ITEM, 0); WallyBufferExecCompleted(battler); } break; @@ -209,7 +209,7 @@ static void CompleteOnChosenItem(u32 battler) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(battler, BUFFER_B, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(battler, B_COMM_TO_ENGINE, gSpecialVar_ItemId); WallyBufferExecCompleted(battler); } } @@ -279,7 +279,7 @@ static void WallyBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(battler, 2, 4, &playerId); + PrepareBufferDataTransferLink(battler, B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -378,7 +378,7 @@ static void WallyHandleChooseMove(u32 battler) if (--gBattleStruct->wallyMoveFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, 0x100); + BtlController_EmitTwoReturnValues(battler, B_COMM_TO_ENGINE, 10, 0x100); WallyBufferExecCompleted(battler); } break; diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 0dbc123da9..12d44b5bba 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -132,31 +132,31 @@ static void InitSinglePlayerBtlControllers(void) if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) { - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayerPartner; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayerPartner; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; } else { - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayerPartner; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayerPartner; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; } gBattlersCount = MAX_BATTLERS_COUNT; @@ -184,18 +184,18 @@ static void InitSinglePlayerBtlControllers(void) gBattleMainFunc = BeginBattleIntro; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - gBattlerControllerFuncs[0] = SetControllerToSafari; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToSafari; else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) - gBattlerControllerFuncs[0] = SetControllerToWally; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToWally; else if (IsAiVsAiBattle()) - gBattlerControllerFuncs[0] = SetControllerToPlayerPartner; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayerPartner; else - gBattlerControllerFuncs[0] = SetControllerToPlayer; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; @@ -207,32 +207,32 @@ static void InitSinglePlayerBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToRecordedOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; } else // see how the banks are switched { - gBattlerControllerFuncs[1] = SetControllerToRecordedPlayer; - gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[0] = SetControllerToRecordedOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; } } else { - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; } } } @@ -241,22 +241,22 @@ static void InitSinglePlayerBtlControllers(void) gBattleMainFunc = BeginBattleIntro; if (IsAiVsAiBattle()) - gBattlerControllerFuncs[0] = SetControllerToPlayerPartner; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayerPartner; else - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; if (IsAiVsAiBattle()) - gBattlerControllerFuncs[2] = SetControllerToPlayerPartner; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayerPartner; else - gBattlerControllerFuncs[2] = SetControllerToPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; @@ -266,17 +266,17 @@ static void InitSinglePlayerBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToRecordedPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; @@ -364,52 +364,52 @@ static void InitSinglePlayerBtlControllers(void) } else if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) { - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[2] = SetControllerToRecordedPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) { - gBattlerControllerFuncs[1] = SetControllerToRecordedOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[3] = SetControllerToRecordedOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; } else { - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; } } else { - gBattlerControllerFuncs[1] = SetControllerToRecordedPlayer; - gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[3] = SetControllerToRecordedPlayer; - gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_3] = B_POSITION_PLAYER_RIGHT; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) { - gBattlerControllerFuncs[0] = SetControllerToRecordedOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToRecordedOpponent; - gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT; } else { - gBattlerControllerFuncs[0] = SetControllerToOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToOpponent; - gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT; } } } @@ -427,21 +427,21 @@ static void InitLinkBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToLinkOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; } else { - gBattlerControllerFuncs[1] = SetControllerToPlayer; - gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[0] = SetControllerToLinkOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; } @@ -452,33 +452,33 @@ static void InitLinkBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToLinkOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToLinkOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; } else { - gBattlerControllerFuncs[1] = SetControllerToPlayer; - gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[0] = SetControllerToLinkOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[3] = SetControllerToPlayer; - gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_3] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[2] = SetControllerToLinkOpponent; - gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; } @@ -489,33 +489,33 @@ static void InitLinkBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToLinkPartner; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToLinkPartner; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; } else { - gBattlerControllerFuncs[0] = SetControllerToLinkPartner; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToLinkPartner; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToLinkOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToLinkOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; } @@ -694,11 +694,11 @@ static void PrepareBufferDataTransfer(u32 battler, u32 bufferId, u8 *data, u16 s { switch (bufferId) { - case BUFFER_A: + case B_COMM_TO_CONTROLLER: for (i = 0; i < size; data++, i++) gBattleResources->bufferA[battler][i] = *data; break; - case BUFFER_B: + case B_COMM_TO_ENGINE: for (i = 0; i < size; data++, i++) gBattleResources->bufferB[battler][i] = *data; break; @@ -706,20 +706,41 @@ static void PrepareBufferDataTransfer(u32 battler, u32 bufferId, u8 *data, u16 s } } +#define tInitialDelayTimer data[10] +#define tState data[11] +#define tCurrentBlock_WrapFrom data[12] +#define tBlockSendDelayTimer data[13] +#define tCurrentBlock_End data[14] +#define tCurrentBlock_Start data[15] +// +// Inbound communications are stored in one buffer; outbound communications +// in another. Both buffers work pretty similarly: the next message will be +// written into the buffer after the previous message (with 4-byte alignment), +// unless we're too close to the end of the buffer, in which case we jump back +// to the start. +// +// Regarding the task variable names above: these variables are altered in- +// place, so the precise operational definition of "current" depends on when +// the variables are being accessed. When data is present in the send and +// receive buffers, "current" refers to the most recently received message; +// but when a message is actually being placed in the buffers, "current" +// refers to the previous message, until such time that we finish updating it +// to refer to the new message. + static void CreateTasksForSendRecvLinkBuffers(void) { sLinkSendTaskId = CreateTask(Task_HandleSendLinkBuffersData, 0); - gTasks[sLinkSendTaskId].data[11] = 0; - gTasks[sLinkSendTaskId].data[12] = 0; - gTasks[sLinkSendTaskId].data[13] = 0; - gTasks[sLinkSendTaskId].data[14] = 0; - gTasks[sLinkSendTaskId].data[15] = 0; + gTasks[sLinkSendTaskId].tState = 0; + gTasks[sLinkSendTaskId].tCurrentBlock_WrapFrom = 0; + gTasks[sLinkSendTaskId].tBlockSendDelayTimer = 0; + gTasks[sLinkSendTaskId].tCurrentBlock_End = 0; + gTasks[sLinkSendTaskId].tCurrentBlock_Start = 0; sLinkReceiveTaskId = CreateTask(Task_HandleCopyReceivedLinkBuffersData, 0); - gTasks[sLinkReceiveTaskId].data[12] = 0; - gTasks[sLinkReceiveTaskId].data[13] = 0; - gTasks[sLinkReceiveTaskId].data[14] = 0; - gTasks[sLinkReceiveTaskId].data[15] = 0; + gTasks[sLinkReceiveTaskId].tCurrentBlock_WrapFrom = 0; + gTasks[sLinkReceiveTaskId].tBlockSendDelayTimer = 0; // not used by "receive" task + gTasks[sLinkReceiveTaskId].tCurrentBlock_End = 0; + gTasks[sLinkReceiveTaskId].tCurrentBlock_Start = 0; } enum @@ -735,52 +756,72 @@ enum LINK_BUFF_DATA, }; +// We want to send a message. Place it into the "send" buffer. +// First argument is a BATTLELINKCOMMTYPE_ void PrepareBufferDataTransferLink(u32 battler, u32 bufferId, u16 size, u8 *data) { s32 alignedSize; s32 i; alignedSize = size - size % 4 + 4; - if (gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE) + if (gTasks[sLinkSendTaskId].tCurrentBlock_End + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE) { - gTasks[sLinkSendTaskId].data[12] = gTasks[sLinkSendTaskId].data[14]; - gTasks[sLinkSendTaskId].data[14] = 0; + gTasks[sLinkSendTaskId].tCurrentBlock_WrapFrom = gTasks[sLinkSendTaskId].tCurrentBlock_End; + gTasks[sLinkSendTaskId].tCurrentBlock_End = 0; } - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_BUFFER_ID] = bufferId; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ACTIVE_BATTLER] = battler; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_TARGET] = gBattlerTarget; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_LO] = alignedSize; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ABSENT_BATTLER_FLAGS] = gAbsentBattlerFlags; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_EFFECT_BATTLER] = gEffectBattler; + + #define BYTE_TO_SEND(offset) \ + gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].tCurrentBlock_End + offset] + + BYTE_TO_SEND(LINK_BUFF_BUFFER_ID) = bufferId; + BYTE_TO_SEND(LINK_BUFF_ACTIVE_BATTLER) = battler; + BYTE_TO_SEND(LINK_BUFF_ATTACKER) = gBattlerAttacker; + BYTE_TO_SEND(LINK_BUFF_TARGET) = gBattlerTarget; + BYTE_TO_SEND(LINK_BUFF_SIZE_LO) = alignedSize; + BYTE_TO_SEND(LINK_BUFF_SIZE_HI) = (alignedSize & 0x0000FF00) >> 8; + BYTE_TO_SEND(LINK_BUFF_ABSENT_BATTLER_FLAGS) = gAbsentBattlerFlags; + BYTE_TO_SEND(LINK_BUFF_EFFECT_BATTLER) = gEffectBattler; for (i = 0; i < size; i++) - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_DATA + i] = data[i]; + BYTE_TO_SEND(LINK_BUFF_DATA + i) = data[i]; - gTasks[sLinkSendTaskId].data[14] = gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA; + #undef BYTE_TO_SEND + + gTasks[sLinkSendTaskId].tCurrentBlock_End = gTasks[sLinkSendTaskId].tCurrentBlock_End + alignedSize + LINK_BUFF_DATA; } +enum { + SENDTASK_STATE_INITIALIZE = 0, + SENDTASK_STATE_INITIAL_DELAY = 1, + SENDTASK_STATE_COUNT_PLAYERS = 2, + SENDTASK_STATE_BEGIN_SEND_BLOCK = 3, + SENDTASK_STATE_FINISH_SEND_BLOCK = 4, + SENDTASK_STATE_UNUSED_STATE = 5, +}; + static void Task_HandleSendLinkBuffersData(u8 taskId) { u16 numPlayers; u16 blockSize; - switch (gTasks[taskId].data[11]) + #define BYTE_TO_SEND(offset) \ + gLinkBattleSendBuffer[gTasks[taskId].tCurrentBlock_Start + offset] + + switch (gTasks[taskId].tState) { - case 0: - gTasks[taskId].data[10] = 100; - gTasks[taskId].data[11]++; + case SENDTASK_STATE_INITIALIZE: + gTasks[taskId].tInitialDelayTimer = 100; + gTasks[taskId].tState++; break; - case 1: - gTasks[taskId].data[10]--; - if (gTasks[taskId].data[10] == 0) - gTasks[taskId].data[11]++; + case SENDTASK_STATE_INITIAL_DELAY: + gTasks[taskId].tInitialDelayTimer--; + if (gTasks[taskId].tInitialDelayTimer == 0) + gTasks[taskId].tState++; break; - case 2: + case SENDTASK_STATE_COUNT_PLAYERS: if (gWirelessCommType) { - gTasks[taskId].data[11]++; + gTasks[taskId].tState++; } else { @@ -794,56 +835,66 @@ static void Task_HandleSendLinkBuffersData(u8 taskId) if (IsLinkMaster()) { CheckShouldAdvanceLinkState(); - gTasks[taskId].data[11]++; + gTasks[taskId].tState++; } else { - gTasks[taskId].data[11]++; + gTasks[taskId].tState++; } } } break; - case 3: - if (gTasks[taskId].data[15] != gTasks[taskId].data[14]) + case SENDTASK_STATE_BEGIN_SEND_BLOCK: + if (gTasks[taskId].tCurrentBlock_Start != gTasks[taskId].tCurrentBlock_End) { - if (gTasks[taskId].data[13] == 0) + if (gTasks[taskId].tBlockSendDelayTimer == 0) { - if (gTasks[taskId].data[15] > gTasks[taskId].data[14] - && gTasks[taskId].data[15] == gTasks[taskId].data[12]) + if (gTasks[taskId].tCurrentBlock_Start > gTasks[taskId].tCurrentBlock_End + && gTasks[taskId].tCurrentBlock_Start == gTasks[taskId].tCurrentBlock_WrapFrom) { - gTasks[taskId].data[12] = 0; - gTasks[taskId].data[15] = 0; + gTasks[taskId].tCurrentBlock_WrapFrom = 0; + gTasks[taskId].tCurrentBlock_Start = 0; } - blockSize = (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8)) + LINK_BUFF_DATA; - SendBlock(BitmaskAllOtherLinkPlayers(), &gLinkBattleSendBuffer[gTasks[taskId].data[15]], blockSize); - gTasks[taskId].data[11]++; + blockSize = (BYTE_TO_SEND(LINK_BUFF_SIZE_LO) | (BYTE_TO_SEND(LINK_BUFF_SIZE_HI) << 8)) + LINK_BUFF_DATA; + SendBlock(BitmaskAllOtherLinkPlayers(), &BYTE_TO_SEND(0), blockSize); + gTasks[taskId].tState++; } else { - gTasks[taskId].data[13]--; + gTasks[taskId].tBlockSendDelayTimer--; break; } } break; - case 4: + case SENDTASK_STATE_FINISH_SEND_BLOCK: if (IsLinkTaskFinished()) { - blockSize = gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8); - gTasks[taskId].data[13] = 1; - gTasks[taskId].data[15] = gTasks[taskId].data[15] + blockSize + LINK_BUFF_DATA; - gTasks[taskId].data[11] = 3; + blockSize = BYTE_TO_SEND(LINK_BUFF_SIZE_LO) | (BYTE_TO_SEND(LINK_BUFF_SIZE_HI) << 8); + gTasks[taskId].tBlockSendDelayTimer = 1; + gTasks[taskId].tCurrentBlock_Start = gTasks[taskId].tCurrentBlock_Start + blockSize + LINK_BUFF_DATA; + gTasks[taskId].tState = SENDTASK_STATE_BEGIN_SEND_BLOCK; } break; - case 5: - if (--gTasks[taskId].data[13] == 0) + case SENDTASK_STATE_UNUSED_STATE: + if (--gTasks[taskId].tBlockSendDelayTimer == 0) { - gTasks[taskId].data[13] = 1; - gTasks[taskId].data[11] = 3; + gTasks[taskId].tBlockSendDelayTimer = 1; + gTasks[taskId].tState = SENDTASK_STATE_BEGIN_SEND_BLOCK; } break; } + + #undef BYTE_TO_SEND } +// We have received a message. Place it into the "receive" buffer. +// +// Counterintuitively, we also "receive" the outbound messages that +// we send to other players. The GBA basically stores communicated +// data for all four players, so inbound and outbound data can be +// handled uniformly unless a game specifically decides to do +// otherwise. Pokemon, evidently, did not specifically decide to do +// otherwise. void TryReceiveLinkBattleData(void) { u8 i; @@ -863,19 +914,19 @@ void TryReceiveLinkBattleData(void) u8 *dest, *src; u16 dataSize = gBlockRecvBuffer[i][2]; - if (gTasks[sLinkReceiveTaskId].data[14] + 9 + dataSize > 0x1000) + if (gTasks[sLinkReceiveTaskId].tCurrentBlock_End + 9 + dataSize > 0x1000) { - gTasks[sLinkReceiveTaskId].data[12] = gTasks[sLinkReceiveTaskId].data[14]; - gTasks[sLinkReceiveTaskId].data[14] = 0; + gTasks[sLinkReceiveTaskId].tCurrentBlock_WrapFrom = gTasks[sLinkReceiveTaskId].tCurrentBlock_End; + gTasks[sLinkReceiveTaskId].tCurrentBlock_End = 0; } - dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].data[14]]; + dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].tCurrentBlock_End]; src = recvBuffer; for (j = 0; j < dataSize + 8; j++) dest[j] = src[j]; - gTasks[sLinkReceiveTaskId].data[14] = gTasks[sLinkReceiveTaskId].data[14] + dataSize + 8; + gTasks[sLinkReceiveTaskId].tCurrentBlock_End = gTasks[sLinkReceiveTaskId].tCurrentBlock_End + dataSize + 8; } } } @@ -886,49 +937,61 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) { u16 blockSize; u8 battler; - u8 var; + u8 playerId; - if (gTasks[taskId].data[15] != gTasks[taskId].data[14]) + #define BYTE_TO_RECEIVE(offset) \ + gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + offset] + + if (gTasks[taskId].tCurrentBlock_Start != gTasks[taskId].tCurrentBlock_End) { - if (gTasks[taskId].data[15] > gTasks[taskId].data[14] - && gTasks[taskId].data[15] == gTasks[taskId].data[12]) + if (gTasks[taskId].tCurrentBlock_Start > gTasks[taskId].tCurrentBlock_End + && gTasks[taskId].tCurrentBlock_Start == gTasks[taskId].tCurrentBlock_WrapFrom) { - gTasks[taskId].data[12] = 0; - gTasks[taskId].data[15] = 0; + gTasks[taskId].tCurrentBlock_WrapFrom = 0; + gTasks[taskId].tCurrentBlock_Start = 0; } - battler = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ACTIVE_BATTLER]; - blockSize = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8); + battler = BYTE_TO_RECEIVE(LINK_BUFF_ACTIVE_BATTLER); + blockSize = BYTE_TO_RECEIVE(LINK_BUFF_SIZE_LO) | (BYTE_TO_RECEIVE(LINK_BUFF_SIZE_HI) << 8); - switch (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 0]) + switch (BYTE_TO_RECEIVE(0)) { - case 0: - if (gBattleControllerExecFlags & (1u << battler)) + case B_COMM_TO_CONTROLLER: + if (IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler)) return; - memcpy(gBattleResources->bufferA[battler], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); + memcpy(gBattleResources->bufferA[battler], &BYTE_TO_RECEIVE(LINK_BUFF_DATA), blockSize); MarkBattlerReceivedLinkData(battler); if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) { - gBattlerAttacker = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ATTACKER]; - gBattlerTarget = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_TARGET]; - gAbsentBattlerFlags = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ABSENT_BATTLER_FLAGS]; - gEffectBattler = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_EFFECT_BATTLER]; + gBattlerAttacker = BYTE_TO_RECEIVE(LINK_BUFF_ATTACKER); + gBattlerTarget = BYTE_TO_RECEIVE(LINK_BUFF_TARGET); + gAbsentBattlerFlags = BYTE_TO_RECEIVE(LINK_BUFF_ABSENT_BATTLER_FLAGS); + gEffectBattler = BYTE_TO_RECEIVE(LINK_BUFF_EFFECT_BATTLER); } break; - case 1: - memcpy(gBattleResources->bufferB[battler], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); + case B_COMM_TO_ENGINE: + memcpy(gBattleResources->bufferB[battler], &gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + LINK_BUFF_DATA], blockSize); break; - case 2: - var = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA]; - gBattleControllerExecFlags &= ~(1u << (battler + var * 4)); + case B_COMM_CONTROLLER_IS_DONE: + playerId = BYTE_TO_RECEIVE(LINK_BUFF_DATA); + MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battler, playerId); break; } - gTasks[taskId].data[15] = gTasks[taskId].data[15] + blockSize + LINK_BUFF_DATA; + gTasks[taskId].tCurrentBlock_Start = gTasks[taskId].tCurrentBlock_Start + blockSize + LINK_BUFF_DATA; } + + #undef BYTE_TO_RECEIVE } +#undef tInitialDelayTimer +#undef tState +#undef tCurrentBlock_WrapFrom +#undef tBlockSendDelayTimer +#undef tCurrentBlock_End +#undef tCurrentBlock_Start + void BtlController_EmitGetMonData(u32 battler, u32 bufferId, u8 requestId, u8 monToCheck) { gBattleResources->transferBuffer[0] = CONTROLLER_GETMONDATA; @@ -2368,7 +2431,7 @@ void BtlController_HandleGetMonData(u32 battler) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(battler, BUFFER_B, size, monData); + BtlController_EmitDataTransfer(battler, B_COMM_TO_ENGINE, size, monData); BattleControllerComplete(battler); } @@ -2384,7 +2447,7 @@ void BtlController_HandleGetRawMonData(u32 battler) for (i = 0; i < gBattleResources->bufferA[battler][2]; i++) dst[i] = src[i]; - BtlController_EmitDataTransfer(battler, BUFFER_B, gBattleResources->bufferA[battler][2], dst); + BtlController_EmitDataTransfer(battler, B_COMM_TO_ENGINE, gBattleResources->bufferA[battler][2], dst); BattleControllerComplete(battler); } diff --git a/src/battle_dome.c b/src/battle_dome.c index 0cfc8e8cb9..420394d929 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -2270,24 +2270,24 @@ int GetDomeTrainerSelectedMons(u16 tournamentTrainerId) static int SelectOpponentMons_Good(u16 tournamentTrainerId, bool8 allowRandom) { - int i, moveId, playerMonId; + int i, moveIndex, playerMonId; int partyMovePoints[FRONTIER_PARTY_SIZE]; for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { partyMovePoints[i] = 0; - for (moveId = 0; moveId < MAX_MON_MOVES; moveId++) + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) { for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++) { if (DOME_TRAINERS[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) { - partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId), + partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveIndex), GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_GOOD); } else { - partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveId], + partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveIndex], GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_GOOD); } } @@ -2299,24 +2299,24 @@ static int SelectOpponentMons_Good(u16 tournamentTrainerId, bool8 allowRandom) // Identical to function above, but uses EFFECTIVENESS_MODE_BAD static int SelectOpponentMons_Bad(u16 tournamentTrainerId, bool8 allowRandom) { - int i, moveId, playerMonId; + int i, moveIndex, playerMonId; int partyMovePoints[FRONTIER_PARTY_SIZE]; for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { partyMovePoints[i] = 0; - for (moveId = 0; moveId < MAX_MON_MOVES; moveId++) + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) { for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++) { if (DOME_TRAINERS[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) { - partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId), + partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveIndex), GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_BAD); } else { - partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveId], + partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveIndex], GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_BAD); } } @@ -5097,7 +5097,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun { int i, j, k; int moveScores[MAX_MON_MOVES * FRONTIER_PARTY_SIZE]; - u16 moveIds[MAX_MON_MOVES * FRONTIER_PARTY_SIZE]; + u16 moves[MAX_MON_MOVES * FRONTIER_PARTY_SIZE]; u16 bestScore = 0; u16 bestId = 0; int movePower = 0; @@ -5111,16 +5111,16 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun // TODO: Clean this up, looks like a different data structure (2D array) moveScores[i * MAX_MON_MOVES + j] = 0; if (DOME_TRAINERS[winnerTournamentId].trainerId == TRAINER_FRONTIER_BRAIN) - moveIds[i * MAX_MON_MOVES + j] = GetFrontierBrainMonMove(i, j); + moves[i * MAX_MON_MOVES + j] = GetFrontierBrainMonMove(i, j); else - moveIds[i * MAX_MON_MOVES + j] = gFacilityTrainerMons[DOME_MONS[winnerTournamentId][i]].moves[j]; + moves[i * MAX_MON_MOVES + j] = gFacilityTrainerMons[DOME_MONS[winnerTournamentId][i]].moves[j]; - movePower = GetMovePower(moveIds[i * MAX_MON_MOVES + j]); - if (IsBattleMoveStatus(moveIds[i * MAX_MON_MOVES + j])) + movePower = GetMovePower(moves[i * MAX_MON_MOVES + j]); + if (IsBattleMoveStatus(moves[i * MAX_MON_MOVES + j])) movePower = 40; else if (movePower == 1) movePower = 60; - else if (GetMoveEffect(moveIds[i * MAX_MON_MOVES + j]) == EFFECT_EXPLOSION) + else if (GetMoveEffect(moves[i * MAX_MON_MOVES + j]) == EFFECT_EXPLOSION) movePower /= 2; for (k = 0; k < FRONTIER_PARTY_SIZE; k++) @@ -5141,7 +5141,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun else targetAbility = gSpeciesInfo[targetSpecies].abilities[0]; - typeMultiplier = CalcPartyMonTypeEffectivenessMultiplier(moveIds[i * 4 + j], targetSpecies, targetAbility); + typeMultiplier = CalcPartyMonTypeEffectivenessMultiplier(moves[i * 4 + j], targetSpecies, targetAbility); if (typeMultiplier == UQ_4_12(0)) moveScores[i * MAX_MON_MOVES + j] += 0; else if (typeMultiplier >= UQ_4_12(2)) @@ -5159,7 +5159,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun } else if (bestScore == moveScores[i * MAX_MON_MOVES + j]) { - if (moveIds[bestId] < moveIds[i * MAX_MON_MOVES + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id? + if (moves[bestId] < moves[i * MAX_MON_MOVES + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id? bestId = i * MAX_MON_MOVES + j; } } @@ -5170,7 +5170,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun { for (i = 0; i < roundId - 1; i++) { - if (gSaveBlock2Ptr->frontier.domeWinningMoves[GetOpposingNPCTournamentIdByRound(winnerTournamentId, i)] == moveIds[j]) + if (gSaveBlock2Ptr->frontier.domeWinningMoves[GetOpposingNPCTournamentIdByRound(winnerTournamentId, i)] == moves[j]) break; } if (i != roundId - 1) @@ -5190,7 +5190,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun j = k; bestScore = moveScores[k]; } - else if (bestScore == moveScores[k] && moveIds[j] < moveIds[k]) // Yes, these conditions are redundant + else if (bestScore == moveScores[k] && moves[j] < moves[k]) // Yes, these conditions are redundant { j = k; bestScore = moveScores[k]; @@ -5202,7 +5202,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun if (moveScores[j] == 0) j = bestId; - return moveIds[j]; + return moves[j]; } static void Task_ShowTourneyTree(u8 taskId) diff --git a/src/battle_end_turn.c b/src/battle_end_turn.c index 319db26012..89b50b2f45 100644 --- a/src/battle_end_turn.c +++ b/src/battle_end_turn.c @@ -442,7 +442,7 @@ static bool32 HandleEndTurnFirstEventBlock(u32 battler) { gBattlerAttacker = battler; gBattleStruct->moveDamage[battler] = GetNonDynamaxMaxHP(battler) / 8; - BtlController_EmitStatusAnimation(battler, BUFFER_A, FALSE, STATUS1_BURN); + BtlController_EmitStatusAnimation(battler, B_COMM_TO_CONTROLLER, FALSE, STATUS1_BURN); MarkBattlerForControllerExec(battler); BattleScriptExecute(BattleScript_HurtByTheSeaOfFire); effect = TRUE; @@ -1027,7 +1027,7 @@ static bool32 HandleEndTurnYawn(u32 battler) gBattleMons[battler].status1 |= ((Random() % 4) + 3); TryActivateSleepClause(battler, gBattlerPartyIndexes[battler]); - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); BattleScriptExecute(BattleScript_YawnMakesAsleep); } @@ -1349,7 +1349,7 @@ static bool32 HandleEndTurnThirdEventBlock(u32 battler) gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_NIGHTMARE; gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattlerAttacker].status1); + BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattlerAttacker].status1); MarkBattlerForControllerExec(gBattlerAttacker); break; } diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index f5bf97f983..3d8d2f48be 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -762,11 +762,11 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state) } else if (state == 4) { - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(0)]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(B_BATTLER_0)]); } else if (state == 5) { - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(1)]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(B_BATTLER_1)]); } else { @@ -794,13 +794,13 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state) else if (state == 5) LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[1]); else if (state == 6) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(0)]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(B_BATTLER_0)]); else if (state == 7) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(1)]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(B_BATTLER_1)]); else if (state == 8) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(2)]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(B_BATTLER_2)]); else if (state == 9) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(3)]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(B_BATTLER_3)]); else retVal = TRUE; } diff --git a/src/battle_interface.c b/src/battle_interface.c index bb79106a5f..80c85bb141 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -646,19 +646,19 @@ enum BattleCoordTypes GetBattlerCoordsIndex(u32 battler) return BATTLE_COORDS_SINGLES; } -u8 CreateBattlerHealthboxSprites(u8 battlerId) +u8 CreateBattlerHealthboxSprites(u8 battler) { s16 data6 = 0; u8 healthboxLeftSpriteId, healthboxRightSpriteId; u8 healthbarSpriteId; struct Sprite *healthBarSpritePtr; - switch (GetBattlerCoordsIndex(battlerId)) + switch (GetBattlerCoordsIndex(battler)) { default: case BATTLE_COORDS_SINGLES: { - if (IsOnPlayerSide(battlerId)) + if (IsOnPlayerSide(battler)) { healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[0], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[0], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); @@ -685,16 +685,16 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) } case BATTLE_COORDS_DOUBLES: { - if (IsOnPlayerSide(battlerId)) + if (IsOnPlayerSide(battler)) { - healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); - healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); + healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); + healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); data6 = 1; } else { - healthboxLeftSpriteId = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); - healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); + healthboxLeftSpriteId = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); + healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); data6 = 2; } gSprites[healthboxLeftSpriteId].oam.affineParam = healthboxRightSpriteId; @@ -706,16 +706,16 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) } } - healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battlerId]], 140, 60, 0); + healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battler]], 140, 60, 0); healthBarSpritePtr = &gSprites[healthbarSpriteId]; - SetSubspriteTables(healthBarSpritePtr, &sHealthBar_SubspriteTables[GetBattlerSide(battlerId)]); + SetSubspriteTables(healthBarSpritePtr, &sHealthBar_SubspriteTables[GetBattlerSide(battler)]); healthBarSpritePtr->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; healthBarSpritePtr->oam.priority = 1; 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; + gSprites[healthboxLeftSpriteId].hMain_Battler = battler; gSprites[healthboxLeftSpriteId].invisible = TRUE; gSprites[healthboxRightSpriteId].invisible = TRUE; @@ -724,7 +724,7 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) healthBarSpritePtr->hBar_Data6 = data6; healthBarSpritePtr->invisible = TRUE; - CreateIndicatorSprite(battlerId); + CreateIndicatorSprite(battler); gBattleStruct->ballSpriteIds[0] = MAX_SPRITES; gBattleStruct->ballSpriteIds[1] = MAX_SPRITES; @@ -795,13 +795,13 @@ static void SpriteCB_HealthBoxOther(struct Sprite *sprite) sprite->y2 = gSprites[healthboxMainSpriteId].y2; } -void SetBattleBarStruct(u8 battlerId, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue) +void SetBattleBarStruct(u8 battler, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue) { - gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId = healthboxSpriteId; - gBattleSpritesDataPtr->battleBars[battlerId].maxValue = maxVal; - gBattleSpritesDataPtr->battleBars[battlerId].oldValue = oldVal; - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue = receivedValue; - gBattleSpritesDataPtr->battleBars[battlerId].currValue = -32768; + gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId = healthboxSpriteId; + gBattleSpritesDataPtr->battleBars[battler].maxValue = maxVal; + gBattleSpritesDataPtr->battleBars[battler].oldValue = oldVal; + gBattleSpritesDataPtr->battleBars[battler].receivedValue = receivedValue; + gBattleSpritesDataPtr->battleBars[battler].currValue = -32768; } void SetHealthboxSpriteInvisible(u8 healthboxSpriteId) @@ -986,9 +986,9 @@ static void UpdateOpponentHpTextDoubles(u32 healthboxSpriteId, u32 barSpriteId, { u8 text[32], *txtPtr; u32 i, var; - u32 battlerId = gSprites[healthboxSpriteId].hMain_Battler; + u32 battler = gSprites[healthboxSpriteId].hMain_Battler; - if (gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) // don't print text if only bars are visible + if (gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars) // don't print text if only bars are visible { memcpy(text, sEmptyWhiteText_TransparentHighlight, sizeof(sEmptyWhiteText_TransparentHighlight)); if (maxOrCurrent == HP_CURRENT) @@ -1247,7 +1247,7 @@ void SwapHpBarsWithHpText(void) #define tIsBattleStart data[10] #define tBlend data[15] -u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, bool8 skipPlayer, bool8 isBattleStart) +u8 CreatePartyStatusSummarySprites(u8 battler, struct HpAndStatus *partyInfo, bool8 skipPlayer, bool8 isBattleStart) { bool8 isOpponent; s16 bar_X, bar_Y, bar_pos2_X, bar_data0; @@ -1256,9 +1256,9 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, u8 ballIconSpritesIds[PARTY_SIZE]; u8 taskId; - if (!skipPlayer || GetBattlerPosition(battlerId) != B_POSITION_OPPONENT_RIGHT) + if (!skipPlayer || GetBattlerPosition(battler) != B_POSITION_OPPONENT_RIGHT) { - if (IsOnPlayerSide(battlerId)) + if (IsOnPlayerSide(battler)) { isOpponent = FALSE; bar_X = 136, bar_Y = 96; @@ -1269,7 +1269,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, { isOpponent = TRUE; - if (!skipPlayer || GetBattlerCoordsIndex(battlerId) == BATTLE_COORDS_SINGLES) + if (!skipPlayer || GetBattlerCoordsIndex(battler) == BATTLE_COORDS_SINGLES) bar_X = 104, bar_Y = 40; else bar_X = 104, bar_Y = 16; @@ -1337,7 +1337,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, gSprites[ballIconSpritesIds[i]].data[2] = isOpponent; } - if (IsOnPlayerSide(battlerId)) + if (IsOnPlayerSide(battler)) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -1450,7 +1450,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, } taskId = CreateTask(TaskDummy, 5); - gTasks[taskId].tBattler = battlerId; + gTasks[taskId].tBattler = battler; gTasks[taskId].tSummaryBarSpriteId = summaryBarSpriteId; for (i = 0; i < PARTY_SIZE; i++) @@ -1473,12 +1473,12 @@ void Task_HidePartyStatusSummary(u8 taskId) u8 ballIconSpriteIds[PARTY_SIZE]; bool8 isBattleStart; u8 summaryBarSpriteId; - u8 battlerId; + u8 battler; s32 i; isBattleStart = gTasks[taskId].tIsBattleStart; summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId; - battlerId = gTasks[taskId].tBattler; + battler = gTasks[taskId].tBattler; for (i = 0; i < PARTY_SIZE; i++) ballIconSpriteIds[i] = gTasks[taskId].tBallIconSpriteId(i); @@ -1497,7 +1497,7 @@ void Task_HidePartyStatusSummary(u8 taskId) { for (i = 0; i < PARTY_SIZE; i++) { - if (!IsOnPlayerSide(battlerId)) + if (!IsOnPlayerSide(battler)) { gSprites[ballIconSpriteIds[PARTY_SIZE - 1 - i]].data[1] = 7 * i; gSprites[ballIconSpriteIds[PARTY_SIZE - 1 - i]].data[3] = 0; @@ -1542,7 +1542,7 @@ static void Task_HidePartyStatusSummary_BattleStart_2(u8 taskId) u8 ballIconSpriteIds[PARTY_SIZE]; s32 i; - u8 battlerId = gTasks[taskId].tBattler; + u8 battler = gTasks[taskId].tBattler; if (--gTasks[taskId].tBlend == -1) { u8 summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId; @@ -1569,7 +1569,7 @@ static void Task_HidePartyStatusSummary_BattleStart_2(u8 taskId) } else if (gTasks[taskId].tBlend == -3) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].partyStatusSummaryShown = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown = 0; SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); DestroyTask(taskId); @@ -1580,7 +1580,7 @@ static void Task_HidePartyStatusSummary_DuringBattle(u8 taskId) { u8 ballIconSpriteIds[PARTY_SIZE]; s32 i; - u8 battlerId = gTasks[taskId].tBattler; + u8 battler = gTasks[taskId].tBattler; if (--gTasks[taskId].tBlend >= 0) { @@ -1601,7 +1601,7 @@ static void Task_HidePartyStatusSummary_DuringBattle(u8 taskId) } else if (gTasks[taskId].tBlend == -3) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].partyStatusSummaryShown = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown = 0; SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); DestroyTask(taskId); @@ -1773,17 +1773,17 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon) static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus) { - u8 battlerId, healthBarSpriteId; + u8 battler, healthBarSpriteId; if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) return; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) return; - battlerId = gSprites[healthboxSpriteId].hMain_Battler; - if (IsOnPlayerSide(battlerId)) + battler = gSprites[healthboxSpriteId].hMain_Battler; + if (IsOnPlayerSide(battler)) return; - if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(GetMonData(GetBattlerMon(battlerId), MON_DATA_SPECIES)), FLAG_GET_CAUGHT)) + if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(GetMonData(GetBattlerMon(battler), MON_DATA_SPECIES)), FLAG_GET_CAUGHT)) return; healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId; @@ -1797,18 +1797,18 @@ static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus) static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) { s32 i; - u8 battlerId, healthBarSpriteId; + u8 battler, healthBarSpriteId; u32 status, pltAdder; const u8 *statusGfxPtr; s16 tileNumAdder; u8 statusPalId; - battlerId = gSprites[healthboxSpriteId].hMain_Battler; + battler = gSprites[healthboxSpriteId].hMain_Battler; healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId; - if (IsOnPlayerSide(battlerId)) + if (IsOnPlayerSide(battler)) { - status = GetMonData(GetBattlerMon(battlerId), MON_DATA_STATUS); - switch (GetBattlerCoordsIndex(battlerId)) + status = GetMonData(GetBattlerMon(battler), MON_DATA_STATUS); + switch (GetBattlerCoordsIndex(battler)) { case BATTLE_COORDS_SINGLES: tileNumAdder = 0x1A; @@ -1820,38 +1820,38 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) } else { - status = GetMonData(GetBattlerMon(battlerId), MON_DATA_STATUS); + status = GetMonData(GetBattlerMon(battler), MON_DATA_STATUS); tileNumAdder = 0x11; } if (status & STATUS1_SLEEP) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_SLP_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_SLP_BATTLER0, battler)); statusPalId = PAL_STATUS_SLP; } else if (status & STATUS1_PSN_ANY) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PSN_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PSN_BATTLER0, battler)); statusPalId = PAL_STATUS_PSN; } else if (status & STATUS1_BURN) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_BRN_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_BRN_BATTLER0, battler)); statusPalId = PAL_STATUS_BRN; } else if (status & STATUS1_FREEZE) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_FRZ_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_FRZ_BATTLER0, battler)); statusPalId = PAL_STATUS_FRZ; } else if (status & STATUS1_FROSTBITE) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_FRB_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_FRB_BATTLER0, battler)); statusPalId = PAL_STATUS_FRZ; } else if (status & STATUS1_PARALYSIS) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PRZ_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PRZ_BATTLER0, battler)); statusPalId = PAL_STATUS_PAR; } else @@ -1861,7 +1861,7 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) for (i = 0; i < 3; i++) CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder + i) * TILE_SIZE_4BPP), 32); - if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) + if (!gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars) CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 64); TryAddPokeballIconToHealthbox(healthboxSpriteId, TRUE); @@ -1869,14 +1869,14 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) } pltAdder = PLTT_ID(gSprites[healthboxSpriteId].oam.paletteNum); - pltAdder += battlerId + 12; + pltAdder += battler + 12; FillPalette(sStatusIconColors[statusPalId], OBJ_PLTT_OFFSET + pltAdder, PLTT_SIZEOF(1)); CpuCopy16(&gPlttBufferUnfaded[OBJ_PLTT_OFFSET + pltAdder], (u16 *)OBJ_PLTT + pltAdder, PLTT_SIZEOF(1)); CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * TILE_SIZE_4BPP), 96); - if (GetBattlerCoordsIndex(battlerId) == BATTLE_COORDS_DOUBLES || !IsOnPlayerSide(battlerId)) + if (GetBattlerCoordsIndex(battler) == BATTLE_COORDS_DOUBLES || !IsOnPlayerSide(battler)) { - if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) + if (!gBattleSpritesDataPtr->battlerData[battler].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); @@ -1885,68 +1885,68 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) TryAddPokeballIconToHealthbox(healthboxSpriteId, FALSE); } -static u8 GetStatusIconForBattlerId(u8 statusElementId, u8 battlerId) +static u8 GetStatusIconForBattlerId(u8 statusElementId, u8 battler) { u8 ret = statusElementId; switch (statusElementId) { case HEALTHBOX_GFX_STATUS_PSN_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER3; break; case HEALTHBOX_GFX_STATUS_PRZ_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER3; break; case HEALTHBOX_GFX_STATUS_SLP_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER3; break; case HEALTHBOX_GFX_STATUS_FRZ_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER3; break; case HEALTHBOX_GFX_STATUS_FRB_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_FRB_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_FRB_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_FRB_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_FRB_BATTLER3; break; case HEALTHBOX_GFX_STATUS_BRN_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER3; @@ -1986,13 +1986,13 @@ static void UpdateLeftNoOfBallsTextOnHealthbox(u8 healthboxSpriteId) void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId) { - u32 battlerId = gSprites[healthboxSpriteId].hMain_Battler; + u32 battler = gSprites[healthboxSpriteId].hMain_Battler; s32 maxHp = GetMonData(mon, MON_DATA_MAX_HP); s32 currHp = GetMonData(mon, MON_DATA_HP); - if (IsOnPlayerSide(battlerId)) + if (IsOnPlayerSide(battler)) { - u8 isDoubles = GetBattlerCoordsIndex(battlerId) == BATTLE_COORDS_DOUBLES; + u8 isDoubles = GetBattlerCoordsIndex(battler) == BATTLE_COORDS_DOUBLES; if (elementId == HEALTHBOX_LEVEL || elementId == HEALTHBOX_ALL) UpdateLvlInHealthbox(healthboxSpriteId, GetMonData(mon, MON_DATA_LEVEL)); @@ -2007,8 +2007,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem if (elementId == HEALTHBOX_HEALTH_BAR || elementId == HEALTHBOX_ALL) { LoadBattleBarGfx(0); - SetBattleBarStruct(battlerId, healthboxSpriteId, maxHp, currHp, 0); - MoveBattleBar(battlerId, healthboxSpriteId, HEALTH_BAR, 0); + SetBattleBarStruct(battler, healthboxSpriteId, maxHp, currHp, 0); + MoveBattleBar(battler, healthboxSpriteId, HEALTH_BAR, 0); } if (!isDoubles && (elementId == HEALTHBOX_EXP_BAR || elementId == HEALTHBOX_ALL)) @@ -2025,8 +2025,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem currLevelExp = gExperienceTables[gSpeciesInfo[species].growthRate][level]; currExpBarValue = exp - currLevelExp; maxExpBarValue = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLevelExp; - SetBattleBarStruct(battlerId, healthboxSpriteId, maxExpBarValue, currExpBarValue, isDoubles); - MoveBattleBar(battlerId, healthboxSpriteId, EXP_BAR, 0); + SetBattleBarStruct(battler, healthboxSpriteId, maxExpBarValue, currExpBarValue, isDoubles); + MoveBattleBar(battler, healthboxSpriteId, EXP_BAR, 0); } if (elementId == HEALTHBOX_NICK || elementId == HEALTHBOX_ALL) UpdateNickInHealthbox(healthboxSpriteId, mon); @@ -2041,7 +2041,7 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem { if (elementId == HEALTHBOX_LEVEL || elementId == HEALTHBOX_ALL) UpdateLvlInHealthbox(healthboxSpriteId, GetMonData(mon, MON_DATA_LEVEL)); - if (gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) + if (gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars) { if (elementId == HEALTHBOX_ALL) UpdateHpTextInHealthbox(healthboxSpriteId, HP_BOTH, currHp, maxHp); @@ -2053,8 +2053,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem if (elementId == HEALTHBOX_HEALTH_BAR || elementId == HEALTHBOX_ALL) { LoadBattleBarGfx(0); - SetBattleBarStruct(battlerId, healthboxSpriteId, maxHp, currHp, 0); - MoveBattleBar(battlerId, healthboxSpriteId, HEALTH_BAR, 0); + SetBattleBarStruct(battler, healthboxSpriteId, maxHp, currHp, 0); + MoveBattleBar(battler, healthboxSpriteId, HEALTH_BAR, 0); } if (elementId == HEALTHBOX_NICK || elementId == HEALTHBOX_ALL) UpdateNickInHealthbox(healthboxSpriteId, mon); @@ -2066,45 +2066,45 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem #define B_EXPBAR_PIXELS 64 #define B_HEALTHBAR_PIXELS 48 -s32 MoveBattleBar(u8 battlerId, u8 healthboxSpriteId, u8 whichBar, u8 unused) +s32 MoveBattleBar(u8 battler, u8 healthboxSpriteId, u8 whichBar, u8 unused) { s32 currentBarValue; if (whichBar == HEALTH_BAR) // health bar { - u16 hpFraction = B_FAST_HP_DRAIN == FALSE ? 1 : max(gBattleSpritesDataPtr->battleBars[battlerId].maxValue / (B_HEALTHBAR_PIXELS / 2), 1); - currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + u16 hpFraction = B_FAST_HP_DRAIN == FALSE ? 1 : max(gBattleSpritesDataPtr->battleBars[battler].maxValue / (B_HEALTHBAR_PIXELS / 2), 1); + currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battler].maxValue, + gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + &gBattleSpritesDataPtr->battleBars[battler].currValue, B_HEALTHBAR_PIXELS / 8, hpFraction); } else // exp bar { - u16 expFraction = GetScaledExpFraction(gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - gBattleSpritesDataPtr->battleBars[battlerId].maxValue, 8); + u16 expFraction = GetScaledExpFraction(gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + gBattleSpritesDataPtr->battleBars[battler].maxValue, 8); if (expFraction == 0) expFraction = 1; - expFraction = abs(gBattleSpritesDataPtr->battleBars[battlerId].receivedValue / expFraction); + expFraction = abs(gBattleSpritesDataPtr->battleBars[battler].receivedValue / expFraction); - currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battler].maxValue, + gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + &gBattleSpritesDataPtr->battleBars[battler].currValue, B_EXPBAR_PIXELS / 8, expFraction); } - if (whichBar == EXP_BAR || (whichBar == HEALTH_BAR && !gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars)) - MoveBattleBarGraphically(battlerId, whichBar); + if (whichBar == EXP_BAR || (whichBar == HEALTH_BAR && !gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars)) + MoveBattleBarGraphically(battler, whichBar); if (currentBarValue == -1) - gBattleSpritesDataPtr->battleBars[battlerId].currValue = 0; + gBattleSpritesDataPtr->battleBars[battler].currValue = 0; return currentBarValue; } -static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) +static void MoveBattleBarGraphically(u8 battler, u8 whichBar) { u8 array[8]; u8 filledPixelsCount, level; @@ -2114,10 +2114,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) switch (whichBar) { case HEALTH_BAR: - filledPixelsCount = CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + filledPixelsCount = CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battler].maxValue, + gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + &gBattleSpritesDataPtr->battleBars[battler].currValue, array, B_HEALTHBAR_PIXELS / 8); if (filledPixelsCount > (B_HEALTHBAR_PIXELS * 50 / 100)) // more than 50 % hp @@ -2129,7 +2129,7 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) for (i = 0; i < 6; i++) { - u8 healthbarSpriteId = gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].hMain_HealthBarSpriteId; + u8 healthbarSpriteId = gSprites[gBattleSpritesDataPtr->battleBars[battler].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); @@ -2139,12 +2139,12 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) } break; case EXP_BAR: - CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battler].maxValue, + gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + &gBattleSpritesDataPtr->battleBars[battler].currValue, array, B_EXPBAR_PIXELS / 8); - level = GetMonData(GetBattlerMon(battlerId), MON_DATA_LEVEL); + level = GetMonData(GetBattlerMon(battler), MON_DATA_LEVEL); if (level >= MAX_LEVEL) { for (i = 0; i < 8; i++) @@ -2154,10 +2154,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[battler].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[battler].healthboxSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32); } break; } @@ -2540,19 +2540,19 @@ static void ClearAbilityName(u8 spriteId1, u8 spriteId2) 7, 9, 1); } -static void PrintBattlerOnAbilityPopUp(u8 battlerId, u8 spriteId1, u8 spriteId2) +static void PrintBattlerOnAbilityPopUp(u8 battler, u8 spriteId1, u8 spriteId2) { int i; u8 lastChar; u8* textPtr; u8 monName[POKEMON_NAME_LENGTH + 3] = {0}; - struct Pokemon *illusionMon = GetIllusionMonPtr(battlerId); + struct Pokemon *illusionMon = GetIllusionMonPtr(battler); u8 nick[POKEMON_NAME_LENGTH + 1] = {0}; if (illusionMon != NULL) GetMonData(illusionMon, MON_DATA_NICKNAME, nick); else - GetMonData(GetBattlerMon(battlerId), MON_DATA_NICKNAME, nick); + GetMonData(GetBattlerMon(battler), MON_DATA_NICKNAME, nick); for (i = 0; i < POKEMON_NAME_LENGTH; ++i) { @@ -2720,7 +2720,7 @@ static inline bool32 IsAnyAbilityPopUpActive(void) return FALSE; } -void CreateAbilityPopUp(u8 battlerId, u32 ability, bool32 isDoubleBattle) +void CreateAbilityPopUp(u8 battler, u32 ability, bool32 isDoubleBattle) { const s16 (*coords)[2]; u8 spriteId1, spriteId2, battlerPosition, taskId; @@ -2733,7 +2733,7 @@ void CreateAbilityPopUp(u8 battlerId, u32 ability, bool32 isDoubleBattle) if (gTestRunnerEnabled) { - TestRunner_Battle_RecordAbilityPopUp(battlerId, ability); + TestRunner_Battle_RecordAbilityPopUp(battler, ability); if (gTestRunnerHeadless) return; } @@ -2744,8 +2744,8 @@ void CreateAbilityPopUp(u8 battlerId, u32 ability, bool32 isDoubleBattle) LoadSpritePalette(&sSpritePalette_AbilityPopUp); } - gBattleStruct->battlerState[battlerId].activeAbilityPopUps = TRUE; - battlerPosition = GetBattlerPosition(battlerId); + gBattleStruct->battlerState[battler].activeAbilityPopUps = TRUE; + battlerPosition = GetBattlerPosition(battler); if (isDoubleBattle) coords = sAbilityPopUpCoordsDoubles; @@ -2781,30 +2781,30 @@ void CreateAbilityPopUp(u8 battlerId, u32 ability, bool32 isDoubleBattle) gSprites[spriteId2].tOriginalX = coords[battlerPosition][0] + ABILITY_POP_UP_POS_X_DIFF; gSprites[spriteId2].oam.tileNum += (8 * 4); //Second half of pop up - gBattleStruct->abilityPopUpSpriteIds[battlerId][0] = spriteId1; - gBattleStruct->abilityPopUpSpriteIds[battlerId][1] = spriteId2; + gBattleStruct->abilityPopUpSpriteIds[battler][0] = spriteId1; + gBattleStruct->abilityPopUpSpriteIds[battler][1] = spriteId2; taskId = CreateTask(Task_FreeAbilityPopUpGfx, 5); gTasks[taskId].tSpriteId1 = spriteId1; gTasks[taskId].tSpriteId2 = spriteId2; gSprites[spriteId1].tIsMain = TRUE; - gSprites[spriteId1].tBattlerId = battlerId; - gSprites[spriteId2].tBattlerId = battlerId; + gSprites[spriteId1].tBattlerId = battler; + gSprites[spriteId2].tBattlerId = battler; StartSpriteAnim(&gSprites[spriteId1], 0); StartSpriteAnim(&gSprites[spriteId2], 0); - PrintBattlerOnAbilityPopUp(battlerId, spriteId1, spriteId2); + PrintBattlerOnAbilityPopUp(battler, spriteId1, spriteId2); PrintAbilityOnAbilityPopUp(ability, spriteId1, spriteId2); RestoreOverwrittenPixels((void*)(OBJ_VRAM0) + (gSprites[spriteId1].oam.tileNum * 32)); } -void UpdateAbilityPopup(u8 battlerId) +void UpdateAbilityPopup(u8 battler) { - u8 spriteId1 = gBattleStruct->abilityPopUpSpriteIds[battlerId][0]; - u8 spriteId2 = gBattleStruct->abilityPopUpSpriteIds[battlerId][1]; - u16 ability = (gBattleScripting.abilityPopupOverwrite != 0) ? gBattleScripting.abilityPopupOverwrite : gBattleMons[battlerId].ability; + u8 spriteId1 = gBattleStruct->abilityPopUpSpriteIds[battler][0]; + u8 spriteId2 = gBattleStruct->abilityPopUpSpriteIds[battler][1]; + u16 ability = (gBattleScripting.abilityPopupOverwrite != 0) ? gBattleScripting.abilityPopupOverwrite : gBattleMons[battler].ability; PrintAbilityOnAbilityPopUp(ability, spriteId1, spriteId2); RestoreOverwrittenPixels((void*)(OBJ_VRAM0) + (gSprites[spriteId1].oam.tileNum * 32)); @@ -2847,12 +2847,12 @@ static void SpriteCb_AbilityPopUp(struct Sprite *sprite) } } -void DestroyAbilityPopUp(u8 battlerId) +void DestroyAbilityPopUp(u8 battler) { - if (gBattleStruct->battlerState[battlerId].activeAbilityPopUps) + if (gBattleStruct->battlerState[battler].activeAbilityPopUps) { - gSprites[gBattleStruct->abilityPopUpSpriteIds[battlerId][0]].tFrames = 0; - gSprites[gBattleStruct->abilityPopUpSpriteIds[battlerId][1]].tFrames = 0; + gSprites[gBattleStruct->abilityPopUpSpriteIds[battler][0]].tFrames = 0; + gSprites[gBattleStruct->abilityPopUpSpriteIds[battler][1]].tFrames = 0; } gBattleScripting.fixedPopup = FALSE; } diff --git a/src/battle_main.c b/src/battle_main.c index 14d963f2c9..041875b995 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3334,7 +3334,7 @@ const u8* FaintClearSetData(u32 battler) u32 partner = BATTLE_PARTNER(battler); if (IsBattlerAlive(partner)) { - BtlController_EmitSpriteInvisibility(partner, BUFFER_A, FALSE); + BtlController_EmitSpriteInvisibility(partner, B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(partner); } } @@ -3412,7 +3412,7 @@ static void DoBattleIntro(void) { case BATTLE_INTRO_STATE_GET_MON_DATA: battler = gBattleCommunication[1]; - BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(battler); gBattleStruct->introState++; break; @@ -3429,7 +3429,7 @@ static void DoBattleIntro(void) if (!gBattleControllerExecFlags) { battler = GetBattlerAtPosition(0); - BtlController_EmitIntroSlide(battler, BUFFER_A, gBattleEnvironment); + BtlController_EmitIntroSlide(battler, B_COMM_TO_CONTROLLER, gBattleEnvironment); MarkBattlerForControllerExec(battler); gBattleCommunication[0] = 0; gBattleCommunication[1] = 0; @@ -3473,18 +3473,18 @@ static void DoBattleIntro(void) switch (GetBattlerPosition(battler)) { case B_POSITION_PLAYER_LEFT: // player sprite - BtlController_EmitDrawTrainerPic(battler, BUFFER_A); + BtlController_EmitDrawTrainerPic(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); break; case B_POSITION_OPPONENT_LEFT: if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) // opponent 1 sprite { - BtlController_EmitDrawTrainerPic(battler, BUFFER_A); + BtlController_EmitDrawTrainerPic(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); } else // wild mon 1 { - BtlController_EmitLoadMonSprite(battler, BUFFER_A); + BtlController_EmitLoadMonSprite(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); gBattleResults.lastOpponentSpecies = GetMonData(GetBattlerMon(battler), MON_DATA_SPECIES, NULL); } @@ -3492,7 +3492,7 @@ static void DoBattleIntro(void) case B_POSITION_PLAYER_RIGHT: if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_INGAME_PARTNER)) // partner sprite { - BtlController_EmitDrawTrainerPic(battler, BUFFER_A); + BtlController_EmitDrawTrainerPic(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); } break; @@ -3501,13 +3501,13 @@ static void DoBattleIntro(void) { if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS) && !BATTLE_TWO_VS_ONE_OPPONENT) // opponent 2 if exists { - BtlController_EmitDrawTrainerPic(battler, BUFFER_A); + BtlController_EmitDrawTrainerPic(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); } } else if (IsBattlerAlive(battler)) // wild mon 2 if alive { - BtlController_EmitLoadMonSprite(battler, BUFFER_A); + BtlController_EmitLoadMonSprite(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); gBattleResults.lastOpponentSpecies = GetMonData(GetBattlerMon(battler), MON_DATA_SPECIES, NULL); } @@ -3544,7 +3544,7 @@ static void DoBattleIntro(void) } battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - BtlController_EmitDrawPartyStatusSummary(battler, BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); + BtlController_EmitDrawPartyStatusSummary(battler, B_COMM_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); MarkBattlerForControllerExec(battler); for (i = 0; i < PARTY_SIZE; i++) @@ -3563,7 +3563,7 @@ static void DoBattleIntro(void) } battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitDrawPartyStatusSummary(battler, BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); + BtlController_EmitDrawPartyStatusSummary(battler, B_COMM_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); MarkBattlerForControllerExec(battler); gBattleStruct->introState++; @@ -3613,7 +3613,7 @@ static void DoBattleIntro(void) else battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - BtlController_EmitIntroTrainerBallThrow(battler, BUFFER_A); + BtlController_EmitIntroTrainerBallThrow(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); gBattleStruct->introState++; break; @@ -3625,7 +3625,7 @@ static void DoBattleIntro(void) else battler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); - BtlController_EmitIntroTrainerBallThrow(battler, BUFFER_A); + BtlController_EmitIntroTrainerBallThrow(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); } if (B_FAST_INTRO_PKMN_TEXT == TRUE @@ -3681,7 +3681,7 @@ static void DoBattleIntro(void) else battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitIntroTrainerBallThrow(battler, BUFFER_A); + BtlController_EmitIntroTrainerBallThrow(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); gBattleStruct->introState++; break; @@ -3693,7 +3693,7 @@ static void DoBattleIntro(void) else battler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); - BtlController_EmitIntroTrainerBallThrow(battler, BUFFER_A); + BtlController_EmitIntroTrainerBallThrow(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); } gBattleStruct->introState++; @@ -4195,7 +4195,7 @@ static void HandleTurnActionSelectionState(void) else { gBattleStruct->itemPartyIndex[battler] = PARTY_SIZE; - BtlController_EmitChooseAction(battler, BUFFER_A, gChosenActionByBattler[0], gBattleResources->bufferB[0][1] | (gBattleResources->bufferB[0][2] << 8)); + BtlController_EmitChooseAction(battler, B_COMM_TO_CONTROLLER, gChosenActionByBattler[0], gBattleResources->bufferB[0][1] | (gBattleResources->bufferB[0][2] << 8)); MarkBattlerForControllerExec(battler); gBattleCommunication[battler]++; } @@ -4246,7 +4246,7 @@ static void HandleTurnActionSelectionState(void) i); } - BtlController_EmitChooseMove(battler, BUFFER_A, IsDoubleBattle() != 0, FALSE, &moveInfo); + BtlController_EmitChooseMove(battler, B_COMM_TO_CONTROLLER, IsDoubleBattle() != 0, FALSE, &moveInfo); MarkBattlerForControllerExec(battler); } break; @@ -4278,7 +4278,7 @@ static void HandleTurnActionSelectionState(void) } else { - BtlController_EmitChooseItem(battler, BUFFER_A, gBattleStruct->battlerPartyOrders[battler]); + BtlController_EmitChooseItem(battler, B_COMM_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[battler]); MarkBattlerForControllerExec(battler); } break; @@ -4287,21 +4287,21 @@ static void HandleTurnActionSelectionState(void) if (gBattleTypeFlags & BATTLE_TYPE_ARENA || !CanBattlerEscape(battler)) { - BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); + BtlController_EmitChoosePokemon(battler, B_COMM_TO_CONTROLLER, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); } else if (ItemId_GetHoldEffect(gBattleMons[battler].item) != HOLD_EFFECT_SHED_SHELL && (i = IsAbilityPreventingEscape(battler))) // must be last to keep i value integrity { - BtlController_EmitChoosePokemon(battler, BUFFER_A, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gBattleMons[i - 1].ability, gBattleStruct->battlerPartyOrders[battler]); + BtlController_EmitChoosePokemon(battler, B_COMM_TO_CONTROLLER, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gBattleMons[i - 1].ability, gBattleStruct->battlerPartyOrders[battler]); } else { if (battler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, gBattleStruct->monToSwitchIntoId[0], ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); + BtlController_EmitChoosePokemon(battler, B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, gBattleStruct->monToSwitchIntoId[0], ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); else if (battler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, gBattleStruct->monToSwitchIntoId[1], ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); + BtlController_EmitChoosePokemon(battler, B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, gBattleStruct->monToSwitchIntoId[1], ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); else - BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); + BtlController_EmitChoosePokemon(battler, B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); } MarkBattlerForControllerExec(battler); break; @@ -4316,7 +4316,7 @@ static void HandleTurnActionSelectionState(void) } break; case B_ACTION_SAFARI_POKEBLOCK: - BtlController_EmitChooseItem(battler, BUFFER_A, gBattleStruct->battlerPartyOrders[battler]); + BtlController_EmitChooseItem(battler, B_COMM_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[battler]); MarkBattlerForControllerExec(battler); break; case B_ACTION_CANCEL_PARTNER: @@ -4326,7 +4326,7 @@ static void HandleTurnActionSelectionState(void) if (gBattleMons[GetPartnerBattler(battler)].status2 & STATUS2_MULTIPLETURNS || gBattleMons[GetPartnerBattler(battler)].status2 & STATUS2_RECHARGE) { - BtlController_EmitEndBounceEffect(battler, BUFFER_A); + BtlController_EmitEndBounceEffect(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); return; } @@ -4356,11 +4356,11 @@ static void HandleTurnActionSelectionState(void) } gBattleStruct->gimmick.toActivate &= ~((1u << BATTLE_PARTNER(GetBattlerPosition(battler)))); - BtlController_EmitEndBounceEffect(battler, BUFFER_A); + BtlController_EmitEndBounceEffect(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); return; case B_ACTION_DEBUG: - BtlController_EmitDebugMenu(battler, BUFFER_A); + BtlController_EmitDebugMenu(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); break; } @@ -4552,11 +4552,11 @@ static void HandleTurnActionSelectionState(void) || (position & BIT_FLANK) != B_FLANK_LEFT || gBattleStruct->battlerState[GetBattlerAtPosition(BATTLE_PARTNER(position))].absent) { - BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_STOP_BOUNCE, i); + BtlController_EmitLinkStandbyMsg(battler, B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_STOP_BOUNCE, i); } else { - BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_STOP_BOUNCE_ONLY, i); + BtlController_EmitLinkStandbyMsg(battler, B_COMM_TO_CONTROLLER, LINK_STANDBY_STOP_BOUNCE_ONLY, i); } MarkBattlerForControllerExec(battler); gBattleCommunication[battler]++; diff --git a/src/battle_records.c b/src/battle_records.c index bec0f48370..c829702c75 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -202,7 +202,7 @@ static void UpdateLinkBattleGameStats(s32 battleOutcome) IncrementGameStat(stat); } -static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 *name, u16 trainerId, s32 battleOutcome, u8 battlerId) +static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 *name, u16 trainerId, s32 battleOutcome, u8 battler) { s32 index; @@ -215,7 +215,7 @@ static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 ClearLinkBattleRecord(&records->entries[index]); StringCopyN(records->entries[index].name, name, PLAYER_NAME_LENGTH); records->entries[index].trainerId = trainerId; - records->languages[index] = gLinkPlayers[battlerId].language; + records->languages[index] = gLinkPlayers[battler].language; } UpdateLinkBattleRecord(&records->entries[index], battleOutcome); SortLinkBattleRecords(records); @@ -230,50 +230,50 @@ void ClearPlayerLinkBattleRecords(void) } #if FREE_LINK_BATTLE_RECORDS == FALSE -static void IncTrainerCardWins(s32 battlerId) +static void IncTrainerCardWins(s32 battler) { - u16 *wins = &gTrainerCards[battlerId].linkBattleWins; + u16 *wins = &gTrainerCards[battler].linkBattleWins; (*wins)++; if (*wins > 9999) *wins = 9999; } -static void IncTrainerCardLosses(s32 battlerId) +static void IncTrainerCardLosses(s32 battler) { - u16 *losses = &gTrainerCards[battlerId].linkBattleLosses; + u16 *losses = &gTrainerCards[battler].linkBattleLosses; (*losses)++; if (*losses > 9999) *losses = 9999; } -static void UpdateTrainerCardWinsLosses(s32 battlerId) +static void UpdateTrainerCardWinsLosses(s32 battler) { switch (gBattleOutcome) { case B_OUTCOME_WON: - IncTrainerCardWins(BATTLE_OPPOSITE(battlerId)); - IncTrainerCardLosses(battlerId); + IncTrainerCardWins(BATTLE_OPPOSITE(battler)); + IncTrainerCardLosses(battler); break; case B_OUTCOME_LOST: - IncTrainerCardLosses(BATTLE_OPPOSITE(battlerId)); - IncTrainerCardWins(battlerId); + IncTrainerCardLosses(BATTLE_OPPOSITE(battler)); + IncTrainerCardWins(battler); break; } } #endif //FREE_LINK_BATTLE_RECORDS -void UpdatePlayerLinkBattleRecords(s32 battlerId) +void UpdatePlayerLinkBattleRecords(s32 battler) { #if FREE_LINK_BATTLE_RECORDS == FALSE if (InUnionRoom() != TRUE) { - UpdateTrainerCardWinsLosses(battlerId); + UpdateTrainerCardWinsLosses(battler); UpdateLinkBattleRecords( &gSaveBlock1Ptr->linkBattleRecords, - gTrainerCards[battlerId].playerName, - gTrainerCards[battlerId].trainerId, + gTrainerCards[battler].playerName, + gTrainerCards[battler].trainerId, gBattleOutcome, - battlerId); + battler); } #endif //FREE_LINK_BATTLE_RECORDS } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 99af220ed7..55125f4926 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1868,7 +1868,7 @@ static void Cmd_ppreduce(void) if (MOVE_IS_PERMANENT(gBattlerAttacker, gCurrMovePos)) { - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, + BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, sizeof(gBattleMons[gBattlerAttacker].pp[gCurrMovePos]), &gBattleMons[gBattlerAttacker].pp[gCurrMovePos]); MarkBattlerForControllerExec(gBattlerAttacker); @@ -2525,7 +2525,7 @@ static void Cmd_attackanimation(void) } BtlController_EmitMoveAnimation(gBattlerAttacker, - BUFFER_A, + B_COMM_TO_CONTROLLER, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, @@ -2571,7 +2571,7 @@ static void DoublesHPBarReduction(void) s32 currDmg = gBattleStruct->moveDamage[battlerDef]; s32 healthValue = min(currDmg, 10000); // Max damage (10000) not present in R/S, ensures that huge damage values don't change sign - BtlController_EmitHealthBarUpdate(battlerDef, BUFFER_A, healthValue); + BtlController_EmitHealthBarUpdate(battlerDef, B_COMM_TO_CONTROLLER, healthValue); MarkBattlerForControllerExec(battlerDef); if (IsOnPlayerSide(battlerDef) && currDmg > 0) @@ -2607,7 +2607,7 @@ static void Cmd_healthbarupdate(void) { s16 healthValue = min(gBattleStruct->moveDamage[battler], 10000); // Max damage (10000) not present in R/S, ensures that huge damage values don't change sign - BtlController_EmitHealthBarUpdate(battler, BUFFER_A, healthValue); + BtlController_EmitHealthBarUpdate(battler, B_COMM_TO_CONTROLLER, healthValue); MarkBattlerForControllerExec(battler); if (IsOnPlayerSide(battler) && gBattleStruct->moveDamage[battler] > 0) @@ -2735,7 +2735,7 @@ static void Cmd_datahpupdate(void) } gHitMarker &= ~HITMARKER_PASSIVE_DAMAGE; // Send updated HP - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[battler].hp), &gBattleMons[battler].hp); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[battler].hp), &gBattleMons[battler].hp); MarkBattlerForControllerExec(battler); } @@ -2796,11 +2796,11 @@ static void Cmd_effectivenesssound(void) switch (moveResultFlags & ~MOVE_RESULT_MISSED) { case MOVE_RESULT_SUPER_EFFECTIVE: - BtlController_EmitPlaySE(gBattlerTarget, BUFFER_A, SE_SUPER_EFFECTIVE); + BtlController_EmitPlaySE(gBattlerTarget, B_COMM_TO_CONTROLLER, SE_SUPER_EFFECTIVE); MarkBattlerForControllerExec(gBattlerTarget); break; case MOVE_RESULT_NOT_VERY_EFFECTIVE: - BtlController_EmitPlaySE(gBattlerTarget, BUFFER_A, SE_NOT_EFFECTIVE); + BtlController_EmitPlaySE(gBattlerTarget, B_COMM_TO_CONTROLLER, SE_NOT_EFFECTIVE); MarkBattlerForControllerExec(gBattlerTarget); break; case MOVE_RESULT_DOESNT_AFFECT_FOE: @@ -2814,17 +2814,17 @@ static void Cmd_effectivenesssound(void) default: if (moveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) { - BtlController_EmitPlaySE(gBattlerTarget, BUFFER_A, SE_SUPER_EFFECTIVE); + BtlController_EmitPlaySE(gBattlerTarget, B_COMM_TO_CONTROLLER, SE_SUPER_EFFECTIVE); MarkBattlerForControllerExec(gBattlerTarget); } else if (moveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) { - BtlController_EmitPlaySE(gBattlerTarget, BUFFER_A, SE_NOT_EFFECTIVE); + BtlController_EmitPlaySE(gBattlerTarget, B_COMM_TO_CONTROLLER, SE_NOT_EFFECTIVE); MarkBattlerForControllerExec(gBattlerTarget); } else if (!(moveResultFlags & (MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED))) { - BtlController_EmitPlaySE(gBattlerTarget, BUFFER_A, SE_EFFECTIVE); + BtlController_EmitPlaySE(gBattlerTarget, B_COMM_TO_CONTROLLER, SE_EFFECTIVE); MarkBattlerForControllerExec(gBattlerTarget); } break; @@ -3031,7 +3031,7 @@ static void Cmd_printselectionstring(void) { CMD_ARGS(u16 id); - BtlController_EmitPrintSelectionString(gBattlerAttacker, BUFFER_A, cmd->id); + BtlController_EmitPrintSelectionString(gBattlerAttacker, B_COMM_TO_CONTROLLER, cmd->id); MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; @@ -3087,7 +3087,7 @@ static void Cmd_printselectionstringfromtable(void) const u16 *ptr = cmd->ptr; ptr += gBattleCommunication[MULTISTRING_CHOOSER]; - BtlController_EmitPrintSelectionString(gBattlerAttacker, BUFFER_A, *ptr); + BtlController_EmitPrintSelectionString(gBattlerAttacker, B_COMM_TO_CONTROLLER, *ptr); MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; @@ -3134,14 +3134,14 @@ void StealTargetItem(u8 battlerStealer, u8 battlerItem) gBattleMons[battlerStealer].item = gLastUsedItem; gDisableStructs[battlerStealer].unburdenActive = FALSE; - BtlController_EmitSetMonData(battlerStealer, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); // set attacker item + BtlController_EmitSetMonData(battlerStealer, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); // set attacker item MarkBattlerForControllerExec(battlerStealer); } RecordItemEffectBattle(battlerItem, ITEM_NONE); CheckSetUnburden(battlerItem); - BtlController_EmitSetMonData(battlerItem, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[battlerItem].item); // remove target item + BtlController_EmitSetMonData(battlerItem, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[battlerItem].item); // remove target item MarkBattlerForControllerExec(battlerItem); gBattleStruct->choicedMove[battlerItem] = 0; @@ -3220,7 +3220,7 @@ void SetNonVolatileStatusCondition(u32 effectBattler, enum MoveEffects effect) gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[effect]; - BtlController_EmitSetMonData(effectBattler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[effectBattler].status1), &gBattleMons[effectBattler].status1); + BtlController_EmitSetMonData(effectBattler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[effectBattler].status1), &gBattleMons[effectBattler].status1); MarkBattlerForControllerExec(effectBattler); if (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) @@ -3787,7 +3787,7 @@ void SetMoveEffect(bool32 primary, bool32 certain) gBattleMons[gEffectBattler].item = 0; CheckSetUnburden(gEffectBattler); - BtlController_EmitSetMonData(gEffectBattler, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].item), &gBattleMons[gEffectBattler].item); + BtlController_EmitSetMonData(gEffectBattler, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].item), &gBattleMons[gEffectBattler].item); MarkBattlerForControllerExec(gEffectBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_MoveEffectIncinerate; @@ -3802,7 +3802,7 @@ void SetMoveEffect(bool32 primary, bool32 certain) gBattleMons[gEffectBattler].item = 0; CheckSetUnburden(gEffectBattler); - BtlController_EmitSetMonData(gEffectBattler, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].item), &gBattleMons[gEffectBattler].item); + BtlController_EmitSetMonData(gEffectBattler, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].item), &gBattleMons[gEffectBattler].item); MarkBattlerForControllerExec(gEffectBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_MoveEffectBugBite; @@ -4104,7 +4104,7 @@ void SetMoveEffect(bool32 primary, bool32 certain) if (!(gDisableStructs[gBattlerTarget].mimickedMoves & (1u << i)) && !(gBattleMons[gBattlerTarget].status2 & STATUS2_TRANSFORMED)) { - BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gBattlerTarget].pp[i]), &gBattleMons[gBattlerTarget].pp[i]); + BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gBattlerTarget].pp[i]), &gBattleMons[gBattlerTarget].pp[i]); MarkBattlerForControllerExec(gBattlerTarget); } @@ -4672,7 +4672,7 @@ static void Cmd_tryfaintmon(void) gBattleMons[gBattlerAttacker].pp[moveIndex] = 0; BattleScriptPush(gBattlescriptCurrInstr); gBattlescriptCurrInstr = BattleScript_GrudgeTakesPp; - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].pp[moveIndex]), &gBattleMons[gBattlerAttacker].pp[moveIndex]); + BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].pp[moveIndex]), &gBattleMons[gBattlerAttacker].pp[moveIndex]); MarkBattlerForControllerExec(gBattlerAttacker); PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].moves[moveIndex]) @@ -4705,7 +4705,7 @@ static void Cmd_dofaintanimation(void) return; } - BtlController_EmitFaintAnimation(battler, BUFFER_A); + BtlController_EmitFaintAnimation(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -4721,7 +4721,7 @@ static void Cmd_cleareffectsonfaint(void) if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !IsBattlerAlive(battler)) { gBattleMons[battler].status1 = 0; - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); } @@ -5153,7 +5153,7 @@ static void Cmd_getexp(void) gBattleResources->beforeLvlUp->stats[STAT_SPDEF] = GetMonData(&gPlayerParty[*expMonId], MON_DATA_SPDEF); gBattleResources->beforeLvlUp->level = currLvl; - BtlController_EmitExpUpdate(gBattleStruct->expGetterBattlerId, BUFFER_A, *expMonId, gBattleStruct->battlerExpReward); + BtlController_EmitExpUpdate(gBattleStruct->expGetterBattlerId, B_COMM_TO_CONTROLLER, *expMonId, gBattleStruct->battlerExpReward); MarkBattlerForControllerExec(gBattleStruct->expGetterBattlerId); } gBattleScripting.getexpState++; @@ -5750,7 +5750,7 @@ static void Cmd_absorb(void) return; u32 battler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitHealthBarUpdate(battler, BUFFER_A, gBattleStruct->moveDamage[battler]); + BtlController_EmitHealthBarUpdate(battler, B_COMM_TO_CONTROLLER, gBattleStruct->moveDamage[battler]); MarkBattlerForControllerExec(battler); if (IsOnPlayerSide(battler) && gBattleStruct->moveDamage[battler] > 0) @@ -5855,7 +5855,7 @@ static void PlayAnimation(u32 battler, u8 animId, const u16 *argPtr, const u8 *n || animId == B_ANIM_TERA_CHARGE || animId == B_ANIM_TERA_ACTIVATE) { - BtlController_EmitBattleAnimation(battler, BUFFER_A, animId, &gDisableStructs[battler], *argPtr); + BtlController_EmitBattleAnimation(battler, B_COMM_TO_CONTROLLER, animId, &gDisableStructs[battler], *argPtr); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = nextInstr; } @@ -5871,7 +5871,7 @@ static void PlayAnimation(u32 battler, u8 animId, const u16 *argPtr, const u8 *n || animId == B_ANIM_SNOW_CONTINUES || animId == B_ANIM_FOG_CONTINUES) { - BtlController_EmitBattleAnimation(battler, BUFFER_A, animId, &gDisableStructs[battler], *argPtr); + BtlController_EmitBattleAnimation(battler, B_COMM_TO_CONTROLLER, animId, &gDisableStructs[battler], *argPtr); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = nextInstr; } @@ -5881,7 +5881,7 @@ static void PlayAnimation(u32 battler, u8 animId, const u16 *argPtr, const u8 *n } else { - BtlController_EmitBattleAnimation(battler, BUFFER_A, animId, &gDisableStructs[battler], *argPtr); + BtlController_EmitBattleAnimation(battler, B_COMM_TO_CONTROLLER, animId, &gDisableStructs[battler], *argPtr); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = nextInstr; } @@ -6046,7 +6046,7 @@ static void Cmd_playstatchangeanimation(void) } else if (changeableStatsCount != 0 && !gBattleScripting.statAnimPlayed) { - BtlController_EmitBattleAnimation(battler, BUFFER_A, B_ANIM_STATS_CHANGE, &gDisableStructs[battler], statAnimId); + BtlController_EmitBattleAnimation(battler, B_COMM_TO_CONTROLLER, B_ANIM_STATS_CHANGE, &gDisableStructs[battler], statAnimId); MarkBattlerForControllerExec(battler); if (flags & STAT_CHANGE_MULTIPLE_STATS && changeableStatsCount > 1) gBattleScripting.statAnimPlayed = TRUE; @@ -6083,7 +6083,7 @@ static bool32 TryKnockOffBattleScript(u32 battlerDef) // In Gen 5+, Knock Off removes the target's item rather than rendering it unusable. if (B_KNOCK_OFF_REMOVAL >= GEN_5) { - BtlController_EmitSetMonData(battlerDef, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerDef].item), &gBattleMons[battlerDef].item); + BtlController_EmitSetMonData(battlerDef, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerDef].item), &gBattleMons[battlerDef].item); MarkBattlerForControllerExec(battlerDef); } else @@ -6438,7 +6438,7 @@ static void Cmd_moveend(void) { gProtectStructs[gBattlerAttacker].touchedProtectLike = FALSE; gBattleMons[gBattlerAttacker].status1 = STATUS1_BURN; - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].status1), &gBattleMons[gBattlerAttacker].status1); + BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].status1), &gBattleMons[gBattlerAttacker].status1); MarkBattlerForControllerExec(gBattlerAttacker); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BeakBlastBurn; @@ -6636,7 +6636,7 @@ static void Cmd_moveend(void) if (gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE) && gHitMarker & (HITMARKER_NO_ANIMATIONS | HITMARKER_DISABLE_ANIMATION)) { - BtlController_EmitSpriteInvisibility(gBattlerAttacker, BUFFER_A, TRUE); + BtlController_EmitSpriteInvisibility(gBattlerAttacker, B_COMM_TO_CONTROLLER, TRUE); MarkBattlerForControllerExec(gBattlerAttacker); gBattleScripting.moveendState++; return; @@ -6648,7 +6648,7 @@ static void Cmd_moveend(void) || !(gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE)) || WasUnableToUseMove(gBattlerAttacker)) { - BtlController_EmitSpriteInvisibility(gBattlerAttacker, BUFFER_A, FALSE); + BtlController_EmitSpriteInvisibility(gBattlerAttacker, B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gBattlerAttacker); gStatuses3[gBattlerAttacker] &= ~STATUS3_SEMI_INVULNERABLE; gSpecialStatuses[gBattlerAttacker].restoredBattlerSprite = TRUE; @@ -6661,7 +6661,7 @@ static void Cmd_moveend(void) if (!gSpecialStatuses[gBattlerTarget].restoredBattlerSprite && gBattlerTarget < gBattlersCount && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)) { - BtlController_EmitSpriteInvisibility(gBattlerTarget, BUFFER_A, FALSE); + BtlController_EmitSpriteInvisibility(gBattlerTarget, B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gBattlerTarget); gStatuses3[gBattlerTarget] &= ~STATUS3_SEMI_INVULNERABLE; gBattleScripting.moveendState++; @@ -6937,7 +6937,7 @@ static void Cmd_moveend(void) && !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT)) { gBattleMons[gBattlerTarget].status1 &= ~STATUS1_FREEZE; - BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); MarkBattlerForControllerExec(gBattlerTarget); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; @@ -6950,7 +6950,7 @@ static void Cmd_moveend(void) && !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT)) { gBattleMons[gBattlerTarget].status1 &= ~STATUS1_FROSTBITE; - BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); MarkBattlerForControllerExec(gBattlerTarget); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_FrostbiteHealedViaFireMove; @@ -7552,7 +7552,7 @@ static void Cmd_returnatktoball(void) if (!(gHitMarker & HITMARKER_FAINTED(gBattlerAttacker))) { - BtlController_EmitReturnMonToBall(gBattlerAttacker, BUFFER_A, FALSE); + BtlController_EmitReturnMonToBall(gBattlerAttacker, B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gBattlerAttacker); } gBattlescriptCurrInstr = cmd->nextInstr; @@ -7568,7 +7568,7 @@ static void Cmd_getswitchedmondata(void) gBattlerPartyIndexes[battler] = gBattleStruct->monToSwitchIntoId[battler]; - BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, 1u << gBattlerPartyIndexes[battler]); + BtlController_EmitGetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, 1u << gBattlerPartyIndexes[battler]); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -7614,7 +7614,7 @@ static void Cmd_switchindataupdate(void) if (i != PARTY_SIZE) { gBattlerPartyIndexes[battler] = gBattleStruct->monToSwitchIntoId[battler] = i; - BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, 1u << gBattlerPartyIndexes[battler]); + BtlController_EmitGetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, 1u << gBattlerPartyIndexes[battler]); MarkBattlerForControllerExec(battler); return; } @@ -7689,7 +7689,7 @@ static void Cmd_switchinanim(void) gAbsentBattlerFlags &= ~(1u << battler); - BtlController_EmitSwitchInAnim(battler, BUFFER_A, gBattlerPartyIndexes[battler], cmd->dontClearTransform, cmd->dontClearSubstitute); + BtlController_EmitSwitchInAnim(battler, B_COMM_TO_CONTROLLER, gBattlerPartyIndexes[battler], cmd->dontClearTransform, cmd->dontClearSubstitute); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -7868,7 +7868,7 @@ static void ChooseMonToSendOut(u32 battler, u8 slotId) gBattleStruct->monToSwitchIntoId[battler] = PARTY_SIZE; gBattleStruct->field_93 &= ~(1u << battler); - BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); + BtlController_EmitChoosePokemon(battler, B_COMM_TO_CONTROLLER, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); MarkBattlerForControllerExec(battler); } @@ -7893,7 +7893,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= 1u << battler; gHitMarker &= ~HITMARKER_FAINTED(battler); - BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(battler, B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(battler); } else if (!gSpecialStatuses[battler].faintedHasReplacement) @@ -7904,7 +7904,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(battler, B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(battler); } } @@ -7926,7 +7926,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= 1u << battler; gHitMarker &= ~HITMARKER_FAINTED(battler); - BtlController_EmitCantSwitch(battler, BUFFER_A); + BtlController_EmitCantSwitch(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); } else if (!gSpecialStatuses[battler].faintedHasReplacement) @@ -7936,7 +7936,7 @@ static void Cmd_openpartyscreen(void) } else if (battler < 2 || (battler > 1 && !(flags & BATTLE_PARTNER(battler)))) { - BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(battler, B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(battler); flags |= battler; } @@ -7955,7 +7955,7 @@ static void Cmd_openpartyscreen(void) else battler = i; - BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(battler, B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(battler); } } @@ -7979,7 +7979,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= (1u << battler); gHitMarker &= ~(HITMARKER_FAINTED(battler)); - BtlController_EmitCantSwitch(battler, BUFFER_A); + BtlController_EmitCantSwitch(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); } else if (!gSpecialStatuses[battler].faintedHasReplacement) @@ -8037,7 +8037,7 @@ static void Cmd_openpartyscreen(void) gBattleStruct->monToSwitchIntoId[battler] = PARTY_SIZE; gBattleStruct->field_93 &= ~(1u << battler); - BtlController_EmitChoosePokemon(battler, BUFFER_A, hitmarkerFaintBits, gBattleStruct->monToSwitchIntoId[BATTLE_PARTNER(battler)], ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); + BtlController_EmitChoosePokemon(battler, B_COMM_TO_CONTROLLER, hitmarkerFaintBits, gBattleStruct->monToSwitchIntoId[BATTLE_PARTNER(battler)], ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -8051,7 +8051,7 @@ static void Cmd_openpartyscreen(void) { if (i != battler) { - BtlController_EmitLinkStandbyMsg(i, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(i, B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(i); } } @@ -8065,7 +8065,7 @@ static void Cmd_openpartyscreen(void) // Make sure we're checking a valid battler. In edge case scenarios - battler could be absent and battlerOpposite would become a non-existent one softlocking the game. if (battlerOpposite < gBattlersCount) { - BtlController_EmitLinkStandbyMsg(battlerOpposite, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(battlerOpposite, B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(battlerOpposite); } } @@ -8260,7 +8260,7 @@ static bool32 DoSwitchInEffectsForBattler(u32 battler) else gBattleMons[battler].status1 |= STATUS1_POISON; - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); gBattleScripting.battler = battler; BattleScriptPushCursor(); @@ -8429,7 +8429,7 @@ static void Cmd_trainerslidein(void) CMD_ARGS(u8 position); u32 battler = GetBattlerForBattleScript(cmd->position); - BtlController_EmitTrainerSlide(battler, BUFFER_A); + BtlController_EmitTrainerSlide(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -8439,7 +8439,7 @@ static void Cmd_playse(void) { CMD_ARGS(u16 song); - BtlController_EmitPlaySE(gBattlerAttacker, BUFFER_A, cmd->song); + BtlController_EmitPlaySE(gBattlerAttacker, B_COMM_TO_CONTROLLER, cmd->song); MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; @@ -8449,7 +8449,7 @@ static void Cmd_fanfare(void) { CMD_ARGS(u16 song); - BtlController_EmitPlayFanfareOrBGM(gBattlerAttacker, BUFFER_A, cmd->song, FALSE); + BtlController_EmitPlayFanfareOrBGM(gBattlerAttacker, B_COMM_TO_CONTROLLER, cmd->song, FALSE); MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; @@ -8460,7 +8460,7 @@ static void Cmd_playfaintcry(void) CMD_ARGS(u8 battler); u32 battler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitFaintingCry(battler, BUFFER_A); + BtlController_EmitFaintingCry(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -8471,7 +8471,7 @@ static void Cmd_endlinkbattle(void) CMD_ARGS(); u32 battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitEndLinkBattle(battler, BUFFER_A, gBattleOutcome); + BtlController_EmitEndLinkBattle(battler, B_COMM_TO_CONTROLLER, gBattleOutcome); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -8482,7 +8482,7 @@ static void Cmd_returntoball(void) CMD_ARGS(u8 battler, bool8 changingForm); u32 battler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitReturnMonToBall(battler, BUFFER_A, TRUE); + BtlController_EmitReturnMonToBall(battler, B_COMM_TO_CONTROLLER, TRUE); MarkBattlerForControllerExec(battler); // Don't always execute a form change here otherwise we can stomp gigantamax @@ -8626,8 +8626,8 @@ static void Cmd_yesnoboxlearnmove(void) } else { - u16 moveId = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MOVE1 + movePosition); - if (IsMoveHM(moveId)) + u16 move = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MOVE1 + movePosition); + if (IsMoveHM(move)) { PrepareStringBattle(STRINGID_HMMOVESCANTBEFORGOTTEN, B_POSITION_PLAYER_LEFT); gBattleScripting.learnMoveState = 6; @@ -8636,7 +8636,7 @@ static void Cmd_yesnoboxlearnmove(void) { gBattlescriptCurrInstr = cmd->forgotMovePtr; - PREPARE_MOVE_BUFFER(gBattleTextBuff2, moveId) + PREPARE_MOVE_BUFFER(gBattleTextBuff2, move) RemoveMonPPBonus(&gPlayerParty[gBattleStruct->expGetterMonId], movePosition); SetMonMoveSlot(&gPlayerParty[gBattleStruct->expGetterMonId], gMoveToLearn, movePosition); @@ -8733,7 +8733,7 @@ static void Cmd_hitanimation(void) || !(DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove)) || gDisableStructs[battler].substituteHP == 0) { - BtlController_EmitHitAnimation(battler, BUFFER_A); + BtlController_EmitHitAnimation(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); } } @@ -8751,7 +8751,7 @@ static void Cmd_hitanimation(void) || !(DoesSubstituteBlockMove(gBattlerAttacker, battlerDef, gCurrentMove)) || gDisableStructs[battlerDef].substituteHP == 0) { - BtlController_EmitHitAnimation(battlerDef, BUFFER_A); + BtlController_EmitHitAnimation(battlerDef, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battlerDef); } } @@ -8838,7 +8838,7 @@ static void Cmd_updatebattlermoves(void) switch (gBattleCommunication[0]) { case 0: - BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(battler); gBattleCommunication[0]++; break; @@ -8906,7 +8906,7 @@ static void Cmd_drawpartystatussummary(void) } } - BtlController_EmitDrawPartyStatusSummary(battler, BUFFER_A, hpStatuses, 1); + BtlController_EmitDrawPartyStatusSummary(battler, B_COMM_TO_CONTROLLER, hpStatuses, 1); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -8917,7 +8917,7 @@ static void Cmd_hidepartystatussummary(void) CMD_ARGS(u8 battler); u32 battler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitHidePartyStatusSummary(battler, BUFFER_A); + BtlController_EmitHidePartyStatusSummary(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -8961,7 +8961,7 @@ static void Cmd_statusanimation(void) && gDisableStructs[battler].substituteHP == 0 && !(gHitMarker & (HITMARKER_NO_ANIMATIONS | HITMARKER_DISABLE_ANIMATION))) { - BtlController_EmitStatusAnimation(battler, BUFFER_A, FALSE, gBattleMons[battler].status1); + BtlController_EmitStatusAnimation(battler, B_COMM_TO_CONTROLLER, FALSE, gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); } gBattlescriptCurrInstr = cmd->nextInstr; @@ -8980,7 +8980,7 @@ static void Cmd_status2animation(void) && gDisableStructs[battler].substituteHP == 0 && !(gHitMarker & (HITMARKER_NO_ANIMATIONS | HITMARKER_DISABLE_ANIMATION))) { - BtlController_EmitStatusAnimation(battler, BUFFER_A, TRUE, gBattleMons[battler].status2 & status2ToAnim); + BtlController_EmitStatusAnimation(battler, B_COMM_TO_CONTROLLER, TRUE, gBattleMons[battler].status2 & status2ToAnim); MarkBattlerForControllerExec(battler); } gBattlescriptCurrInstr = cmd->nextInstr; @@ -8999,7 +8999,7 @@ static void Cmd_chosenstatusanimation(void) && gDisableStructs[battler].substituteHP == 0 && !(gHitMarker & (HITMARKER_NO_ANIMATIONS | HITMARKER_DISABLE_ANIMATION))) { - BtlController_EmitStatusAnimation(battler, BUFFER_A, cmd->isStatus2, wantedStatus); + BtlController_EmitStatusAnimation(battler, B_COMM_TO_CONTROLLER, cmd->isStatus2, wantedStatus); MarkBattlerForControllerExec(battler); } gBattlescriptCurrInstr = cmd->nextInstr; @@ -9117,12 +9117,12 @@ static void BestowItem(u32 battlerAtk, u32 battlerDef) gLastUsedItem = gBattleMons[battlerAtk].item; gBattleMons[battlerAtk].item = ITEM_NONE; - BtlController_EmitSetMonData(battlerAtk, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerAtk].item), &gBattleMons[battlerAtk].item); + BtlController_EmitSetMonData(battlerAtk, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerAtk].item), &gBattleMons[battlerAtk].item); MarkBattlerForControllerExec(battlerAtk); CheckSetUnburden(battlerAtk); gBattleMons[battlerDef].item = gLastUsedItem; - BtlController_EmitSetMonData(battlerDef, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerDef].item), &gBattleMons[battlerDef].item); + BtlController_EmitSetMonData(battlerDef, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerDef].item), &gBattleMons[battlerDef].item); MarkBattlerForControllerExec(battlerDef); gDisableStructs[battlerDef].unburdenActive = FALSE; } @@ -9177,7 +9177,7 @@ static void Cmd_removeitem(void) gBattleStruct->battlerState[battler].canPickupItem = TRUE; CheckSetUnburden(battler); - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battler].item), &gBattleMons[battler].item); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battler].item), &gBattleMons[battler].item); MarkBattlerForControllerExec(battler); ClearBattlerItemEffectHistory(battler); @@ -9499,7 +9499,7 @@ static void Cmd_makevisible(void) return; battler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitSpriteInvisibility(battler, BUFFER_A, FALSE); + BtlController_EmitSpriteInvisibility(battler, B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -9939,7 +9939,7 @@ static void HandleScriptMegaPrimalBurst(u32 caseId, u32 battler, u32 type) PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[battler].species); - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_SPECIES_BATTLE, 1u << gBattlerPartyIndexes[battler], sizeof(gBattleMons[battler].species), &gBattleMons[battler].species); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_SPECIES_BATTLE, 1u << gBattlerPartyIndexes[battler], sizeof(gBattleMons[battler].species), &gBattleMons[battler].species); MarkBattlerForControllerExec(battler); } // Update healthbox and elevation and play cry. @@ -10403,7 +10403,7 @@ static void Cmd_various(void) case VARIOUS_EMIT_YESNOBOX: { VARIOUS_ARGS(); - BtlController_EmitYesNoBox(battler, BUFFER_A); + BtlController_EmitYesNoBox(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); break; } @@ -10446,7 +10446,7 @@ static void Cmd_various(void) battler = 1; if (IsBattlerAlive(battler)) { - BtlController_EmitReturnMonToBall(battler, BUFFER_A, FALSE); + BtlController_EmitReturnMonToBall(battler, B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(battler); } break; @@ -10459,7 +10459,7 @@ static void Cmd_various(void) battler = 3; if (IsBattlerAlive(battler)) { - BtlController_EmitReturnMonToBall(battler, BUFFER_A, FALSE); + BtlController_EmitReturnMonToBall(battler, B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(battler); } } @@ -10517,7 +10517,7 @@ static void Cmd_various(void) case VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC: { VARIOUS_ARGS(); - BtlController_EmitPlayFanfareOrBGM(battler, BUFFER_A, MUS_VICTORY_TRAINER, TRUE); + BtlController_EmitPlayFanfareOrBGM(battler, B_COMM_TO_CONTROLLER, MUS_VICTORY_TRAINER, TRUE); MarkBattlerForControllerExec(battler); break; } @@ -10539,7 +10539,7 @@ static void Cmd_various(void) case VARIOUS_INSTANT_HP_DROP: { VARIOUS_ARGS(); - BtlController_EmitHealthBarUpdate(battler, BUFFER_A, INSTANT_HP_BAR_DROP); + BtlController_EmitHealthBarUpdate(battler, B_COMM_TO_CONTROLLER, INSTANT_HP_BAR_DROP); MarkBattlerForControllerExec(battler); break; } @@ -10547,7 +10547,7 @@ static void Cmd_various(void) { VARIOUS_ARGS(); gBattleMons[battler].status1 = 0; - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); break; } @@ -10560,7 +10560,7 @@ static void Cmd_various(void) data[i] = gBattleMons[battler].pp[i]; } data[i] = gBattleMons[battler].ppBonuses; - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_PP_DATA_BATTLE, 0, 5, data); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_PP_DATA_BATTLE, 0, 5, data); MarkBattlerForControllerExec(battler); break; } @@ -10606,7 +10606,7 @@ static void Cmd_various(void) case VARIOUS_PLAY_MOVE_ANIMATION: { VARIOUS_ARGS(u16 move); - BtlController_EmitMoveAnimation(battler, BUFFER_A, cmd->move, gBattleScripting.animTurn, 0, 0, gBattleMons[battler].friendship, &gDisableStructs[battler], gMultiHitCounter); + BtlController_EmitMoveAnimation(battler, B_COMM_TO_CONTROLLER, cmd->move, gBattleScripting.animTurn, 0, 0, gBattleMons[battler].friendship, &gDisableStructs[battler], gMultiHitCounter); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; return; @@ -10789,7 +10789,7 @@ static void Cmd_various(void) if (!gBattleTextBuff1) PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[battler].species); */ - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_SPECIES_BATTLE, 1u << gBattlerPartyIndexes[battler], sizeof(gBattleMons[battler].species), &gBattleMons[battler].species); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_SPECIES_BATTLE, 1u << gBattlerPartyIndexes[battler], sizeof(gBattleMons[battler].species), &gBattleMons[battler].species); MarkBattlerForControllerExec(battler); } // Change stats. @@ -10932,7 +10932,7 @@ static void Cmd_various(void) } gBattleMons[gBattlerTarget].status1 = gBattleMons[gBattlerAttacker].status1 & STATUS1_ANY; battler = gBattlerTarget; - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; TryActivateSleepClause(battler, gBattlerPartyIndexes[battler]); @@ -10946,7 +10946,7 @@ static void Cmd_various(void) TryDeactivateSleepClause(GetBattlerSide(battler), gBattlerPartyIndexes[battler]); gBattleMons[battler].status1 = 0; - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); break; } @@ -11003,7 +11003,7 @@ static void Cmd_various(void) VARIOUS_ARGS(u8 case_); if (cmd->case_ == PRINT_SLIDE_MESSAGE) { - BtlController_EmitPrintString(battler, BUFFER_A, STRINGID_TRAINERSLIDE); + BtlController_EmitPrintString(battler, B_COMM_TO_CONTROLLER, STRINGID_TRAINERSLIDE); MarkBattlerForControllerExec(battler); } else if (cmd->case_ == RESTORE_BATTLER_SLIDE_CONTROL) @@ -11187,7 +11187,7 @@ static void Cmd_various(void) if (gBattleControllerExecFlags) break; - BtlController_EmitSpriteInvisibility(battler, BUFFER_A, TRUE); + BtlController_EmitSpriteInvisibility(battler, B_COMM_TO_CONTROLLER, TRUE); MarkBattlerForControllerExec(battler); break; } @@ -11678,7 +11678,7 @@ static void Cmd_tryexplosion(void) return; gBattleStruct->moveDamage[gBattlerAttacker] = gBattleMons[gBattlerAttacker].hp; - BtlController_EmitHealthBarUpdate(gBattlerAttacker, BUFFER_A, INSTANT_HP_BAR_DROP); + BtlController_EmitHealthBarUpdate(gBattlerAttacker, B_COMM_TO_CONTROLLER, INSTANT_HP_BAR_DROP); MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -11691,7 +11691,7 @@ static void Cmd_setatkhptozero(void) return; gBattleMons[gBattlerAttacker].hp = 0; - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].hp), &gBattleMons[gBattlerAttacker].hp); + BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].hp), &gBattleMons[gBattlerAttacker].hp); MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; @@ -11924,7 +11924,7 @@ static void Cmd_trysetrest(void) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_REST; gBattleMons[gBattlerTarget].status1 = STATUS1_SLEEP_TURN(3); - BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); MarkBattlerForControllerExec(gBattlerTarget); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -13052,7 +13052,7 @@ static void Cmd_updatestatusicon(void) { if (!(gAbsentBattlerFlags & (1u << battler))) { - BtlController_EmitStatusIconUpdate(battler, BUFFER_A, gBattleMons[battler].status1, gBattleMons[battler].status2); + BtlController_EmitStatusIconUpdate(battler, B_COMM_TO_CONTROLLER, gBattleMons[battler].status1, gBattleMons[battler].status2); MarkBattlerForControllerExec(battler); } } @@ -13063,7 +13063,7 @@ static void Cmd_updatestatusicon(void) battler = gBattlerAttacker; if (!(gAbsentBattlerFlags & (1u << battler))) { - BtlController_EmitStatusIconUpdate(battler, BUFFER_A, gBattleMons[battler].status1, gBattleMons[battler].status2); + BtlController_EmitStatusIconUpdate(battler, B_COMM_TO_CONTROLLER, gBattleMons[battler].status1, gBattleMons[battler].status2); MarkBattlerForControllerExec(battler); } if ((IsDoubleBattle())) @@ -13071,7 +13071,7 @@ static void Cmd_updatestatusicon(void) battler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (!(gAbsentBattlerFlags & (1u << battler))) { - BtlController_EmitStatusIconUpdate(battler, BUFFER_A, gBattleMons[battler].status1, gBattleMons[battler].status2); + BtlController_EmitStatusIconUpdate(battler, B_COMM_TO_CONTROLLER, gBattleMons[battler].status1, gBattleMons[battler].status2); MarkBattlerForControllerExec(battler); } } @@ -13080,7 +13080,7 @@ static void Cmd_updatestatusicon(void) else { battler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitStatusIconUpdate(battler, BUFFER_A, gBattleMons[battler].status1, gBattleMons[battler].status2); + BtlController_EmitStatusIconUpdate(battler, B_COMM_TO_CONTROLLER, gBattleMons[battler].status1, gBattleMons[battler].status2); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -13184,7 +13184,7 @@ static void Cmd_transformdataexecution(void) RecordAllMoves(gBattlerAttacker); RecordAbilityBattle(gBattlerAttacker, gBattleMons[gBattlerAttacker].ability); - BtlController_EmitResetActionMoveSelection(gBattlerAttacker, BUFFER_A, RESET_MOVE_SELECTION); + BtlController_EmitResetActionMoveSelection(gBattlerAttacker, B_COMM_TO_CONTROLLER, RESET_MOVE_SELECTION); MarkBattlerForControllerExec(gBattlerAttacker); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TRANSFORMED; } @@ -13641,7 +13641,7 @@ static void Cmd_copymovepermanently(void) } movePpData.ppBonuses = gBattleMons[gBattlerAttacker].ppBonuses; - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_MOVES_PP_BATTLE, 0, sizeof(movePpData), &movePpData); + BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, REQUEST_MOVES_PP_BATTLE, 0, sizeof(movePpData), &movePpData); MarkBattlerForControllerExec(gBattlerAttacker); PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastPrintedMoves[gBattlerTarget]) @@ -13818,7 +13818,7 @@ static void Cmd_tryspiteppreduce(void) if (!(gDisableStructs[gBattlerTarget].mimickedMoves & (1u << i)) && !(gBattleMons[gBattlerTarget].status2 & STATUS2_TRANSFORMED)) { - BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gBattlerTarget].pp[i]), &gBattleMons[gBattlerTarget].pp[i]); + BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gBattlerTarget].pp[i]), &gBattleMons[gBattlerTarget].pp[i]); MarkBattlerForControllerExec(gBattlerTarget); } @@ -13929,7 +13929,7 @@ static void Cmd_healpartystatus(void) if (toHeal) { - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_STATUS_BATTLE, toHeal, sizeof(zero), &zero); + BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, toHeal, sizeof(zero), &zero); MarkBattlerForControllerExec(gBattlerAttacker); } @@ -14624,7 +14624,7 @@ static void Cmd_trymemento(void) { // Success, drop user's HP bar to 0 gBattleStruct->moveDamage[gBattlerAttacker] = gBattleMons[gBattlerAttacker].hp; - BtlController_EmitHealthBarUpdate(gBattlerAttacker, BUFFER_A, INSTANT_HP_BAR_DROP); + BtlController_EmitHealthBarUpdate(gBattlerAttacker, B_COMM_TO_CONTROLLER, INSTANT_HP_BAR_DROP); MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -14706,7 +14706,7 @@ static void Cmd_curestatuswithmove(void) gBattleMons[gBattlerAttacker].status1 = 0; gBattlescriptCurrInstr = cmd->nextInstr; - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].status1), &gBattleMons[gBattlerAttacker].status1); + BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].status1), &gBattleMons[gBattlerAttacker].status1); MarkBattlerForControllerExec(gBattlerAttacker); } else @@ -14864,10 +14864,10 @@ static void Cmd_tryswapitems(void) RecordItemEffectBattle(gBattlerAttacker, 0); RecordItemEffectBattle(gBattlerTarget, ItemId_GetHoldEffect(oldItemAtk)); - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk); + BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk); MarkBattlerForControllerExec(gBattlerAttacker); - BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); + BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); MarkBattlerForControllerExec(gBattlerTarget); gBattleStruct->choicedMove[gBattlerTarget] = MOVE_NONE; @@ -15287,7 +15287,7 @@ static void Cmd_switchoutabilities(void) TryDeactivateSleepClause(GetBattlerSide(battler), gBattlerPartyIndexes[battler]); gBattleMons[battler].status1 = 0; - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 1u << gBattleStruct->battlerPartyIndexes[battler], sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); @@ -15299,7 +15299,7 @@ static void Cmd_switchoutabilities(void) regenerate += gBattleMons[battler].hp; if (regenerate > gBattleMons[battler].maxHP) regenerate = gBattleMons[battler].maxHP; - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_HP_BATTLE, + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_HP_BATTLE, 1u << gBattleStruct->battlerPartyIndexes[battler], sizeof(regenerate), ®enerate); @@ -15527,7 +15527,7 @@ static void Cmd_tryrecycleitem(void) *usedHeldItem = ITEM_NONE; gBattleMons[gBattlerAttacker].item = gLastUsedItem; - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].item), &gBattleMons[gBattlerAttacker].item); + BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].item), &gBattleMons[gBattlerAttacker].item); MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; @@ -15676,13 +15676,13 @@ static void Cmd_handleballthrow(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - BtlController_EmitBallThrowAnim(gBattlerAttacker, BUFFER_A, BALL_TRAINER_BLOCK); + BtlController_EmitBallThrowAnim(gBattlerAttacker, B_COMM_TO_CONTROLLER, BALL_TRAINER_BLOCK); MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_TrainerBallBlock; } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) { - BtlController_EmitBallThrowAnim(gBattlerAttacker, BUFFER_A, BALL_3_SHAKES_SUCCESS); + BtlController_EmitBallThrowAnim(gBattlerAttacker, B_COMM_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_WallyBallThrow; } @@ -15885,7 +15885,7 @@ static void Cmd_handleballthrow(void) if (odds > 254) // mon caught { - BtlController_EmitBallThrowAnim(gBattlerAttacker, BUFFER_A, BALL_3_SHAKES_SUCCESS); + BtlController_EmitBallThrowAnim(gBattlerAttacker, B_COMM_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); MarkBattlerForControllerExec(gBattlerAttacker); TryBattleFormChange(gBattlerTarget, FORM_CHANGE_END_BATTLE); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; @@ -15938,7 +15938,7 @@ static void Cmd_handleballthrow(void) for (shakes = 0; shakes < maxShakes && Random() < odds; shakes++); } - BtlController_EmitBallThrowAnim(gBattlerAttacker, BUFFER_A, shakes); + BtlController_EmitBallThrowAnim(gBattlerAttacker, B_COMM_TO_CONTROLLER, shakes); MarkBattlerForControllerExec(gBattlerAttacker); if (shakes == maxShakes) // mon caught, copy of the code above @@ -16047,7 +16047,7 @@ static void Cmd_givecaughtmon(void) case GIVECAUGHTMON_DO_CHOOSE_MON: if (!gPaletteFade.active) { - BtlController_EmitChoosePokemon(gBattlerAttacker, BUFFER_A, PARTY_ACTION_SEND_MON_TO_BOX, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gBattlerAttacker]); + BtlController_EmitChoosePokemon(gBattlerAttacker, B_COMM_TO_CONTROLLER, PARTY_ACTION_SEND_MON_TO_BOX, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gBattlerAttacker]); MarkBattlerForControllerExec(gBattlerAttacker); gBattleCommunication[MULTIUSE_STATE] = GIVECAUGHTMON_HANDLE_CHOSEN_MON; } @@ -16376,7 +16376,7 @@ static void Cmd_trainerslideout(void) CMD_ARGS(u8 position); u32 battler = GetBattlerForBattleScript(cmd->position); - BtlController_EmitTrainerSlideBack(battler, BUFFER_A); + BtlController_EmitTrainerSlideBack(battler, B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -18100,7 +18100,7 @@ void BS_TryRevivalBlessing(void) struct Pokemon *party = GetBattlerParty(gBattlerAttacker); u16 hp = GetMonData(&party[gSelectedMonPartyId], MON_DATA_MAX_HP) / 2; - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_HP_BATTLE, 1u << gSelectedMonPartyId, sizeof(hp), &hp); + BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, REQUEST_HP_BATTLE, 1u << gSelectedMonPartyId, sizeof(hp), &hp); MarkBattlerForControllerExec(gBattlerAttacker); PREPARE_SPECIES_BUFFER(gBattleTextBuff1, GetMonData(&party[gSelectedMonPartyId], MON_DATA_SPECIES)); @@ -18121,7 +18121,7 @@ void BS_TryRevivalBlessing(void) else { // Open party menu, wait to go to next instruction. - BtlController_EmitChoosePokemon(gBattlerAttacker, BUFFER_A, PARTY_ACTION_CHOOSE_FAINTED_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gBattlerAttacker]); + BtlController_EmitChoosePokemon(gBattlerAttacker, B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_FAINTED_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gBattlerAttacker]); MarkBattlerForControllerExec(gBattlerAttacker); } } @@ -18160,7 +18160,7 @@ static void UpdatePokeFlutePartyStatus(struct Pokemon* party, u8 position) { battler = GetBattlerAtPosition(position); status = 0; - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, monToCheck, 4, &status); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, monToCheck, 4, &status); MarkBattlerForControllerExec(battler); gBattleCommunication[MULTISTRING_CHOOSER] = 1; } @@ -18361,7 +18361,7 @@ static void TrySetParalysis(const u8 *nextInstr, const u8 *failInstr) gBattleMons[gBattlerTarget].status1 |= STATUS1_PARALYSIS; gBattleCommunication[MULTISTRING_CHOOSER] = 3; gEffectBattler = gBattlerTarget; - BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); MarkBattlerForControllerExec(gBattlerTarget); gBattlescriptCurrInstr = nextInstr; } @@ -18378,7 +18378,7 @@ static void TrySetPoison(const u8 *nextInstr, const u8 *failInstr) gBattleMons[gBattlerTarget].status1 |= STATUS1_POISON; gBattleCommunication[MULTISTRING_CHOOSER] = 0; gEffectBattler = gBattlerTarget; - BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); MarkBattlerForControllerExec(gBattlerTarget); gBattlescriptCurrInstr = nextInstr; } @@ -18400,7 +18400,7 @@ static void TrySetSleep(const u8 *nextInstr, const u8 *failInstr) TryActivateSleepClause(gBattlerTarget, gBattlerPartyIndexes[gBattlerTarget]); gBattleCommunication[MULTISTRING_CHOOSER] = 4; gEffectBattler = gBattlerTarget; - BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); MarkBattlerForControllerExec(gBattlerTarget); gBattlescriptCurrInstr = nextInstr; } @@ -18554,7 +18554,7 @@ void BS_TryRecycleBerry(void) *usedHeldItem = ITEM_NONE; gBattleMons[gBattlerTarget].item = gLastUsedItem; - BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); + BtlController_EmitSetMonData(gBattlerTarget, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); MarkBattlerForControllerExec(gBattlerTarget); gBattlescriptCurrInstr = cmd->nextInstr; diff --git a/src/battle_tower.c b/src/battle_tower.c index 54a081884b..21126feba4 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -2392,7 +2392,7 @@ static void LoadMultiPartnerCandidatesData(void) static void GetPotentialPartnerMoveAndSpecies(u16 trainerId, u16 monId) { - u16 move = 0; + u16 move = MOVE_NONE; u16 species = 0; SetFacilityPtrsGetLevel(); diff --git a/src/battle_transition.c b/src/battle_transition.c index 77cd376ae4..8c366f01ef 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -81,7 +81,7 @@ struct RectangularSpiralLine { u8 state; s16 position; - u8 moveIdx; + u8 moveIndex; s16 reboundPosition; bool8 outward; }; @@ -3231,28 +3231,28 @@ static bool8 RectangularSpiral_Init(struct Task *task) // Line starting in top left sRectangularSpiralLines[0].state = SPIRAL_INWARD_START; sRectangularSpiralLines[0].position = -1; - sRectangularSpiralLines[0].moveIdx = 1; + sRectangularSpiralLines[0].moveIndex = 1; sRectangularSpiralLines[0].reboundPosition = 308; sRectangularSpiralLines[0].outward = FALSE; // Line starting in bottom right sRectangularSpiralLines[1].state = SPIRAL_INWARD_START; sRectangularSpiralLines[1].position = -1; - sRectangularSpiralLines[1].moveIdx = 1; + sRectangularSpiralLines[1].moveIndex = 1; sRectangularSpiralLines[1].reboundPosition = 308; sRectangularSpiralLines[1].outward = FALSE; // Line starting in top right sRectangularSpiralLines[2].state = SPIRAL_INWARD_START; sRectangularSpiralLines[2].position = -3; - sRectangularSpiralLines[2].moveIdx = 1; + sRectangularSpiralLines[2].moveIndex = 1; sRectangularSpiralLines[2].reboundPosition = 307; sRectangularSpiralLines[2].outward = FALSE; // Line starting in bottom left sRectangularSpiralLines[3].state = SPIRAL_INWARD_START; sRectangularSpiralLines[3].position = -3; - sRectangularSpiralLines[3].moveIdx = 1; + sRectangularSpiralLines[3].moveIndex = 1; sRectangularSpiralLines[3].reboundPosition = 307; sRectangularSpiralLines[3].outward = FALSE; @@ -3315,7 +3315,7 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru // 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. - if (moveData[line->moveIdx] == SPIRAL_END) + if (moveData[line->moveIndex] == SPIRAL_END) return FALSE; // Presumably saving data for debug. @@ -3346,21 +3346,21 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru // Below check is never true. // SPIRAL_END was already checked, and position is never >= 640 - if (line->position >= 640 || moveData[line->moveIdx] == SPIRAL_END) + if (line->position >= 640 || moveData[line->moveIndex] == SPIRAL_END) return FALSE; - if (!line->outward && moveData[line->moveIdx] == SPIRAL_REBOUND) + if (!line->outward && moveData[line->moveIndex] == SPIRAL_REBOUND) { // Line has reached the final point of spiraling inward. // Time to flip and start spiraling outward. line->outward = TRUE; - line->moveIdx = 1; + line->moveIndex = 1; line->position = line->reboundPosition; line->state = SPIRAL_OUTWARD_START; } // Reached move target, advance to next movement. - if (line->position == moveData[line->moveIdx]) + if (line->position == moveData[line->moveIndex]) { line->state++; if (line->outward == TRUE) @@ -3370,7 +3370,7 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru // Still spiraling outward, loop back to the first state // but use the second set of move targets. // For example, the 28 in sRectangularSpiral_Major_OutwardUp - line->moveIdx++; + line->moveIndex++; line->state = SPIRAL_OUTWARD_START; } } @@ -3381,7 +3381,7 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru // Still spiraling inward, loop back to the first state // but use the second set of move targets. // For example, the 275 in sRectangularSpiral_Major_InwardRight - line->moveIdx++; + line->moveIndex++; line->state = SPIRAL_INWARD_START; } } diff --git a/src/battle_tv.c b/src/battle_tv.c index 27d88ec88a..953932cfed 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -15,8 +15,8 @@ static bool8 IsNotSpecialBattleString(enum StringID stringId); static void AddMovePoints(u8 caseId, u16 arg1, u8 arg2, u8 arg3); static void TrySetBattleSeminarShow(void); static void AddPointsOnFainting(bool8 targetFainted); -static void AddPointsBasedOnWeather(u16 weatherFlags, u16 moveId, u8 moveSlot); -static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride); +static void AddPointsBasedOnWeather(u16 weatherFlags, u16 move, u8 moveSlot); +static bool8 ShouldCalculateDamage(u16 move, s32 *dmg, u16 *powerOverride); #define TABLE_END ((u16)-1) @@ -654,7 +654,7 @@ void TryPutLinkBattleTvShowOnAir(void) u8 countPlayer = 0, countOpponent = 0; s16 sum = 0; u16 species = 0; - u16 moveId = 0; + u16 move = MOVE_NONE; s32 i, j; int zero = 0, one = 1; //needed for matching @@ -722,8 +722,8 @@ void TryPutLinkBattleTvShowOnAir(void) } } - moveId = GetMonData(&gPlayerParty[playerBestMonId], MON_DATA_MOVE1 + i, NULL); - if (playerBestSum == 0 || moveId == 0) + move = GetMonData(&gPlayerParty[playerBestMonId], MON_DATA_MOVE1 + i, NULL); + if (playerBestSum == 0 || move == MOVE_NONE) return; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) @@ -732,12 +732,12 @@ void TryPutLinkBattleTvShowOnAir(void) || (playerBestMonId >= MULTI_PARTY_SIZE && GetLinkTrainerFlankId(gBattleScripting.multiplayerId))) { j = (opponentBestMonId < MULTI_PARTY_SIZE) ? FALSE : TRUE; - PutBattleUpdateOnTheAir(GetOpposingLinkMultiBattlerId(j, gBattleScripting.multiplayerId), moveId, playerBestSpecies, opponentBestSpecies); + PutBattleUpdateOnTheAir(GetOpposingLinkMultiBattlerId(j, gBattleScripting.multiplayerId), move, playerBestSpecies, opponentBestSpecies); } } else { - PutBattleUpdateOnTheAir(gBattleScripting.multiplayerId ^ 1, moveId, playerBestSpecies, opponentBestSpecies); + PutBattleUpdateOnTheAir(gBattleScripting.multiplayerId ^ 1, move, playerBestSpecies, opponentBestSpecies); } } @@ -1288,9 +1288,9 @@ static void TrySetBattleSeminarShow(void) gCurrentMove = currMoveSaved; } -static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride) +static bool8 ShouldCalculateDamage(u16 move, s32 *dmg, u16 *powerOverride) { - if (IsBattleMoveStatus(moveId)) + if (IsBattleMoveStatus(move)) { *dmg = 0; return FALSE; @@ -1300,7 +1300,7 @@ static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride) s32 i = 0; do { - if (moveId == sVariableDmgMoves[i]) + if (move == sVariableDmgMoves[i]) break; i++; } while (sVariableDmgMoves[i] != TABLE_END); @@ -1310,13 +1310,13 @@ static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride) *dmg = 0; return FALSE; } - else if (moveId == MOVE_PSYWAVE) + else if (move == MOVE_PSYWAVE) { *dmg = gBattleMons[gBattlerAttacker].level; *dmg /= 2; return FALSE; } - else if (moveId == MOVE_MAGNITUDE) + else if (move == MOVE_MAGNITUDE) { *powerOverride = 10; return TRUE; @@ -1351,17 +1351,17 @@ void BattleTv_ClearExplosionFaintCause(void) } } -u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId) +u8 GetBattlerMoveSlotId(u8 battler, u16 move) { s32 i; - struct Pokemon *mon = GetBattlerMon(battlerId); + struct Pokemon *mon = GetBattlerMon(battler); i = 0; while (1) { if (i >= MAX_MON_MOVES) break; - if (GetMonData(mon, MON_DATA_MOVE1 + i, NULL) == moveId) + if (GetMonData(mon, MON_DATA_MOVE1 + i, NULL) == move) break; i++; } @@ -1369,14 +1369,14 @@ u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId) return i; } -static void AddPointsBasedOnWeather(u16 weatherFlags, u16 moveId, u8 moveSlot) +static void AddPointsBasedOnWeather(u16 weatherFlags, u16 move, u8 moveSlot) { if (weatherFlags & B_WEATHER_RAIN) - AddMovePoints(PTS_RAIN, moveId, moveSlot, 0); + AddMovePoints(PTS_RAIN, move, moveSlot, 0); else if (weatherFlags & B_WEATHER_SUN) - AddMovePoints(PTS_SUN, moveId, moveSlot, 0); + AddMovePoints(PTS_SUN, move, moveSlot, 0); else if (weatherFlags & B_WEATHER_SANDSTORM) - AddMovePoints(PTS_SANDSTORM, moveId, moveSlot, 0); + AddMovePoints(PTS_SANDSTORM, move, moveSlot, 0); else if (weatherFlags & (B_WEATHER_HAIL | B_WEATHER_SNOW)) - AddMovePoints(PTS_HAIL_SNOW, moveId, moveSlot, 0); + AddMovePoints(PTS_HAIL_SNOW, move, moveSlot, 0); } diff --git a/src/battle_util.c b/src/battle_util.c index 69cbe49b05..a4ad7e018f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1170,7 +1170,7 @@ void PrepareStringBattle(enum StringID stringId, u32 battler) if ((stringId == STRINGID_ITDOESNTAFFECT || stringId == STRINGID_PKMNWASNTAFFECTED || stringId == STRINGID_PKMNUNAFFECTED)) TryInitializeTrainerSlideEnemyMonUnaffected(gBattlerTarget); - BtlController_EmitPrintString(battler, BUFFER_A, stringId); + BtlController_EmitPrintString(battler, B_COMM_TO_CONTROLLER, stringId); MarkBattlerForControllerExec(battler); } @@ -2547,7 +2547,7 @@ u32 AtkCanceller_MoveSuccessOrder(void) if (effect == 2) { - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattlerAttacker].status1); + BtlController_EmitSetMonData(gBattlerAttacker, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattlerAttacker].status1); MarkBattlerForControllerExec(gBattlerAttacker); } @@ -4102,7 +4102,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 if (gBattleMons[battler].status2 & STATUS2_CONFUSION && !(gStatuses4[battler] & STATUS4_INFINITE_CONFUSION)) gBattleMons[battler].status2 -= STATUS2_CONFUSION_TURN(1); - BtlController_EmitSpriteInvisibility(battler, BUFFER_A, TRUE); + BtlController_EmitSpriteInvisibility(battler, B_COMM_TO_CONTROLLER, TRUE); MarkBattlerForControllerExec(battler); BattleScriptPushCursorAndCallback(BattleScript_CommanderActivates); effect++; @@ -4199,7 +4199,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; gBattleScripting.battler = battler; BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates); - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); effect++; } @@ -4306,7 +4306,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 && !gHasFetchedBall) { gBattleScripting.battler = battler; - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedBall); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedBall); MarkBattlerForControllerExec(battler); gHasFetchedBall = TRUE; gLastUsedItem = gLastUsedBall; @@ -5132,7 +5132,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } gBattleScripting.battler = gBattlerAbility = battler; - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); return effect; } @@ -6156,7 +6156,7 @@ static u32 ItemRestorePp(u32 battler, u32 itemId, enum ItemCaseId caseID) BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryPPHealRet; } - BtlController_EmitSetMonData(battler, BUFFER_A, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); MarkBattlerForControllerExec(battler); if (MOVE_IS_PERMANENT(battler, i)) gBattleMons[battler].pp[i] = changedPP; @@ -6823,7 +6823,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) gBattlerAttacker = gPotentialItemEffectBattler = gBattleScripting.battler = battler; if (effect == ITEM_STATUS_CHANGE) { - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); } } @@ -7026,7 +7026,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) gBattlerAttacker = gPotentialItemEffectBattler = gBattleScripting.battler = battler; if (effect == ITEM_STATUS_CHANGE) { - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); } } @@ -7040,7 +7040,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) gPotentialItemEffectBattler = gBattleScripting.battler = battler; if (effect == ITEM_STATUS_CHANGE) { - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); } break; @@ -7056,7 +7056,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) gPotentialItemEffectBattler = gBattleScripting.battler = battler; if (effect == ITEM_STATUS_CHANGE) { - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); } break; @@ -7375,7 +7375,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) if (effect == ITEM_STATUS_CHANGE) { - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); } } diff --git a/src/battle_util2.c b/src/battle_util2.c index 3aae552a5d..fd2312bb5b 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -208,7 +208,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battler) if (effect == 2) { - BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); } diff --git a/src/contest.c b/src/contest.c index f18c6e5ec0..35a28aefb4 100644 --- a/src/contest.c +++ b/src/contest.c @@ -1449,13 +1449,13 @@ static bool8 SetupContestGraphics(u8 *stateVar) CreateApplauseMeterSprite(); CreateJudgeAttentionEyeTask(); CreateUnusedBlendTask(); - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; - gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; + gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT; + gBattlerPositions[B_BATTLER_3] = B_POSITION_PLAYER_RIGHT; gBattleTypeFlags = 0; - gBattlerAttacker = B_POSITION_PLAYER_RIGHT; - gBattlerTarget = B_POSITION_OPPONENT_RIGHT; + gBattlerAttacker = B_BATTLER_2; + gBattlerTarget = B_BATTLER_3; // Unclear why judge sprite is assigned here // Overwritten in APPEALSTATE_SLIDE_MON_IN with the attacking contest mon gBattlerSpriteIds[gBattlerAttacker] = CreateJudgeSprite(); diff --git a/src/contest_ai.c b/src/contest_ai.c index 4386aeee64..77f27fcc91 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -326,8 +326,8 @@ u8 ContestAI_GetActionToUse(void) { // Randomly choose a move index. If it's the move // with the highest (or tied highest) score, return - u8 moveIdx = MOD(Random(), MAX_MON_MOVES); - u8 score = eContestAI.moveScores[moveIdx]; + u8 moveIndex = MOD(Random(), MAX_MON_MOVES); + u8 score = eContestAI.moveScores[moveIndex]; int i; for (i = 0; i < MAX_MON_MOVES; i++) { @@ -335,7 +335,7 @@ u8 ContestAI_GetActionToUse(void) break; } if (i == MAX_MON_MOVES) - return moveIdx; + return moveIndex; } } diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 91163906b9..9f852f631b 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -26665,7 +26665,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_IRON_CROWN #if P_FAMILY_TERAPAGOS - const u32 gMonFrontPic_TerapagosNormal[] = INCBIN_U32("graphics/pokemon/terapagos/anim_front.4bpp.lz"); + const u32 gMonFrontPic_TerapagosNormal[] = INCBIN_U32("graphics/pokemon/terapagos/front.4bpp.lz"); const u16 gMonPalette_TerapagosNormal[] = INCBIN_U16("graphics/pokemon/terapagos/normal.gbapal"); const u32 gMonBackPic_TerapagosNormal[] = INCBIN_U32("graphics/pokemon/terapagos/back.4bpp.lz"); const u16 gMonShinyPalette_TerapagosNormal[] = INCBIN_U16("graphics/pokemon/terapagos/shiny.gbapal"); @@ -26681,7 +26681,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_TerapagosTerastal[] = INCBIN_U32("graphics/pokemon/terapagos/terastal/anim_front.4bpp.lz"); + const u32 gMonFrontPic_TerapagosTerastal[] = INCBIN_U32("graphics/pokemon/terapagos/terastal/front.4bpp.lz"); const u16 gMonPalette_TerapagosTerastal[] = INCBIN_U16("graphics/pokemon/terapagos/terastal/normal.gbapal"); const u32 gMonBackPic_TerapagosTerastal[] = INCBIN_U32("graphics/pokemon/terapagos/terastal/back.4bpp.lz"); const u16 gMonShinyPalette_TerapagosTerastal[] = INCBIN_U16("graphics/pokemon/terapagos/terastal/shiny.gbapal"); diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index 297888d9e5..8495287bf7 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -2817,13 +2817,13 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Hydrapple, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicYOffset = 0, .frontAnimFrames = sAnims_SingleFramePlaceHolder, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, + //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Hydrapple, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, - .backAnimId = BACK_ANIM_NONE, + .backPicYOffset = 2, + //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_Hydrapple, .shinyPalette = gMonShinyPalette_Hydrapple, .iconSprite = gMonIcon_Hydrapple, diff --git a/src/data/pokemon/species_info/gen_9_families.h b/src/data/pokemon/species_info/gen_9_families.h index c13944e406..a7e9b20475 100644 --- a/src/data/pokemon/species_info/gen_9_families.h +++ b/src/data/pokemon/species_info/gen_9_families.h @@ -687,19 +687,19 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_OinkologneM, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 6, + .frontPicYOffset = 7, .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_OinkologneM, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 8, + .backPicYOffset = 12, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_OinkologneM, .shinyPalette = gMonShinyPalette_OinkologneM, .iconSprite = gMonIcon_OinkologneM, .iconPalIndex = 1, .pokemonJumpType = PKMN_JUMP_TYPE_NONE, - SHADOW(-2, 6, SHADOW_SIZE_M) + SHADOW(5, 6, SHADOW_SIZE_M) FOOTPRINT(Oinkologne) OVERWORLD( sPicTable_OinkologneM, @@ -751,19 +751,19 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_OinkologneF, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 6, + .frontPicYOffset = 7, .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_OinkologneF, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 7, + .backPicYOffset = 12, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_OinkologneF, .shinyPalette = gMonShinyPalette_OinkologneF, .iconSprite = gMonIcon_OinkologneF, .iconPalIndex = 0, .pokemonJumpType = PKMN_JUMP_TYPE_NONE, - SHADOW(3, 7, SHADOW_SIZE_M) + SHADOW(5, 6, SHADOW_SIZE_M) FOOTPRINT(Oinkologne) OVERWORLD( sPicTable_OinkologneF, @@ -4003,10 +4003,9 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Bombirdier, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicYOffset = 0, .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .enemyMonElevation = 8, .backPic = gMonBackPic_Bombirdier, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 4, @@ -4016,7 +4015,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .iconSprite = gMonIcon_Bombirdier, .iconPalIndex = 0, .pokemonJumpType = PKMN_JUMP_TYPE_NONE, - SHADOW(1, 18, SHADOW_SIZE_M) + SHADOW(8, 12, SHADOW_SIZE_M) FOOTPRINT(Bombirdier) OVERWORLD( sPicTable_Bombirdier, @@ -7984,20 +7983,19 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 7, .frontPic = gMonFrontPic_TerapagosNormal, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, - .frontAnimFrames = sAnims_TwoFramePlaceHolder, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .enemyMonElevation = 1, + .frontPicYOffset = 10, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, + //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_TerapagosNormal, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, - .backAnimId = BACK_ANIM_NONE, + .backPicYOffset = 9, + //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_TerapagosNormal, .shinyPalette = gMonShinyPalette_TerapagosNormal, .iconSprite = gMonIcon_TerapagosNormal, .iconPalIndex = 0, .pokemonJumpType = PKMN_JUMP_TYPE_NORMAL, - SHADOW(3, 13, SHADOW_SIZE_L) + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(TerapagosNormal) OVERWORLD( sPicTable_TerapagosNormal, @@ -8056,19 +8054,19 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPic = gMonFrontPic_TerapagosTerastal, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_TwoFramePlaceHolder, - .frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .enemyMonElevation = 1, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, + //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, + .enemyMonElevation = 8, .backPic = gMonBackPic_TerapagosTerastal, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, - .backAnimId = BACK_ANIM_NONE, + .backPicYOffset = 11, + //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_TerapagosTerastal, .shinyPalette = gMonShinyPalette_TerapagosTerastal, .iconSprite = gMonIcon_TerapagosTerastal, .iconPalIndex = 0, .pokemonJumpType = PKMN_JUMP_TYPE_NONE, - SHADOW(-4, 4, SHADOW_SIZE_L) + SHADOW(-4, 8, SHADOW_SIZE_L) FOOTPRINT(TerapagosTerastal) OVERWORLD( sPicTable_TerapagosTerastal, diff --git a/src/item_menu.c b/src/item_menu.c index 5ed5e33024..87d0a2e00d 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -2591,7 +2591,7 @@ static void PrepareTMHMMoveWindow(void) static void PrintTMHMMoveData(u16 itemId) { u8 i; - u16 moveId; + u16 move; const u8 *text; FillWindowPixelBuffer(WIN_TMHM_INFO, PIXEL_FILL(0)); @@ -2603,11 +2603,11 @@ static void PrintTMHMMoveData(u16 itemId) } else { - moveId = ItemIdToBattleMoveId(itemId); - BlitMenuInfoIcon(WIN_TMHM_INFO, GetMoveType(moveId) + 1, 0, 0); + move = ItemIdToBattleMoveId(itemId); + BlitMenuInfoIcon(WIN_TMHM_INFO, GetMoveType(move) + 1, 0, 0); // Print TMHM power - u32 power = GetMovePower(moveId); + u32 power = GetMovePower(move); if (power <= 1) { text = gText_ThreeDashes; @@ -2619,7 +2619,7 @@ static void PrintTMHMMoveData(u16 itemId) } BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, text, 7, 12, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO); - u32 accuracy = GetMoveAccuracy(moveId); + u32 accuracy = GetMoveAccuracy(move); // Print TMHM accuracy if (accuracy == 0) { @@ -2633,7 +2633,7 @@ static void PrintTMHMMoveData(u16 itemId) BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, text, 7, 24, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO); // Print TMHM pp - ConvertIntToDecimalStringN(gStringVar1, GetMovePP(moveId), STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar1, GetMovePP(move), STR_CONV_MODE_RIGHT_ALIGN, 3); BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, gStringVar1, 7, 36, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO); CopyWindowToVram(WIN_TMHM_INFO, COPYWIN_GFX); diff --git a/src/move_relearner.c b/src/move_relearner.c index 8ed5e24375..b48d31677a 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -733,10 +733,10 @@ static void DoMoveRelearnerMain(void) } else { - u16 moveId = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_MOVE1 + sMoveRelearnerStruct->moveSlot); + u16 move = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_MOVE1 + sMoveRelearnerStruct->moveSlot); u8 originalPP = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_PP1 + sMoveRelearnerStruct->moveSlot); - StringCopy(gStringVar3, GetMoveName(moveId)); + StringCopy(gStringVar3, GetMoveName(move)); RemoveMonPPBonus(&gPlayerParty[sMoveRelearnerStruct->partyMon], sMoveRelearnerStruct->moveSlot); SetMonMoveSlot(&gPlayerParty[sMoveRelearnerStruct->partyMon], GetCurrentSelectedMove(), sMoveRelearnerStruct->moveSlot); u8 newPP = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_PP1 + sMoveRelearnerStruct->moveSlot); @@ -955,19 +955,19 @@ static void CreateLearnableMovesList(void) sMoveRelearnerStruct->numToShowAtOnce = LoadMoveRelearnerMovesList(sMoveRelearnerStruct->menuItems, sMoveRelearnerStruct->numMenuChoices); } -void MoveRelearnerShowHideHearts(s32 moveId) +void MoveRelearnerShowHideHearts(s32 move) { u16 numHearts; u16 i; - if (!sMoveRelearnerMenuSate.showContestInfo || moveId == LIST_CANCEL) + if (!sMoveRelearnerMenuSate.showContestInfo || move == LIST_CANCEL) { for (i = 0; i < 16; i++) gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = TRUE; } else { - numHearts = (u8)(gContestEffects[GetMoveContestEffect(moveId)].appeal / 10); + numHearts = (u8)(gContestEffects[GetMoveContestEffect(move)].appeal / 10); if (numHearts == 0xFF) numHearts = 0; @@ -981,7 +981,7 @@ void MoveRelearnerShowHideHearts(s32 moveId) gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = FALSE; } - numHearts = (u8)(gContestEffects[GetMoveContestEffect(moveId)].jam / 10); + numHearts = (u8)(gContestEffects[GetMoveContestEffect(move)].jam / 10); if (numHearts == 0xFF) numHearts = 0; diff --git a/src/party_menu.c b/src/party_menu.c index 23f04df2c7..77cc932ad3 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -7401,20 +7401,20 @@ static void BufferBattlePartyOrder(u8 *partyBattleOrder, u8 flankId) partyBattleOrder[i] = (partyIds[0 + (i * 2)] << 4) | partyIds[1 + (i * 2)]; } -void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId) +void BufferBattlePartyCurrentOrderBySide(u8 battler, u8 flankId) { - BufferBattlePartyOrderBySide(gBattleStruct->battlerPartyOrders[battlerId], flankId, battlerId); + BufferBattlePartyOrderBySide(gBattleStruct->battlerPartyOrders[battler], flankId, battler); } // when IsOnPlayerSide(battlerId), this function is identical the one above -static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 battlerId) +static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 battler) { u8 partyIndexes[PARTY_SIZE]; int i, j; u8 leftBattler; u8 rightBattler; - if (IsOnPlayerSide(battlerId)) + if (IsOnPlayerSide(battler)) { leftBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); rightBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); @@ -7473,7 +7473,7 @@ static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 ba partyBattleOrder[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)]; } -void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2) +void SwitchPartyOrderLinkMulti(u8 battler, u8 slot, u8 slot2) { u8 partyIds[PARTY_SIZE]; u8 tempSlot = 0; @@ -7483,7 +7483,7 @@ void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2) if (IsMultiBattle()) { - partyBattleOrder = gBattleStruct->battlerPartyOrders[battlerId]; + partyBattleOrder = gBattleStruct->battlerPartyOrders[battler]; for (i = j = 0; i < PARTY_SIZE / 2; j++, i++) { partyIds[j] = partyBattleOrder[i] >> 4; diff --git a/src/pokeball.c b/src/pokeball.c index 2b893aa060..6136efbb7f 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -44,7 +44,7 @@ static void SpriteCB_TradePokeballEnd(struct Sprite *sprite); static void SpriteCB_HealthboxSlideInDelayed(struct Sprite *sprite); static void SpriteCB_HealthboxSlideIn(struct Sprite *sprite); static void SpriteCB_HitAnimHealthoxEffect(struct Sprite *sprite); -static u16 GetBattlerPokeballItemId(u8 battlerId); +static u16 GetBattlerPokeballItemId(u8 battler); // rom const data @@ -563,7 +563,7 @@ u8 DoPokeballSendOutAnimation(u32 battler, s16 pan, u8 kindOfThrow) static void Task_DoPokeballSendOutAnim(u8 taskId) { - u32 throwCaseId, ballId, battlerId, ballSpriteId; + u32 throwCaseId, ballId, battler, ballSpriteId; bool32 notSendOut = FALSE; u32 throwXoffset = (B_ENEMY_THROW_BALLS >= GEN_6) ? 24 : 0; s32 throwYoffset = (B_ENEMY_THROW_BALLS >= GEN_6) ? -16 : 24; @@ -575,8 +575,8 @@ static void Task_DoPokeballSendOutAnim(u8 taskId) } throwCaseId = gTasks[taskId].tThrowId; - battlerId = gTasks[taskId].tBattler; - ballId = GetBattlerPokeballItemId(battlerId); + battler = gTasks[taskId].tBattler; + ballId = GetBattlerPokeballItemId(battler); LoadBallGfx(ballId); ballSpriteId = CreateSprite(&gBallSpriteTemplates[ballId], 32, 80, 29); gSprites[ballSpriteId].data[0] = 0x80; @@ -586,24 +586,24 @@ static void Task_DoPokeballSendOutAnim(u8 taskId) switch (throwCaseId) { case POKEBALL_PLAYER_SLIDEIN: // don't actually send out, trigger the slide-in animation - gBattlerTarget = battlerId; + gBattlerTarget = battler; gSprites[ballSpriteId].callback = HandleBallAnimEnd; gSprites[ballSpriteId].invisible = TRUE; break; case POKEBALL_PLAYER_SENDOUT: - gBattlerTarget = battlerId; + gBattlerTarget = battler; gSprites[ballSpriteId].x = 24; gSprites[ballSpriteId].y = 68; gSprites[ballSpriteId].callback = SpriteCB_MonSendOut_1; - DoPokeballSendOutSoundEffect(battlerId); + DoPokeballSendOutSoundEffect(battler); break; case POKEBALL_OPPONENT_SENDOUT: - gSprites[ballSpriteId].x = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X) + throwXoffset; - gSprites[ballSpriteId].y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + throwYoffset; - gBattlerTarget = battlerId; + gSprites[ballSpriteId].x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X) + throwXoffset; + gSprites[ballSpriteId].y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + throwYoffset; + gBattlerTarget = battler; gSprites[ballSpriteId].data[0] = 0; gSprites[ballSpriteId].callback = GetOpponentMonSendOutCallback(); - DoPokeballSendOutSoundEffect(battlerId); + DoPokeballSendOutSoundEffect(battler); break; default: gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); @@ -895,7 +895,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) u8 wantedCry = gTasks[taskId].tCryTaskWantedCry; s8 pan = gTasks[taskId].tCryTaskPan; u16 species = gTasks[taskId].tCryTaskSpecies; - u8 battlerId = gTasks[taskId].tCryTaskBattler; + u8 battler = gTasks[taskId].tCryTaskBattler; u8 monSpriteId = gTasks[taskId].tCryTaskMonSpriteId; struct Pokemon *mon = (void *)(u32)((gTasks[taskId].tCryTaskMonPtr1 << 16) | (u16)(gTasks[taskId].tCryTaskMonPtr2)); @@ -912,7 +912,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) PlayCry_ByMode(species, pan, CRY_MODE_NORMAL); else PlayCry_ByMode(species, pan, CRY_MODE_WEAK); - gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry = FALSE; DestroyTask(taskId); break; case 2: @@ -929,7 +929,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) else PlayCry_ReleaseDouble(species, pan, CRY_MODE_WEAK_DOUBLES); - gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry = FALSE; DestroyTask(taskId); } else @@ -969,7 +969,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) else PlayCry_ReleaseDouble(species, pan, CRY_MODE_WEAK); - gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry = FALSE; DestroyTask(taskId); break; } @@ -977,11 +977,11 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite) { - u8 battlerId = sprite->sBattler; + u8 battler = sprite->sBattler; u32 ballId; StartSpriteAnim(sprite, 1); - ballId = GetBattlerPokeballItemId(battlerId); + ballId = GetBattlerPokeballItemId(battler); AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId); sprite->data[0] = LaunchBallFadeMonTask(TRUE, sprite->sBattler, 14, ballId); sprite->callback = HandleBallAnimEnd; @@ -993,13 +993,13 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite) u16 wantedCryCase; u8 taskId; - mon = GetBattlerMon(battlerId); - if (!IsOnPlayerSide(battlerId)) + mon = GetBattlerMon(battler); + if (!IsOnPlayerSide(battler)) pan = 25; else pan = -25; - if ((battlerId == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || battlerId == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + if ((battler == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || battler == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) && IsDoubleBattle() && gBattleSpritesDataPtr->animationData->introAnimActive) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -1015,16 +1015,16 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite) if (!IsDoubleBattle() || !gBattleSpritesDataPtr->animationData->introAnimActive) wantedCryCase = 0; - else if (battlerId == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || battlerId == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + else if (battler == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || battler == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) wantedCryCase = 1; else wantedCryCase = 2; - gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry = TRUE; taskId = CreateTask(Task_PlayCryWhenReleasedFromBall, 3); - illusionMon = GetIllusionMonPtr(battlerId); + illusionMon = GetIllusionMonPtr(battler); if (illusionMon != NULL) gTasks[taskId].tCryTaskSpecies = GetMonData(illusionMon, MON_DATA_SPECIES); else @@ -1032,7 +1032,7 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite) gTasks[taskId].tCryTaskPan = pan; gTasks[taskId].tCryTaskWantedCry = wantedCryCase; - gTasks[taskId].tCryTaskBattler = battlerId; + gTasks[taskId].tCryTaskBattler = battler; gTasks[taskId].tCryTaskMonSpriteId = gBattlerSpriteIds[sprite->sBattler]; gTasks[taskId].tCryTaskMonPtr1 = (u32)(mon) >> 16; gTasks[taskId].tCryTaskMonPtr2 = (u32)(mon); @@ -1072,35 +1072,35 @@ static void SpriteCB_BallThrow_StartCaptureMon(struct Sprite *sprite) static void HandleBallAnimEnd(struct Sprite *sprite) { bool8 affineAnimEnded = FALSE; - u8 battlerId = sprite->sBattler; + u8 battler = sprite->sBattler; if (sprite->data[7] == POKEBALL_PLAYER_SLIDEIN) { - gSprites[gBattlerSpriteIds[sprite->sBattler]].callback = SpriteCB_PlayerMonSlideIn; - AnimateSprite(&gSprites[gBattlerSpriteIds[sprite->sBattler]]); - gSprites[gBattlerSpriteIds[sprite->sBattler]].data[1] = 0x1000; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCB_PlayerMonSlideIn; + AnimateSprite(&gSprites[gBattlerSpriteIds[battler]]); + gSprites[gBattlerSpriteIds[battler]].data[1] = 0x1000; } - gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; + gSprites[gBattlerSpriteIds[battler]].invisible = FALSE; if (sprite->animEnded) sprite->invisible = TRUE; - if (gSprites[gBattlerSpriteIds[battlerId]].affineAnimEnded) + if (gSprites[gBattlerSpriteIds[battler]].affineAnimEnded) { - StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[battlerId]], BATTLER_AFFINE_NORMAL); + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[battler]], BATTLER_AFFINE_NORMAL); affineAnimEnded = TRUE; } else { - gSprites[gBattlerSpriteIds[battlerId]].data[1] -= 288; - gSprites[gBattlerSpriteIds[battlerId]].y2 = gSprites[gBattlerSpriteIds[battlerId]].data[1] >> 8; + gSprites[gBattlerSpriteIds[battler]].data[1] -= 288; + gSprites[gBattlerSpriteIds[battler]].y2 = gSprites[gBattlerSpriteIds[battler]].data[1] >> 8; } if (sprite->animEnded && affineAnimEnded) { s32 i, doneBattlers; - gSprites[gBattlerSpriteIds[battlerId]].y2 = 0; + gSprites[gBattlerSpriteIds[battler]].y2 = 0; gDoingBattleAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[battlerId].ballAnimActive = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive = FALSE; FreeSpriteOamMatrix(sprite); DestroySprite(sprite); @@ -1119,7 +1119,7 @@ static void HandleBallAnimEnd(struct Sprite *sprite) static void SpriteCB_BallThrow_CaptureMon(struct Sprite *sprite) { - u8 battlerId = sprite->sBattler; + u8 battler = sprite->sBattler; sprite->data[4]++; if (sprite->data[4] == 40) @@ -1134,11 +1134,11 @@ static void SpriteCB_BallThrow_CaptureMon(struct Sprite *sprite) } else if (sprite->data[4] == 315) { - FreeOamMatrix(gSprites[gBattlerSpriteIds[sprite->sBattler]].oam.matrixNum); - DestroySprite(&gSprites[gBattlerSpriteIds[sprite->sBattler]]); + FreeOamMatrix(gSprites[gBattlerSpriteIds[battler]].oam.matrixNum); + DestroySprite(&gSprites[gBattlerSpriteIds[battler]]); DestroySpriteAndFreeResources(sprite); if (gMain.inBattle) - gBattleSpritesDataPtr->healthBoxesData[battlerId].ballAnimActive = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive = FALSE; } } @@ -1482,16 +1482,16 @@ static void UNUSED DestroySpriteAndFreeResources_Ball(struct Sprite *sprite) #define sDelayTimer data[1] -void StartHealthboxSlideIn(u8 battlerId) +void StartHealthboxSlideIn(u8 battler) { - struct Sprite *healthboxSprite = &gSprites[gHealthboxSpriteIds[battlerId]]; + struct Sprite *healthboxSprite = &gSprites[gHealthboxSpriteIds[battler]]; healthboxSprite->sSpeedX = 5; healthboxSprite->sSpeedY = 0; healthboxSprite->x2 = 0x73; healthboxSprite->y2 = 0; healthboxSprite->callback = SpriteCB_HealthboxSlideIn; - if (!IsOnPlayerSide(battlerId)) + if (!IsOnPlayerSide(battler)) { healthboxSprite->sSpeedX = -healthboxSprite->sSpeedX; healthboxSprite->sSpeedY = -healthboxSprite->sSpeedY; @@ -1499,7 +1499,7 @@ void StartHealthboxSlideIn(u8 battlerId) healthboxSprite->y2 = -healthboxSprite->y2; } gSprites[healthboxSprite->data[5]].callback(&gSprites[healthboxSprite->data[5]]); - if (GetBattlerPosition(battlerId) == B_POSITION_PLAYER_RIGHT) + if (GetBattlerPosition(battler) == B_POSITION_PLAYER_RIGHT) healthboxSprite->callback = SpriteCB_HealthboxSlideInDelayed; } @@ -1525,13 +1525,13 @@ static void SpriteCB_HealthboxSlideIn(struct Sprite *sprite) #undef sSpeedY #undef sDelayTimer -void DoHitAnimHealthboxEffect(u8 battlerId) +void DoHitAnimHealthboxEffect(u8 battler) { u8 spriteId; spriteId = CreateInvisibleSpriteWithCallback(SpriteCB_HitAnimHealthoxEffect); gSprites[spriteId].data[0] = 1; - gSprites[spriteId].data[1] = gHealthboxSpriteIds[battlerId]; + gSprites[spriteId].data[1] = gHealthboxSpriteIds[battler]; gSprites[spriteId].callback = SpriteCB_HitAnimHealthoxEffect; } @@ -1578,12 +1578,12 @@ void FreeBallGfx(u8 ballId) FreeSpritePaletteByTag(gBallSpritePalettes[ballId].tag); } -static u16 GetBattlerPokeballItemId(u8 battlerId) +static u16 GetBattlerPokeballItemId(u8 battler) { struct Pokemon *illusionMon; - struct Pokemon *mon = GetBattlerMon(battlerId); + struct Pokemon *mon = GetBattlerMon(battler); - illusionMon = GetIllusionMonPtr(battlerId); + illusionMon = GetIllusionMonPtr(battler); if (illusionMon != NULL) mon = illusionMon; diff --git a/src/pokemon.c b/src/pokemon.c index 6b9b06e62c..3f009371cf 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1175,7 +1175,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, isShiny = GET_SHINY_VALUE(value, personality) < SHINY_ODDS; } } - + if (hasFixedPersonality) personality = fixedPersonality; @@ -1624,7 +1624,7 @@ static void CreateEventMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedI } // If FALSE, should load this game's Deoxys form. If TRUE, should load normal Deoxys form -bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) +bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battler) { switch (caseId) { @@ -1636,7 +1636,7 @@ bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) return FALSE; if (!gMain.inBattle) return FALSE; - if (gLinkPlayers[GetMultiplayerId()].id == battlerId) + if (gLinkPlayers[GetMultiplayerId()].id == battler) return FALSE; break; case 2: @@ -1646,7 +1646,7 @@ bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) return FALSE; if (!gMain.inBattle) return FALSE; - if (battlerId == 1 || battlerId == 4 || battlerId == 5) + if (battler == 1 || battler == 4 || battler == 5) return TRUE; return FALSE; case 4: @@ -1658,12 +1658,12 @@ bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (gLinkPlayers[GetMultiplayerId()].id == battlerId) + if (gLinkPlayers[GetMultiplayerId()].id == battler) return FALSE; } else { - if (IsOnPlayerSide(battlerId)) + if (IsOnPlayerSide(battler)) return FALSE; } } @@ -1671,7 +1671,7 @@ bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) { if (!gMain.inBattle) return FALSE; - if (IsOnPlayerSide(battlerId)) + if (IsOnPlayerSide(battler)) return FALSE; } break; @@ -3728,14 +3728,14 @@ void PokemonToBattleMon(struct Pokemon *src, struct BattlePokemon *dst) dst->status2 = 0; } -void CopyPartyMonToBattleData(u32 battlerId, u32 partyIndex) +void CopyPartyMonToBattleData(u32 battler, u32 partyIndex) { - u32 side = GetBattlerSide(battlerId); + u32 side = GetBattlerSide(battler); struct Pokemon *party = GetSideParty(side); - PokemonToBattleMon(&party[partyIndex], &gBattleMons[battlerId]); - gBattleStruct->hpOnSwitchout[side] = gBattleMons[battlerId].hp; - UpdateSentPokesToOpponentValue(battlerId); - ClearTemporarySpeciesSpriteData(battlerId, FALSE, FALSE); + PokemonToBattleMon(&party[partyIndex], &gBattleMons[battler]); + gBattleStruct->hpOnSwitchout[side] = gBattleMons[battler].hp; + UpdateSentPokesToOpponentValue(battler); + ClearTemporarySpeciesSpriteData(battler, FALSE, FALSE); } bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex) @@ -3791,7 +3791,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov u32 temp1, temp2; s8 friendshipChange = 0; u8 holdEffect; - u8 battlerId = MAX_BATTLERS_COUNT; + u8 battler = MAX_BATTLERS_COUNT; u32 friendshipOnly = FALSE; u16 heldItem; u8 effectFlags; @@ -3877,15 +3877,15 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } // Cure status - if ((itemEffect[i] & ITEM3_SLEEP) && HealStatusConditions(mon, STATUS1_SLEEP, battlerId) == 0) + if ((itemEffect[i] & ITEM3_SLEEP) && HealStatusConditions(mon, STATUS1_SLEEP, battler) == 0) retVal = FALSE; - if ((itemEffect[i] & ITEM3_POISON) && HealStatusConditions(mon, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battlerId) == 0) + if ((itemEffect[i] & ITEM3_POISON) && HealStatusConditions(mon, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battler) == 0) retVal = FALSE; - if ((itemEffect[i] & ITEM3_BURN) && HealStatusConditions(mon, STATUS1_BURN, battlerId) == 0) + if ((itemEffect[i] & ITEM3_BURN) && HealStatusConditions(mon, STATUS1_BURN, battler) == 0) retVal = FALSE; - if ((itemEffect[i] & ITEM3_FREEZE) && HealStatusConditions(mon, STATUS1_FREEZE | STATUS1_FROSTBITE, battlerId) == 0) + if ((itemEffect[i] & ITEM3_FREEZE) && HealStatusConditions(mon, STATUS1_FREEZE | STATUS1_FROSTBITE, battler) == 0) retVal = FALSE; - if ((itemEffect[i] & ITEM3_PARALYSIS) && HealStatusConditions(mon, STATUS1_PARALYSIS, battlerId) == 0) + if ((itemEffect[i] & ITEM3_PARALYSIS) && HealStatusConditions(mon, STATUS1_PARALYSIS, battler) == 0) retVal = FALSE; break; @@ -4035,14 +4035,14 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov // Heal PP for all moves for (temp2 = 0; (signed)(temp2) < (signed)(MAX_MON_MOVES); temp2++) { - u16 moveId; + u16 move; dataUnsigned = GetMonData(mon, MON_DATA_PP1 + temp2, NULL); - moveId = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); - if (dataUnsigned != CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) + move = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); + if (dataUnsigned != CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) { dataUnsigned += itemEffect[itemEffectParam]; - if (dataUnsigned > CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) - dataUnsigned = CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2); + if (dataUnsigned > CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) + dataUnsigned = CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2); SetMonData(mon, MON_DATA_PP1 + temp2, &dataUnsigned); retVal = FALSE; } @@ -4052,14 +4052,14 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov else { // Heal PP for one move - u16 moveId; + u16 move; dataUnsigned = GetMonData(mon, MON_DATA_PP1 + moveIndex, NULL); - moveId = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); - if (dataUnsigned != CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) + move = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); + if (dataUnsigned != CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) { dataUnsigned += itemEffect[itemEffectParam++]; - if (dataUnsigned > CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) - dataUnsigned = CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); + if (dataUnsigned > CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) + dataUnsigned = CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); SetMonData(mon, MON_DATA_PP1 + moveIndex, &dataUnsigned); retVal = FALSE; } @@ -4219,7 +4219,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov return retVal; } -bool8 HealStatusConditions(struct Pokemon *mon, u32 healMask, u8 battlerId) +bool8 HealStatusConditions(struct Pokemon *mon, u32 healMask, u8 battler) { u32 status = GetMonData(mon, MON_DATA_STATUS, 0); @@ -4227,13 +4227,13 @@ bool8 HealStatusConditions(struct Pokemon *mon, u32 healMask, u8 battlerId) { status &= ~healMask; SetMonData(mon, MON_DATA_STATUS, &status); - if (gMain.inBattle && battlerId != MAX_BATTLERS_COUNT) + if (gMain.inBattle && battler != MAX_BATTLERS_COUNT) { - gBattleMons[battlerId].status1 &= ~healMask; + gBattleMons[battler].status1 &= ~healMask; if((healMask & STATUS1_SLEEP)) { u32 i = 0; - u32 battlerSide = GetBattlerSide(battlerId); + u32 battlerSide = GetBattlerSide(battler); struct Pokemon *party = GetSideParty(battlerSide); for (i = 0; i < PARTY_SIZE; i++) @@ -4537,7 +4537,7 @@ bool32 DoesMonMeetAdditionalConditions(struct Pokemon *mon, const struct Evoluti case IF_TIME: if (GetTimeOfDay() == params[i].arg1) currentCondition = TRUE; - + break; case IF_NOT_TIME: if (GetTimeOfDay() != params[i].arg1) @@ -4577,8 +4577,8 @@ bool32 DoesMonMeetAdditionalConditions(struct Pokemon *mon, const struct Evoluti currentCondition = TRUE; break; } - case IF_MIN_SMARTNESS: - // remember that even though it's called "Smart/Smartness" here, + case IF_MIN_SMARTNESS: + // remember that even though it's called "Smart/Smartness" here, // from gen 6 and up it's known as "Clever/Cleverness." { u32 smartness = GetMonData(mon, MON_DATA_SMART, 0); @@ -4937,7 +4937,7 @@ u32 GetEvolutionTargetSpecies(struct Pokemon *mon, enum EvolutionMode mode, u16 case EVO_SPIN: if (gSpecialVar_0x8000 == evolutions[i].param) conditionsMet = TRUE; - + break; } @@ -6299,22 +6299,22 @@ void BattleAnimateBackSprite(struct Sprite *sprite, u16 species) static u8 UNUSED GetOwnOpposingLinkMultiBattlerId(bool8 rightSide) { s32 i; - s32 battlerId = 0; + s32 battler = 0; u8 multiplayerId = GetMultiplayerId(); switch (gLinkPlayers[multiplayerId].id) { case 0: case 2: - battlerId = rightSide ? 1 : 3; + battler = rightSide ? 1 : 3; break; case 1: case 3: - battlerId = rightSide ? 2 : 0; + battler = rightSide ? 2 : 0; break; } for (i = 0; i < MAX_LINK_PLAYERS; i++) { - if (gLinkPlayers[i].id == (s16)battlerId) + if (gLinkPlayers[i].id == (s16)battler) break; } return i; @@ -6323,21 +6323,21 @@ static u8 UNUSED GetOwnOpposingLinkMultiBattlerId(bool8 rightSide) u8 GetOpposingLinkMultiBattlerId(bool8 rightSide, u8 multiplayerId) { s32 i; - s32 battlerId = 0; + s32 battler = 0; switch (gLinkPlayers[multiplayerId].id) { case 0: case 2: - battlerId = rightSide ? 1 : 3; + battler = rightSide ? 1 : 3; break; case 1: case 3: - battlerId = rightSide ? 2 : 0; + battler = rightSide ? 2 : 0; break; } for (i = 0; i < MAX_LINK_PLAYERS; i++) { - if (gLinkPlayers[i].id == (s16)battlerId) + if (gLinkPlayers[i].id == (s16)battler) break; } return i; @@ -6371,9 +6371,9 @@ void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality) bool8 HasTwoFramesAnimation(u16 species) { - return P_TWO_FRAME_FRONT_SPRITES - && gSpeciesInfo[species].frontAnimFrames != sAnims_SingleFramePlaceHolder - && species != SPECIES_UNOWN + return P_TWO_FRAME_FRONT_SPRITES + && gSpeciesInfo[species].frontAnimFrames != sAnims_SingleFramePlaceHolder + && species != SPECIES_UNOWN && !gTestRunnerHeadless; } @@ -6813,7 +6813,7 @@ void TrySpecialOverworldEvo(void) EvolutionScene(&gPlayerParty[i], targetSpecies, canStopEvo, i); else BeginEvolutionScene(&gPlayerParty[i], targetSpecies, canStopEvo, i); - + if (tryMultiple) gCB2_AfterEvolution = TrySpecialOverworldEvo; else diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index a2d73af147..48d7f6aa05 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -544,14 +544,14 @@ void StartMonSummaryAnimation(struct Sprite *sprite, u8 frontAnimId) void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimSet) { - u8 nature, taskId, animId, battlerId; + u8 nature, taskId, animId, battler; taskId = CreateTask(Task_HandleMonAnimation, 128); gTasks[taskId].tPtrHi = (u32)(sprite) >> 16; gTasks[taskId].tPtrLo = (u32)(sprite); - battlerId = sprite->data[0]; - nature = GetNature(GetBattlerMon(battlerId)); + battler = sprite->data[0]; + nature = GetNature(GetBattlerMon(battler)); // * 3 below because each back anim has 3 variants depending on nature animId = 3 * backAnimSet + gNaturesInfo[nature].backAnim; diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index b782e3ff9e..6a634e0264 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -9709,9 +9709,9 @@ u32 CountAllStorageMons(void) return count; } -bool32 AnyStorageMonWithMove(u16 moveId) +bool32 AnyStorageMonWithMove(u16 move) { - u16 moves[] = {moveId, MOVES_COUNT}; + u16 moves[] = {move, MOVES_COUNT}; s32 i, j; for (i = 0; i < TOTAL_BOXES_COUNT; i++) diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 693de0eff2..52f9be63b5 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -26,7 +26,7 @@ struct PlayerInfo u32 trainerId; u8 name[PLAYER_NAME_LENGTH + 1]; u8 gender; - u16 battlerId; + u16 battler; u16 language; }; @@ -120,7 +120,7 @@ void RecordedBattle_SetTrainerInfo(void) { sPlayers[i].trainerId = gLinkPlayers[i].trainerId; sPlayers[i].gender = gLinkPlayers[i].gender; - sPlayers[i].battlerId = gLinkPlayers[i].id; + sPlayers[i].battler = gLinkPlayers[i].id; sPlayers[i].language = gLinkPlayers[i].language; // Record names @@ -146,7 +146,7 @@ void RecordedBattle_SetTrainerInfo(void) | (gSaveBlock2Ptr->playerTrainerId[3] << 24); sPlayers[0].gender = gSaveBlock2Ptr->playerGender; - sPlayers[0].battlerId = 0; + sPlayers[0].battler = 0; sPlayers[0].language = gGameLanguage; for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) @@ -154,32 +154,32 @@ void RecordedBattle_SetTrainerInfo(void) } } -void RecordedBattle_SetBattlerAction(u8 battlerId, u8 action) +void RecordedBattle_SetBattlerAction(u8 battler, u8 action) { - if (sBattlerRecordSizes[battlerId] < BATTLER_RECORD_SIZE && sRecordMode != B_RECORD_MODE_PLAYBACK) - sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]++] = action; + if (sBattlerRecordSizes[battler] < BATTLER_RECORD_SIZE && sRecordMode != B_RECORD_MODE_PLAYBACK) + sBattleRecords[battler][sBattlerRecordSizes[battler]++] = action; } -void RecordedBattle_ClearBattlerAction(u8 battlerId, u8 bytesToClear) +void RecordedBattle_ClearBattlerAction(u8 battler, u8 bytesToClear) { s32 i; for (i = 0; i < bytesToClear; i++) { - sBattlerRecordSizes[battlerId]--; - sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]] = 0xFF; - if (sBattlerRecordSizes[battlerId] == 0) + sBattlerRecordSizes[battler]--; + sBattleRecords[battler][sBattlerRecordSizes[battler]] = 0xFF; + if (sBattlerRecordSizes[battler] == 0) break; } } -u8 RecordedBattle_GetBattlerAction(u32 actionType, u8 battlerId) +u8 RecordedBattle_GetBattlerAction(u32 actionType, u8 battler) { if (gTestRunnerEnabled) - TestRunner_Battle_CheckBattleRecordActionType(battlerId, sBattlerRecordSizes[battlerId], actionType); + TestRunner_Battle_CheckBattleRecordActionType(battler, sBattlerRecordSizes[battler], actionType); // Trying to read past array or invalid action byte, battle is over. - if (sBattlerRecordSizes[battlerId] >= BATTLER_RECORD_SIZE || sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]] == 0xFF) + if (sBattlerRecordSizes[battler] >= BATTLER_RECORD_SIZE || sBattleRecords[battler][sBattlerRecordSizes[battler]] == 0xFF) { gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; // hah ResetPaletteFadeControl(); @@ -189,7 +189,7 @@ u8 RecordedBattle_GetBattlerAction(u32 actionType, u8 battlerId) } else { - return sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]++]; + return sBattleRecords[battler][sBattlerRecordSizes[battler]++]; } } @@ -239,11 +239,11 @@ void RecordedBattle_RecordAllBattlerData(u8 *src) { for (size = *src; size != 0;) { - u8 battlerId = GetNextRecordedDataByte(src, &idx, &size); + u8 battler = GetNextRecordedDataByte(src, &idx, &size); u8 numActions = GetNextRecordedDataByte(src, &idx, &size); for (i = 0; i < numActions; i++) - sBattleRecords[battlerId][sBattlerSavedRecordSizes[battlerId]++] = GetNextRecordedDataByte(src, &idx, &size); + sBattleRecords[battler][sBattlerSavedRecordSizes[battler]++] = GetNextRecordedDataByte(src, &idx, &size); } } } @@ -310,7 +310,7 @@ bool32 MoveRecordedBattleToSaveData(void) battleSave->playersName[i][j] = sPlayers[i].name[j]; battleSave->playersGender[i] = sPlayers[i].gender; battleSave->playersLanguage[i] = sPlayers[i].language; - battleSave->playersBattlers[i] = sPlayers[i].battlerId; + battleSave->playersBattlers[i] = sPlayers[i].battler; battleSave->playersTrainerId[i] = sPlayers[i].trainerId; } @@ -329,16 +329,16 @@ bool32 MoveRecordedBattleToSaveData(void) } else if (sBattleFlags & BATTLE_TYPE_MULTI) { - switch (sPlayers[0].battlerId) + switch (sPlayers[0].battler) { case 0: case 2: - if (!(sPlayers[gRecordedBattleMultiplayerId].battlerId & 1)) + if (!(sPlayers[gRecordedBattleMultiplayerId].battler & 1)) battleSave->battleFlags |= BATTLE_TYPE_RECORDED_IS_MASTER; break; case 1: case 3: - if ((sPlayers[gRecordedBattleMultiplayerId].battlerId & 1)) + if ((sPlayers[gRecordedBattleMultiplayerId].battler & 1)) battleSave->battleFlags |= BATTLE_TYPE_RECORDED_IS_MASTER; break; } @@ -683,35 +683,35 @@ void RecordedBattle_CopyBattlerMoves(u32 battler) void RecordedBattle_CheckMovesetChanges(u8 mode) { - s32 battlerId, j, k; + s32 battler, j, k; if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)) return; - for (battlerId = 0; battlerId < gBattlersCount; battlerId++) + for (battler = 0; battler < gBattlersCount; battler++) { // Player's side only - if (IsOnPlayerSide(battlerId)) + if (IsOnPlayerSide(battler)) { if (mode == B_RECORD_MODE_RECORDING) { // Check if any of the battler's moves have changed. for (j = 0; j < MAX_MON_MOVES; j++) { - if (gBattleMons[battlerId].moves[j] != sPlayerMonMoves[battlerId / 2][j]) + if (gBattleMons[battler].moves[j] != sPlayerMonMoves[battler / 2][j]) break; } if (j != MAX_MON_MOVES) { // At least one of the moves has been changed - RecordedBattle_SetBattlerAction(battlerId, ACTION_MOVE_CHANGE); + RecordedBattle_SetBattlerAction(battler, ACTION_MOVE_CHANGE); for (j = 0; j < MAX_MON_MOVES; j++) { for (k = 0; k < MAX_MON_MOVES; k++) { - if (gBattleMons[battlerId].moves[j] == sPlayerMonMoves[battlerId / 2][k]) + if (gBattleMons[battler].moves[j] == sPlayerMonMoves[battler / 2][k]) { - RecordedBattle_SetBattlerAction(battlerId, k); + RecordedBattle_SetBattlerAction(battler, k); break; } } @@ -720,7 +720,7 @@ void RecordedBattle_CheckMovesetChanges(u8 mode) } else // B_RECORD_MODE_PLAYBACK { - if (sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]] == ACTION_MOVE_CHANGE) + if (sBattleRecords[battler][sBattlerRecordSizes[battler]] == ACTION_MOVE_CHANGE) { u8 ppBonuses[MAX_MON_MOVES]; u8 moveSlots[MAX_MON_MOVES]; @@ -730,55 +730,55 @@ void RecordedBattle_CheckMovesetChanges(u8 mode) // We know the current action is ACTION_MOVE_CHANGE, retrieve // it without saving it to move on to the next action. - RecordedBattle_GetBattlerAction(RECORDED_BYTE, battlerId); + RecordedBattle_GetBattlerAction(RECORDED_BYTE, battler); for (j = 0; j < MAX_MON_MOVES; j++) - ppBonuses[j] = ((gBattleMons[battlerId].ppBonuses & (3 << (j << 1))) >> (j << 1)); + ppBonuses[j] = ((gBattleMons[battler].ppBonuses & (3 << (j << 1))) >> (j << 1)); for (j = 0; j < MAX_MON_MOVES; j++) { - moveSlots[j] = RecordedBattle_GetBattlerAction(RECORDED_BYTE, battlerId); - movePp.moves[j] = gBattleMons[battlerId].moves[moveSlots[j]]; - movePp.currentPp[j] = gBattleMons[battlerId].pp[moveSlots[j]]; + moveSlots[j] = RecordedBattle_GetBattlerAction(RECORDED_BYTE, battler); + movePp.moves[j] = gBattleMons[battler].moves[moveSlots[j]]; + movePp.currentPp[j] = gBattleMons[battler].pp[moveSlots[j]]; movePp.maxPp[j] = ppBonuses[moveSlots[j]]; - mimickedMoveSlots[j] = (gDisableStructs[battlerId].mimickedMoves & (1u << j)) >> j; + mimickedMoveSlots[j] = (gDisableStructs[battler].mimickedMoves & (1u << j)) >> j; } for (j = 0; j < MAX_MON_MOVES; j++) { - gBattleMons[battlerId].moves[j] = movePp.moves[j]; - gBattleMons[battlerId].pp[j] = movePp.currentPp[j]; + gBattleMons[battler].moves[j] = movePp.moves[j]; + gBattleMons[battler].pp[j] = movePp.currentPp[j]; } - gBattleMons[battlerId].ppBonuses = 0; - gDisableStructs[battlerId].mimickedMoves = 0; + gBattleMons[battler].ppBonuses = 0; + gDisableStructs[battler].mimickedMoves = 0; for (j = 0; j < MAX_MON_MOVES; j++) { - gBattleMons[battlerId].ppBonuses |= movePp.maxPp[j] << (j << 1); - gDisableStructs[battlerId].mimickedMoves |= mimickedMoveSlots[j] << j; + gBattleMons[battler].ppBonuses |= movePp.maxPp[j] << (j << 1); + gDisableStructs[battler].mimickedMoves |= mimickedMoveSlots[j] << j; } - if (!(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED)) + if (!(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) { for (j = 0; j < MAX_MON_MOVES; j++) - ppBonuses[j] = (GetMonData(GetBattlerMon(battlerId), MON_DATA_PP_BONUSES, NULL) & ((3 << (j << 1)))) >> (j << 1); + ppBonuses[j] = (GetMonData(GetBattlerMon(battler), MON_DATA_PP_BONUSES, NULL) & ((3 << (j << 1)))) >> (j << 1); for (j = 0; j < MAX_MON_MOVES; j++) { - movePp.moves[j] = GetMonData(GetBattlerMon(battlerId), MON_DATA_MOVE1 + moveSlots[j], NULL); - movePp.currentPp[j] = GetMonData(GetBattlerMon(battlerId), MON_DATA_PP1 + moveSlots[j], NULL); + movePp.moves[j] = GetMonData(GetBattlerMon(battler), MON_DATA_MOVE1 + moveSlots[j], NULL); + movePp.currentPp[j] = GetMonData(GetBattlerMon(battler), MON_DATA_PP1 + moveSlots[j], NULL); movePp.maxPp[j] = ppBonuses[moveSlots[j]]; } for (j = 0; j < MAX_MON_MOVES; j++) { - SetMonData(GetBattlerMon(battlerId), MON_DATA_MOVE1 + j, &movePp.moves[j]); - SetMonData(GetBattlerMon(battlerId), MON_DATA_PP1 + j, &movePp.currentPp[j]); + SetMonData(GetBattlerMon(battler), MON_DATA_MOVE1 + j, &movePp.moves[j]); + SetMonData(GetBattlerMon(battler), MON_DATA_PP1 + j, &movePp.currentPp[j]); } ppBonusSet = 0; for (j = 0; j < MAX_MON_MOVES; j++) ppBonusSet |= movePp.maxPp[j] << (j << 1); - SetMonData(GetBattlerMon(battlerId), MON_DATA_PP_BONUSES, &ppBonusSet); + SetMonData(GetBattlerMon(battler), MON_DATA_PP_BONUSES, &ppBonusSet); } - gChosenMoveByBattler[battlerId] = gBattleMons[battlerId].moves[gBattleStruct->chosenMovePositions[battlerId]]; + gChosenMoveByBattler[battler] = gBattleMons[battler].moves[gBattleStruct->chosenMovePositions[battler]]; } } } diff --git a/src/scrcmd.c b/src/scrcmd.c index 3c4307099b..12f768ccf0 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -2170,11 +2170,11 @@ bool8 ScrCmd_bufferdecorationname(struct ScriptContext *ctx) bool8 ScrCmd_buffermovename(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); - u16 moveId = VarGet(ScriptReadHalfword(ctx)); + u16 move = VarGet(ScriptReadHalfword(ctx)); Script_RequestEffects(SCREFF_V1); - StringCopy(sScriptStringVars[stringVarIndex], GetMoveName(moveId)); + StringCopy(sScriptStringVars[stringVarIndex], GetMoveName(move)); return FALSE; } @@ -2282,7 +2282,7 @@ bool8 ScrCmd_setmonmove(struct ScriptContext *ctx) bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx) { u8 i; - u16 moveId = ScriptReadHalfword(ctx); + u16 move = ScriptReadHalfword(ctx); Script_RequestEffects(SCREFF_V1); @@ -2292,7 +2292,7 @@ bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx) u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL); if (!species) break; - if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && MonKnowsMove(&gPlayerParty[i], moveId) == TRUE) + if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && MonKnowsMove(&gPlayerParty[i], move) == TRUE) { gSpecialVar_Result = i; gSpecialVar_0x8004 = species; diff --git a/src/secret_base.c b/src/secret_base.c index d4dc43c5bd..7ec41253c4 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -771,7 +771,7 @@ static u8 GetAverageEVs(struct Pokemon *pokemon) void SetPlayerSecretBaseParty(void) { u16 i; - u16 moveIdx; + u16 moveIndex; u16 partyId; struct SecretBaseParty *party; @@ -781,8 +781,8 @@ void SetPlayerSecretBaseParty(void) { for (i = 0; i < PARTY_SIZE; i++) { - for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++) - party->moves[i * MAX_MON_MOVES + moveIdx] = MOVE_NONE; + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) + party->moves[i * MAX_MON_MOVES + moveIndex] = MOVE_NONE; party->species[i] = SPECIES_NONE; party->heldItems[i] = ITEM_NONE; @@ -793,8 +793,8 @@ void SetPlayerSecretBaseParty(void) if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) { - for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++) - party->moves[partyId * MAX_MON_MOVES + moveIdx] = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + moveIdx); + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) + party->moves[partyId * MAX_MON_MOVES + moveIndex] = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + moveIndex); party->species[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES); party->heldItems[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); diff --git a/src/tv.c b/src/tv.c index 8313ee9bf5..97db1c08ea 100644 --- a/src/tv.c +++ b/src/tv.c @@ -2169,7 +2169,7 @@ void TryPutLotteryWinnerReportOnAir(void) } } -void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u16 betterMove) +void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIndex, const u16 *movePtr, u16 betterMove) { TVShow *show; u8 i; @@ -2184,10 +2184,10 @@ void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIdx, const u16 StringCopy(show->battleSeminar.playerName, gSaveBlock2Ptr->playerName); show->battleSeminar.foeSpecies = foeSpecies; show->battleSeminar.species = species; - show->battleSeminar.move = movePtr[moveIdx]; + show->battleSeminar.move = movePtr[moveIndex]; for (i = 0, j = 0; i < MAX_MON_MOVES; i++) { - if (i != moveIdx && movePtr[i]) + if (i != moveIndex && movePtr[i]) { show->battleSeminar.otherMoves[j] = movePtr[i]; j++;