Synced src/battle_script_commands.c

This commit is contained in:
Eduardo Quezada
2022-07-29 09:42:03 -04:00
parent 0709da5867
commit 7f53f533bb
90 changed files with 2734 additions and 2058 deletions
+7 -7
View File
@@ -1259,8 +1259,8 @@
various \battler, VARIOUS_GET_MOVE_TARGET various \battler, VARIOUS_GET_MOVE_TARGET
.endm .endm
.macro various4 battler:req .macro getbattlerfainted battler:req
various \battler, 4 various \battler, VARIOUS_GET_BATTLER_FAINTED
.endm .endm
.macro resetintimidatetracebits battler:req .macro resetintimidatetracebits battler:req
@@ -1271,8 +1271,8 @@
various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
.endm .endm
.macro various7 battler:req .macro resetplayerfainted battler:req
various \battler, 7 various \battler, VARIOUS_RESET_PLAYER_FAINTED
.endm .endm
.macro various8 battler:req .macro various8 battler:req
@@ -1288,11 +1288,11 @@
.endm .endm
.macro checkpokeflute battler:req .macro checkpokeflute battler:req
various \battler, 11 various \battler, VARIOUS_CHECK_POKEFLUTE
.endm .endm
.macro waitfanfare battler:req .macro waitfanfare battler:req
various \battler, 12 various \battler, VARIOUS_WAIT_FANFARE
.endm .endm
@ helpful macros @ helpful macros
@@ -1301,7 +1301,7 @@
.endm .endm
.macro setmoveeffect effect:req .macro setmoveeffect effect:req
setbyte cEFFECT_CHOOSER \effect setbyte cEFFECT_CHOOSER, \effect
.endm .endm
.macro chosenstatus1animation battler:req, status:req .macro chosenstatus1animation battler:req, status:req
+2 -2
View File
@@ -427,7 +427,7 @@ HIGHLIGHT = FC 02 @ same as fc 01
SHADOW = FC 03 @ same as fc 01 SHADOW = FC 03 @ same as fc 01
COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes
PALETTE = FC 05 @ used in credits PALETTE = FC 05 @ used in credits
SIZE = FC 06 @ note that anything other than "SMALL" is invalid SIZE = FC 06 @ note that anything other than "FONT_SMALL" is invalid
RESET_SIZE = FC 07 RESET_SIZE = FC 07
PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them
PAUSE_UNTIL_PRESS = FC 09 PAUSE_UNTIL_PRESS = FC 09
@@ -449,7 +449,7 @@ RESUME_MUSIC = FC 18
@ font sizes @ font sizes
SMALL = FC 06 00 FONT_SMALL = FC 06 00
BIG = FC 06 04 BIG = FC 06 04
@ colors @ colors
+2 -2
View File
@@ -737,7 +737,7 @@ AI_CheckViability::
if_effect EFFECT_PSYCH_UP, AI_CV_PsychUp if_effect EFFECT_PSYCH_UP, AI_CV_PsychUp
if_effect EFFECT_MIRROR_COAT, AI_CV_MirrorCoat if_effect EFFECT_MIRROR_COAT, AI_CV_MirrorCoat
if_effect EFFECT_SKULL_BASH, AI_CV_ChargeUpMove if_effect EFFECT_SKULL_BASH, AI_CV_ChargeUpMove
if_effect EFFECT_SOLARBEAM, AI_CV_ChargeUpMove if_effect EFFECT_SOLAR_BEAM, AI_CV_ChargeUpMove
if_effect EFFECT_SEMI_INVULNERABLE, AI_CV_SemiInvulnerable if_effect EFFECT_SEMI_INVULNERABLE, AI_CV_SemiInvulnerable
if_effect EFFECT_SOFTBOILED, AI_CV_Heal if_effect EFFECT_SOFTBOILED, AI_CV_Heal
if_effect EFFECT_FAKE_OUT, AI_CV_FakeOut if_effect EFFECT_FAKE_OUT, AI_CV_FakeOut
@@ -3097,7 +3097,7 @@ AI_HPAware_DiscouragedEffectsWhenLowHP::
.byte EFFECT_BELLY_DRUM .byte EFFECT_BELLY_DRUM
.byte EFFECT_PSYCH_UP .byte EFFECT_PSYCH_UP
.byte EFFECT_MIRROR_COAT .byte EFFECT_MIRROR_COAT
.byte EFFECT_SOLARBEAM .byte EFFECT_SOLAR_BEAM
.byte EFFECT_ERUPTION .byte EFFECT_ERUPTION
.byte EFFECT_TICKLE .byte EFFECT_TICKLE
.byte EFFECT_COSMIC_POWER .byte EFFECT_COSMIC_POWER
+32 -32
View File
@@ -5591,46 +5591,46 @@ SolarBeamAbsorbEffect::
return return
SolarBeamUnleash:: SolarBeamUnleash::
call SetSolarbeamBg call SetSolarBeamBg
panse_1B SE_M_SOLAR_BEAM, 192, 63, 2, 0 panse_1B SE_M_SOLAR_BEAM, 192, 63, 2, 0
createvisualtask AnimTask_CreateSmallSolarbeamOrbs, 5, createvisualtask AnimTask_CreateSmallSolarBeamOrbs, 5,
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 0 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 0
delay 4 delay 4
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 1 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 1
delay 4 delay 4
createvisualtask AnimTask_BlendSelected, 10, 4, 1, 0, 10, RGB(25, 31, 0) createvisualtask AnimTask_BlendSelected, 10, 4, 1, 0, 10, RGB(25, 31, 0)
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 2 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 2
delay 4 delay 4
createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 65, 1 createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 65, 1
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 3 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 3
delay 4 delay 4
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 4 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 4
delay 4 delay 4
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 5 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 5
delay 4 delay 4
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 6 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 6
delay 4 delay 4
call SolarBeamUnleash1 call SolarBeamUnleash1
call SolarBeamUnleash1 call SolarBeamUnleash1
waitforvisualfinish waitforvisualfinish
createvisualtask AnimTask_BlendSelected, 10, 4, 1, 10, 0, RGB(25, 31, 0) createvisualtask AnimTask_BlendSelected, 10, 4, 1, 10, 0, RGB(25, 31, 0)
call UnsetSolarbeamBg call UnsetSolarBeamBg
goto SolarBeamEnd goto SolarBeamEnd
SolarBeamUnleash1:: SolarBeamUnleash1::
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 0 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 0
delay 4 delay 4
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 1 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 1
delay 4 delay 4
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 2 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 2
delay 4 delay 4
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 3 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 3
delay 4 delay 4
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 4 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 4
delay 4 delay 4
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 5 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 5
delay 4 delay 4
createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 6 createsprite gSolarBeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 6
delay 4 delay 4
return return
@@ -10407,29 +10407,29 @@ UnsetSkyBg::
waitbgfadein waitbgfadein
return return
SetSolarbeamBg:: SetSolarBeamBg::
createvisualtask AnimTask_IsContest, 2, createvisualtask AnimTask_IsContest, 2,
jumpargeq 7, 1, SetSolarbeamBgContest jumpargeq 7, 1, SetSolarBeamBgContest
createvisualtask AnimTask_IsTargetPlayerSide, 2, createvisualtask AnimTask_IsTargetPlayerSide, 2,
jumpargeq 7, 0, SetSolarbeamBgOpponent jumpargeq 7, 0, SetSolarBeamBgOpponent
goto SetSolarbeamBgPlayer goto SetSolarBeamBgPlayer
SetSolarbeamBgContinue:: SetSolarBeamBgContinue::
waitbgfadein waitbgfadein
return return
SetSolarbeamBgContest:: SetSolarBeamBgContest::
fadetobg BG_SOLARBEAM_CONTESTS fadetobg BG_SOLAR_BEAM_CONTESTS
goto SetSolarbeamBgContinue goto SetSolarBeamBgContinue
SetSolarbeamBgPlayer:: SetSolarBeamBgPlayer::
fadetobg BG_SOLARBEAM_PLAYER fadetobg BG_SOLAR_BEAM_PLAYER
goto SetSolarbeamBgContinue goto SetSolarBeamBgContinue
SetSolarbeamBgOpponent:: SetSolarBeamBgOpponent::
fadetobg BG_SOLARBEAM_OPPONENT fadetobg BG_SOLAR_BEAM_OPPONENT
goto SetSolarbeamBgContinue goto SetSolarBeamBgContinue
UnsetSolarbeamBg:: UnsetSolarBeamBg::
restorebg restorebg
waitbgfadein waitbgfadein
return return
+17 -17
View File
@@ -171,7 +171,7 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectFutureSight .4byte BattleScript_EffectFutureSight
.4byte BattleScript_EffectGust .4byte BattleScript_EffectGust
.4byte BattleScript_EffectFlinchMinimizeHit .4byte BattleScript_EffectFlinchMinimizeHit
.4byte BattleScript_EffectSolarbeam .4byte BattleScript_EffectSolarBeam
.4byte BattleScript_EffectThunder .4byte BattleScript_EffectThunder
.4byte BattleScript_EffectTeleport .4byte BattleScript_EffectTeleport
.4byte BattleScript_EffectBeatUp .4byte BattleScript_EffectBeatUp
@@ -1703,7 +1703,7 @@ BattleScript_EffectBatonPass::
attackcanceler attackcanceler
attackstring attackstring
ppreduce ppreduce
jumpifcantswitch BS_ATTACKER | ATK4F_DONT_CHECK_STATUSES, BattleScript_ButItFailed jumpifcantswitch BS_ATTACKER | SWITCH_IGNORE_ESCAPE_PREVENTION, BattleScript_ButItFailed
attackanimation attackanimation
waitanimation waitanimation
openpartyscreen BS_ATTACKER, BattleScript_ButItFailed openpartyscreen BS_ATTACKER, BattleScript_ButItFailed
@@ -1908,18 +1908,18 @@ BattleScript_EffectFlinchMinimizeHit::
setbyte sDMG_MULTIPLIER, 2 setbyte sDMG_MULTIPLIER, 2
goto BattleScript_FlinchEffect goto BattleScript_FlinchEffect
BattleScript_EffectSolarbeam:: BattleScript_EffectSolarBeam::
jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_SolarbeamDecideTurn jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_SolarBeamDecideTurn
jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_SolarbeamDecideTurn jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_SolarBeamDecideTurn
jumpifhalfword CMP_COMMON_BITS, gBattleWeather, 96, BattleScript_SolarbeamOnFirstTurn jumpifhalfword CMP_COMMON_BITS, gBattleWeather, 96, BattleScript_SolarBeamOnFirstTurn
BattleScript_SolarbeamDecideTurn:: BattleScript_SolarBeamDecideTurn::
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
setbyte sTWOTURN_STRINGID, 1 setbyte sTWOTURN_STRINGID, 1
call BattleScriptFirstChargingTurn call BattleScriptFirstChargingTurn
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_SolarbeamOnFirstTurn:: BattleScript_SolarBeamOnFirstTurn::
orword gHitMarker, HITMARKER_CHARGING orword gHitMarker, HITMARKER_CHARGING
setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER
seteffectprimary seteffectprimary
@@ -2862,7 +2862,7 @@ BattleScript_FaintedMonTryChooseAnother::
yesnobox yesnobox
jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 1, BattleScript_FaintedMonChooseAnother jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 1, BattleScript_FaintedMonChooseAnother
setatktoplayer0 setatktoplayer0
openpartyscreen BS_ATTACKER | OPEN_PARTY_ALLOW_CANCEL, BattleScript_FaintedMonChooseAnother openpartyscreen BS_ATTACKER | PARTY_SCREEN_OPTIONAL, BattleScript_FaintedMonChooseAnother
switchhandleorder BS_ATTACKER, 2 switchhandleorder BS_ATTACKER, 2
jumpifbyte CMP_EQUAL, gBattleCommunication, 6, BattleScript_FaintedMonChooseAnother jumpifbyte CMP_EQUAL, gBattleCommunication, 6, BattleScript_FaintedMonChooseAnother
atknameinbuff1 atknameinbuff1
@@ -2892,7 +2892,7 @@ BattleScript_FaintedMonChooseAnother::
hidepartystatussummary BS_FAINTED hidepartystatussummary BS_FAINTED
switchinanim BS_FAINTED, 0 switchinanim BS_FAINTED, 0
waitstate waitstate
various7 BS_ATTACKER resetplayerfainted BS_ATTACKER
switchineffects BS_FAINTED switchineffects BS_FAINTED
jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonEnd jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonEnd
cancelallactions cancelallactions
@@ -2900,10 +2900,10 @@ BattleScript_FaintedMonEnd::
end2 end2
BattleScript_LinkBattleHandleFaint:: BattleScript_LinkBattleHandleFaint::
openpartyscreen BS_UNKNOWN_5, BattleScript_LinkBattleHandleFaintStart openpartyscreen BS_FAINTED_LINK_MULTIPLE_1, BattleScript_LinkBattleHandleFaintStart
BattleScript_LinkBattleHandleFaintStart:: BattleScript_LinkBattleHandleFaintStart::
switchhandleorder BS_FAINTED, 0 switchhandleorder BS_FAINTED, 0
openpartyscreen BS_UNKNOWN_6, BattleScript_LinkBattleFaintedMonEnd openpartyscreen BS_FAINTED_LINK_MULTIPLE_2, BattleScript_LinkBattleFaintedMonEnd
switchhandleorder BS_FAINTED, 0 switchhandleorder BS_FAINTED, 0
BattleScript_LinkBattleFaintedMonLoop:: BattleScript_LinkBattleFaintedMonLoop::
switchhandleorder BS_FAINTED, 2 switchhandleorder BS_FAINTED, 2
@@ -3112,7 +3112,7 @@ BattleScript_PursuitDmgOnSwitchOut::
waitmessage 0x40 waitmessage 0x40
tryfaintmon BS_TARGET, 0, NULL tryfaintmon BS_TARGET, 0, NULL
moveendfromto 3, 6 moveendfromto 3, 6
various4 BS_TARGET getbattlerfainted BS_TARGET
jumpifbyte CMP_EQUAL, gBattleCommunication, 0, BattleScript_PursuitSwitchRivalSkip jumpifbyte CMP_EQUAL, gBattleCommunication, 0, BattleScript_PursuitSwitchRivalSkip
setbyte sGIVEEXP_STATE, 0 setbyte sGIVEEXP_STATE, 0
getexp BS_TARGET getexp BS_TARGET
@@ -3182,7 +3182,7 @@ BattleScript_DamagingWeatherLoop::
jumpifword CMP_EQUAL, gBattleMoveDamage, NULL, BattleScript_DamagingWeatherContinuesEnd jumpifword CMP_EQUAL, gBattleMoveDamage, NULL, BattleScript_DamagingWeatherContinuesEnd
printfromtable gSandstormHailDmgStringIds printfromtable gSandstormHailDmgStringIds
waitmessage 0x40 waitmessage 0x40
orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE
effectivenesssound effectivenesssound
hitanimation BS_ATTACKER hitanimation BS_ATTACKER
healthbarupdate BS_ATTACKER healthbarupdate BS_ATTACKER
@@ -3194,7 +3194,7 @@ BattleScript_DamagingWeatherContinuesEnd::
addbyte gBattleCommunication, 1 addbyte gBattleCommunication, 1
jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_DamagingWeatherLoop jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_DamagingWeatherLoop
BattleScript_WeatherDamageEndedBattle:: BattleScript_WeatherDamageEndedBattle::
bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE bicword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_GRUDGE
end2 end2
BattleScript_SandStormHailEnds:: BattleScript_SandStormHailEnds::
@@ -3678,7 +3678,7 @@ BattleScript_MoveUsedIsAsleep::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_MoveUsedWokeUp:: BattleScript_MoveUsedWokeUp::
bicword gHitMarker, HITMARKER_x10 bicword gHitMarker, HITMARKER_WAKE_UP_CLEAR
printfromtable gWokeUpStringIds printfromtable gWokeUpStringIds
waitmessage 0x40 waitmessage 0x40
updatestatusicon BS_ATTACKER updatestatusicon BS_ATTACKER
@@ -4355,7 +4355,7 @@ BattleScript_SelectingNotAllowedMoveChoiceItem::
printselectionstring STRINGID_ITEMALLOWSONLYYMOVE printselectionstring STRINGID_ITEMALLOWSONLYYMOVE
endselectionscript endselectionscript
BattleScript_HangedOnMsg:: BattleScript_FocusBandActivates::
playanimation BS_TARGET, B_ANIM_HANGED_ON, NULL playanimation BS_TARGET, B_ANIM_HANGED_ON, NULL
printstring STRINGID_PKMNHUNGONWITHX printstring STRINGID_PKMNHUNGONWITHX
waitmessage 0x40 waitmessage 0x40

Before

Width:  |  Height:  |  Size: 218 B

After

Width:  |  Height:  |  Size: 218 B

+1 -1
View File
@@ -153,7 +153,7 @@ $(UNUSEDGFXDIR)/color_frames.4bpp: %.4bpp: %.png
$(BATINTGFXDIR)/unused_window2bar.4bpp: %.4bpp: %.png $(BATINTGFXDIR)/unused_window2bar.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 5 $(GFX) $< $@ -num_tiles 5
$(BATINTGFXDIR)/unk_battlebox.4bpp: %.4bpp: %.png $(BATINTGFXDIR)/level_up_banner.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 36 $(GFX) $< $@ -num_tiles 36
$(BATINTGFXDIR)/window.gbapal: $(BATINTGFXDIR)/window1.gbapal $(BATINTGFXDIR)/window2.gbapal $(BATINTGFXDIR)/window.gbapal: $(BATINTGFXDIR)/window1.gbapal $(BATINTGFXDIR)/window2.gbapal
+33 -28
View File
@@ -4,6 +4,7 @@
#include <limits.h> #include <limits.h>
#include "global.h" #include "global.h"
#include "constants/battle.h" #include "constants/battle.h"
#include "constants/battle_script_commands.h"
#include "battle_util.h" #include "battle_util.h"
#include "battle_script_commands.h" #include "battle_script_commands.h"
#include "battle_main.h" #include "battle_main.h"
@@ -23,18 +24,25 @@
#define GET_BATTLER_SIDE(battler)((GetBattlerPosition(battler) & BIT_SIDE)) #define GET_BATTLER_SIDE(battler)((GetBattlerPosition(battler) & BIT_SIDE))
#define GET_BATTLER_SIDE2(battler)((GET_BATTLER_POSITION(battler) & BIT_SIDE)) #define GET_BATTLER_SIDE2(battler)((GET_BATTLER_POSITION(battler) & BIT_SIDE))
// Used to exclude moves learned temporarily by Transform or Mimic
#define MOVE_IS_PERMANENT(battler, moveSlot) \
(!(gBattleMons[battler].status2 & STATUS2_TRANSFORMED) \
&& !(gDisableStructs[battler].mimickedMoves & gBitTable[moveSlot]))
#define TRAINER_OPPONENT_3FE 0x3FE #define TRAINER_OPPONENT_3FE 0x3FE
#define TRAINER_OPPONENT_C00 0xC00 #define TRAINER_OPPONENT_C00 0xC00
#define TRAINER_LINK_OPPONENT 0x800 #define TRAINER_LINK_OPPONENT 0x800
#define SECRET_BASE_OPPONENT 0x400 #define SECRET_BASE_OPPONENT 0x400
// Battle Actions
// These determine what each battler will do in a turn
#define B_ACTION_USE_MOVE 0 #define B_ACTION_USE_MOVE 0
#define B_ACTION_USE_ITEM 1 #define B_ACTION_USE_ITEM 1
#define B_ACTION_SWITCH 2 #define B_ACTION_SWITCH 2
#define B_ACTION_RUN 3 #define B_ACTION_RUN 3
#define B_ACTION_SAFARI_WATCH_CAREFULLY 4 #define B_ACTION_SAFARI_WATCH_CAREFULLY 4
#define B_ACTION_SAFARI_BALL 5 #define B_ACTION_SAFARI_BALL 5
#define B_ACTION_SAFARI_BAIT 6 #define B_ACTION_SAFARI_BAIT 6
#define B_ACTION_SAFARI_GO_NEAR 7 #define B_ACTION_SAFARI_GO_NEAR 7
#define B_ACTION_SAFARI_RUN 8 #define B_ACTION_SAFARI_RUN 8
#define B_ACTION_OLDMAN_THROW 9 #define B_ACTION_OLDMAN_THROW 9
@@ -47,26 +55,17 @@
#define MAX_TRAINER_ITEMS 4 #define MAX_TRAINER_ITEMS 4
// array entries for battle communication #define MOVE_TARGET_SELECTED 0
#define MULTIUSE_STATE 0x0 #define MOVE_TARGET_DEPENDS (1 << 0)
#define CURSOR_POSITION 0x1 #define MOVE_TARGET_USER_OR_SELECTED (1 << 1)
#define TASK_ID 0x1 // task Id and cursor position share the same field #define MOVE_TARGET_RANDOM (1 << 2)
#define SPRITES_INIT_STATE1 0x1 // shares the Id as well #define MOVE_TARGET_BOTH (1 << 3)
#define SPRITES_INIT_STATE2 0x2 #define MOVE_TARGET_USER (1 << 4)
#define MOVE_EFFECT_BYTE 0x3 #define MOVE_TARGET_FOES_AND_ALLY (1 << 5)
#define ACTIONS_CONFIRMED_COUNT 0x4 #define MOVE_TARGET_OPPONENTS_FIELD (1 << 6)
#define MULTISTRING_CHOOSER 0x5
#define MSG_DISPLAY 0x7
#define BATTLE_COMMUNICATION_ENTRIES_COUNT 0x8
#define MOVE_TARGET_SELECTED 0x0 // For the second argument of GetMoveTarget, when no target override is needed
#define MOVE_TARGET_DEPENDS 0x1 #define NO_TARGET_OVERRIDE 0
#define MOVE_TARGET_USER_OR_SELECTED 0x2
#define MOVE_TARGET_RANDOM 0x4
#define MOVE_TARGET_BOTH 0x8
#define MOVE_TARGET_USER 0x10
#define MOVE_TARGET_FOES_AND_ALLY 0x20
#define MOVE_TARGET_OPPONENTS_FIELD 0x40
struct TrainerMonNoItemDefaultMoves struct TrainerMonNoItemDefaultMoves
{ {
@@ -159,7 +158,7 @@ struct DisableStruct
/*0x16*/ u8 isFirstTurn; /*0x16*/ u8 isFirstTurn;
/*0x17*/ u8 unk17; /*0x17*/ u8 unk17;
/*0x18*/ u8 truantCounter : 1; /*0x18*/ u8 truantCounter : 1;
/*0x18*/ u8 truantSwitchInHack : 1; // unused? /*0x18*/ u8 truantSwitchInHack : 1; // Unused here, but used in pokeemerald
/*0x18*/ u8 unk18_a_2 : 2; /*0x18*/ u8 unk18_a_2 : 2;
/*0x18*/ u8 mimickedMoves : 4; /*0x18*/ u8 mimickedMoves : 4;
/*0x19*/ u8 rechargeTimer; /*0x19*/ u8 rechargeTimer;
@@ -455,17 +454,23 @@ struct BattleStruct
extern struct BattleStruct *gBattleStruct; extern struct BattleStruct *gBattleStruct;
#define GET_MOVE_TYPE(move, typeArg) \ #define F_DYNAMIC_TYPE_1 (1 << 6)
{ \ #define F_DYNAMIC_TYPE_2 (1 << 7)
if (gBattleStruct->dynamicMoveType) \ #define DYNAMIC_TYPE_MASK (F_DYNAMIC_TYPE_1 - 1)
typeArg = gBattleStruct->dynamicMoveType & 0x3F; \
else \ #define GET_MOVE_TYPE(move, typeArg) \
typeArg = gBattleMoves[move].type; \ { \
if (gBattleStruct->dynamicMoveType) \
typeArg = gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK; \
else \
typeArg = gBattleMoves[move].type; \
} }
#define IS_TYPE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY) #define IS_TYPE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY)
#define IS_TYPE_SPECIAL(moveType)(moveType > TYPE_MYSTERY) #define IS_TYPE_SPECIAL(moveType)(moveType > TYPE_MYSTERY)
#define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0)) #define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0))
#define IS_BATTLER_OF_TYPE(battlerId, type)((gBattleMons[battlerId].type1 == type || gBattleMons[battlerId].type2 == type)) #define IS_BATTLER_OF_TYPE(battlerId, type)((gBattleMons[battlerId].type1 == type || gBattleMons[battlerId].type2 == type))
#define SET_BATTLER_TYPE(battlerId, type) \ #define SET_BATTLER_TYPE(battlerId, type) \
{ \ { \
@@ -504,7 +509,7 @@ struct BattleScripting
u8 battleStyle; u8 battleStyle;
u8 drawlvlupboxState; u8 drawlvlupboxState;
u8 learnMoveState; u8 learnMoveState;
u8 field_20; u8 pursuitDoublesAttacker;
u8 reshowMainState; u8 reshowMainState;
u8 reshowHelperState; u8 reshowHelperState;
u8 field_23; u8 field_23;
+2 -2
View File
@@ -165,8 +165,8 @@ extern const union AnimCmd *const gMusicNotesAnimTable[];
extern const struct SpriteTemplate gThoughtBubbleSpriteTemplate; extern const struct SpriteTemplate gThoughtBubbleSpriteTemplate;
void AnimMovePowderParticle(struct Sprite *); void AnimMovePowderParticle(struct Sprite *);
void AnimPowerAbsorptionOrb(struct Sprite *); void AnimPowerAbsorptionOrb(struct Sprite *);
void AnimSolarbeamBigOrb(struct Sprite *); void AnimSolarBeamBigOrb(struct Sprite *);
void AnimSolarbeamSmallOrb(struct Sprite *); void AnimSolarBeamSmallOrb(struct Sprite *);
void AnimAbsorptionOrb(struct Sprite *); void AnimAbsorptionOrb(struct Sprite *);
void AnimHyperBeamOrb(struct Sprite *); void AnimHyperBeamOrb(struct Sprite *);
void AnimSporeParticle(struct Sprite *); void AnimSporeParticle(struct Sprite *);
+11 -13
View File
@@ -3,23 +3,21 @@
#include "global.h" #include "global.h"
#define STAT_CHANGE_WORKED 0 // Arguments for 'flags' in HandleBattleWindow
#define STAT_CHANGE_DIDNT_WORK 1 #define WINDOW_CLEAR (1 << 0)
#define WINDOW_BG1 (1 << 7)
#define WINDOW_CLEAR 0x1
#define WINDOW_x80 0x80
void SetMoveEffect(bool8 primary, u8 certain);
bool8 UproarWakeUpCheck(u8 battlerId);
u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility);
u8 TypeCalc(u16 move, u8 attacker, u8 defender);
void AI_CalcDmg(u8 attacker, u8 defender); void AI_CalcDmg(u8 attacker, u8 defender);
bool32 IsMonGettingExpSentOut(void); u8 TypeCalc(u16 move, u8 attacker, u8 defender);
void BattleCreateYesNoCursorAt(void); u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility);
void BattleDestroyYesNoCursorAt(void);
void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags);
u8 GetBattlerTurnOrderNum(u8 battlerId); u8 GetBattlerTurnOrderNum(u8 battlerId);
void SetMoveEffect(bool8 primary, u8 certain);
bool32 IsMonGettingExpSentOut(void);
void BattleDestroyYesNoCursorAt(void);
void BattleCreateYesNoCursorAt(void);
void BufferMoveToLearnIntoBattleTextBuff2(void); void BufferMoveToLearnIntoBattleTextBuff2(void);
void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags);
bool8 UproarWakeUpCheck(u8 battlerId);
extern void (* const gBattleScriptingCommandsTable[])(void); extern void (* const gBattleScriptingCommandsTable[])(void);
+1 -1
View File
@@ -197,7 +197,7 @@ extern const u8 BattleScript_BerryPPHealEnd2[];
extern const u8 BattleScript_ItemHealHP_End2[]; extern const u8 BattleScript_ItemHealHP_End2[];
extern const u8 BattleScript_ItemHealHP_Ret[]; extern const u8 BattleScript_ItemHealHP_Ret[];
extern const u8 BattleScript_SelectingNotAllowedMoveChoiceItem[]; extern const u8 BattleScript_SelectingNotAllowedMoveChoiceItem[];
extern const u8 BattleScript_HangedOnMsg[]; extern const u8 BattleScript_FocusBandActivates[];
extern const u8 BattleScript_BerryConfuseHealEnd2[]; extern const u8 BattleScript_BerryConfuseHealEnd2[];
extern const u8 BattleScript_BerryStatRaiseEnd2[]; extern const u8 BattleScript_BerryStatRaiseEnd2[];
extern const u8 BattleScript_BerryFocusEnergyEnd2[]; extern const u8 BattleScript_BerryFocusEnergyEnd2[];
+203 -5
View File
@@ -211,10 +211,10 @@
#define STRINGID_STATROSE 210 #define STRINGID_STATROSE 210
#define STRINGID_STATHARSHLY 211 #define STRINGID_STATHARSHLY 211
#define STRINGID_STATFELL 212 #define STRINGID_STATFELL 212
#define STRINGID_PKMNSSTATCHANGED 213 #define STRINGID_ATTACKERSSTATROSE 213
#define STRINGID_PKMNSSTATCHANGED2 214 #define STRINGID_DEFENDERSSTATROSE 214
#define STRINGID_PKMNSSTATCHANGED3 215 #define STRINGID_ATTACKERSSTATFELL 215
#define STRINGID_PKMNSSTATCHANGED4 216 #define STRINGID_DEFENDERSSTATFELL 216
#define STRINGID_CRITICALHIT 217 #define STRINGID_CRITICALHIT 217
#define STRINGID_ONEHITKO 218 #define STRINGID_ONEHITKO 218
#define STRINGID_123POOF 219 #define STRINGID_123POOF 219
@@ -323,7 +323,7 @@
#define STRINGID_SOOTHINGAROMA 322 #define STRINGID_SOOTHINGAROMA 322
#define STRINGID_ITEMSCANTBEUSEDNOW 323 #define STRINGID_ITEMSCANTBEUSEDNOW 323
#define STRINGID_FORXCOMMAYZ 324 #define STRINGID_FORXCOMMAYZ 324
#define STRINGID_USINGXTHEYOFZN 325 #define STRINGID_USINGITEMSTATOFPKMNROSE 325
#define STRINGID_PKMNUSEDXTOGETPUMPED 326 #define STRINGID_PKMNUSEDXTOGETPUMPED 326
#define STRINGID_PKMNSXMADEYUSELESS 327 #define STRINGID_PKMNSXMADEYUSELESS 327
#define STRINGID_PKMNTRAPPEDBYSANDTOMB 328 #define STRINGID_PKMNTRAPPEDBYSANDTOMB 328
@@ -392,4 +392,202 @@
// and are instead handled explicitly by BufferStringBattle. // and are instead handled explicitly by BufferStringBattle.
#define BATTLESTRINGS_TABLE_START STRINGID_TRAINER1LOSETEXT #define BATTLESTRINGS_TABLE_START STRINGID_TRAINER1LOSETEXT
// The below IDs are all indexes into battle message tables,
// used to determine which of a set of messages to print.
// They are assigned to the MULTISTRING_CHOOSER byte of gBattleCommunication
// and read when e.g. the command printfromtable is used.
// gStatUpStringIds
#define B_MSG_ATTACKER_STAT_ROSE 0
#define B_MSG_DEFENDER_STAT_ROSE 1
#define B_MSG_STAT_WONT_INCREASE 2
#define B_MSG_STAT_ROSE_EMPTY 3
#define B_MSG_STAT_ROSE_ITEM 4
#define B_MSG_USED_DIRE_HIT 5
// gStatDownStringIds
#define B_MSG_ATTACKER_STAT_FELL 0
#define B_MSG_DEFENDER_STAT_FELL 1
#define B_MSG_STAT_WONT_DECREASE 2
#define B_MSG_STAT_FELL_EMPTY 3
// gMissStringIds
#define B_MSG_MISSED 0
#define B_MSG_PROTECTED 1
#define B_MSG_AVOIDED_ATK 2
#define B_MSG_AVOIDED_DMG 3
#define B_MSG_GROUND_MISS 4
// gAbsorbDrainStringIds
#define B_MSG_ABSORB 0
#define B_MSG_ABSORB_OOZE 1
// gLeechSeedStringIds
#define B_MSG_LEECH_SEED_SET 0
#define B_MSG_LEECH_SEED_MISS 1
#define B_MSG_LEECH_SEED_FAIL 2
#define B_MSG_LEECH_SEED_DRAIN 3
#define B_MSG_LEECH_SEED_OOZE 4
// gFirstTurnOfTwoStringIds
#define B_MSG_TURN1_RAZOR_WIND 0
#define B_MSG_TURN1_SOLAR_BEAM 1
#define B_MSG_TURN1_SKULL_BASH 2
#define B_MSG_TURN1_SKY_ATTACK 3
#define B_MSG_TURN1_FLY 4
#define B_MSG_TURN1_DIG 5
#define B_MSG_TURN1_DIVE 6
#define B_MSG_TURN1_BOUNCE 7
// gMoveWeatherChangeStringIds
#define B_MSG_STARTED_RAIN 0
#define B_MSG_STARTED_DOWNPOUR 1
#define B_MSG_WEATHER_FAILED 2
#define B_MSG_STARTED_SANDSTORM 3
#define B_MSG_STARTED_SUNLIGHT 4
#define B_MSG_STARTED_HAIL 5
// gRainContinuesStringIds
#define B_MSG_RAIN_CONTINUES 0
#define B_MSG_DOWNPOUR_CONTINUES 1
#define B_MSG_RAIN_STOPPED 2
// gSandStormHailContinuesStringIds / gSandStormHailDmgStringIds/ gSandStormHailEndStringIds
#define B_MSG_SANDSTORM 0
#define B_MSG_HAIL 1
// gReflectLightScreenSafeguardStringIds
#define B_MSG_SIDE_STATUS_FAILED 0
#define B_MSG_SET_REFLECT_SINGLE 1
#define B_MSG_SET_REFLECT_DOUBLE 2
#define B_MSG_SET_LIGHTSCREEN_SINGLE 3
#define B_MSG_SET_LIGHTSCREEN_DOUBLE 4
#define B_MSG_SET_SAFEGUARD 5
// gProtectLikeUsedStringIds
#define B_MSG_PROTECTED_ITSELF 0
#define B_MSG_BRACED_ITSELF 1
#define B_MSG_PROTECT_FAILED 2
// gRestUsedStringIds
#define B_MSG_REST 0
#define B_MSG_REST_STATUSED 1
// gWokeUpStringIds
#define B_MSG_WOKE_UP 0
#define B_MSG_WOKE_UP_UPROAR 1
// gUproarAwakeStringIds
#define B_MSG_CANT_SLEEP_UPROAR 0
#define B_MSG_UPROAR_KEPT_AWAKE 1
#define B_MSG_STAYED_AWAKE_USING 2
// gUproarOverTurnStringIds
#define B_MSG_UPROAR_CONTINUES 0
#define B_MSG_UPROAR_ENDS 1
// gStockpileUsedStringIds
#define B_MSG_STOCKPILED 0
#define B_MSG_CANT_STOCKPILE 1
// gSwallowFailStringIds
#define B_MSG_SWALLOW_FAILED 0
#define B_MSG_SWALLOW_FULL_HP 1
// gKOFailedStringIds
#define B_MSG_KO_MISS 0
#define B_MSG_KO_UNAFFECTED 1
// gMistUsedStringIds
#define B_MSG_SET_MIST 0
#define B_MSG_MIST_FAILED 1
// gFocusEnergyUsedStringIds
#define B_MSG_GETTING_PUMPED 0
#define B_MSG_FOCUS_ENERGY_FAILED 1
// gTransformUsedStringIds
#define B_MSG_TRANSFORMED 0
#define B_MSG_TRANSFORM_FAILED 1
// gSubstituteUsedStringIds
#define B_MSG_SET_SUBSTITUTE 0
#define B_MSG_SUBSTITUTE_FAILED 1
// gPartyStatusHealStringIds
#define B_MSG_BELL 0
#define B_MSG_BELL_SOUNDPROOF_ATTACKER 1
#define B_MSG_BELL_SOUNDPROOF_PARTNER 2
#define B_MSG_BELL_BOTH_SOUNDPROOF 3
#define B_MSG_SOOTHING_AROMA 4
// gFutureMoveUsedStringIds
#define B_MSG_FUTURE_SIGHT 0
#define B_MSG_DOOM_DESIRE 1
// gItemSwapStringIds
#define B_MSG_ITEM_SWAP_TAKEN 0
#define B_MSG_ITEM_SWAP_GIVEN 1
#define B_MSG_ITEM_SWAP_BOTH 2
// gSportsUsedStringIds
#define B_MSG_WEAKEN_ELECTRIC 0
#define B_MSG_WEAKEN_FIRE 1
// gCaughtMonStringIds
#define B_MSG_SENT_SOMEONES_PC 0
#define B_MSG_SENT_BILLS_PC 1
#define B_MSG_SOMEONES_BOX_FULL 2
#define B_MSG_BILLS_BOX_FULL 3
// gInobedientStringIds
#define B_MSG_LOAFING 0
#define B_MSG_WONT_OBEY 1
#define B_MSG_TURNED_AWAY 2
#define B_MSG_PRETEND_NOT_NOTICE 3
#define B_MSG_INCAPABLE_OF_POWER 4
// For randomly selecting a disobey string
// Skips the one used for Battle Palace
#define NUM_LOAF_STRINGS 4
// gSafariGetNearStringIds
#define B_MSG_CREPT_CLOSER 0
#define B_MSG_CANT_GET_CLOSER 1
// gSafariPokeblockResultStringIds
#define B_MSG_MON_CURIOUS 0
#define B_MSG_MON_ENTHRALLED 1
#define B_MSG_MON_IGNORED 2
// gFlashFireStringIds
#define B_MSG_FLASH_FIRE_BOOST 0
#define B_MSG_FLASH_FIRE_NO_BOOST 1
// gBerryEffectStringIds
#define B_MSG_CURED_PROBLEM 0
#define B_MSG_NORMALIZED_STATUS 1
// gNoEscapeStringIds
#define B_MSG_CANT_ESCAPE 0
#define B_MSG_DONT_LEAVE_BIRCH 1
#define B_MSG_PREVENTS_ESCAPE 2
#define B_MSG_CANT_ESCAPE_2 3
#define B_MSG_ATTACKER_CANT_ESCAPE 4
// gGotPoisonedStringIds / gGotParalyzedStringIds / gFellAsleepStringIds
// gGotBurnedStringIds / gGotFrozenStringIds / gAttractUsedStringIds
#define B_MSG_STATUSED 0
#define B_MSG_STATUSED_BY_ABILITY 1
// gBRNPreventionStringIds / gPRLZPreventionStringIds / gPSNPreventionStringIds
#define B_MSG_ABILITY_PREVENTS_MOVE_STATUS 0
#define B_MSG_ABILITY_PREVENTS_ABILITY_STATUS 1
#define B_MSG_STATUS_HAD_NO_EFFECT 2
// gGotDefrostedStringIds
#define B_MSG_DEFROSTED 0
#define B_MSG_DEFROSTED_BY_MOVE 1
#define NUM_TRAPPING_MOVES 6
#endif // GUARD_BATTLE_STRING_IDS_H #endif // GUARD_BATTLE_STRING_IDS_H
+23 -21
View File
@@ -10,27 +10,29 @@
#define MOVE_LIMITATION_TAUNT (1 << 4) #define MOVE_LIMITATION_TAUNT (1 << 4)
#define MOVE_LIMITATION_IMPRISON (1 << 5) #define MOVE_LIMITATION_IMPRISON (1 << 5)
#define ABILITYEFFECT_ON_SWITCHIN 0x0 #define ABILITYEFFECT_ON_SWITCHIN 0
#define ABILITYEFFECT_ENDTURN 0x1 #define ABILITYEFFECT_ENDTURN 1
#define ABILITYEFFECT_MOVES_BLOCK 0x2 #define ABILITYEFFECT_MOVES_BLOCK 2
#define ABILITYEFFECT_ABSORBING 0x3 #define ABILITYEFFECT_ABSORBING 3
#define ABILITYEFFECT_MOVE_END 0x4 #define ABILITYEFFECT_ON_DAMAGE 4
#define ABILITYEFFECT_IMMUNITY 0x5 #define ABILITYEFFECT_IMMUNITY 5
#define ABILITYEFFECT_FORECAST 0x6 #define ABILITYEFFECT_FORECAST 6
#define ABILITYEFFECT_SYNCHRONIZE 0x7 #define ABILITYEFFECT_SYNCHRONIZE 7
#define ABILITYEFFECT_ATK_SYNCHRONIZE 0x8 #define ABILITYEFFECT_ATK_SYNCHRONIZE 8
#define ABILITYEFFECT_INTIMIDATE1 0x9 #define ABILITYEFFECT_INTIMIDATE1 9
#define ABILITYEFFECT_INTIMIDATE2 0xA #define ABILITYEFFECT_INTIMIDATE2 10
#define ABILITYEFFECT_TRACE 0xB #define ABILITYEFFECT_TRACE 11
#define ABILITYEFFECT_CHECK_OTHER_SIDE 0xC #define ABILITYEFFECT_CHECK_OTHER_SIDE 12
#define ABILITYEFFECT_CHECK_BATTLER_SIDE 0xD #define ABILITYEFFECT_CHECK_BATTLER_SIDE 13
#define ABILITYEFFECT_FIELD_SPORT 0xE #define ABILITYEFFECT_FIELD_SPORT 14
#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER 0xF // TODO: Is it correct? #define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER 15
#define ABILITYEFFECT_COUNT_OTHER_SIDE 0x10 #define ABILITYEFFECT_COUNT_OTHER_SIDE 16
#define ABILITYEFFECT_COUNT_BATTLER_SIDE 0x11 #define ABILITYEFFECT_COUNT_BATTLER_SIDE 17
#define ABILITYEFFECT_COUNT_ON_FIELD 0x12 #define ABILITYEFFECT_COUNT_ON_FIELD 18
#define ABILITYEFFECT_CHECK_ON_FIELD 0x13 #define ABILITYEFFECT_CHECK_ON_FIELD 19
#define ABILITYEFFECT_SWITCH_IN_WEATHER 0xFF #define ABILITYEFFECT_MUD_SPORT 253
#define ABILITYEFFECT_WATER_SPORT 254
#define ABILITYEFFECT_SWITCH_IN_WEATHER 255
#define ABILITY_ON_OPPOSING_FIELD(battlerId, abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, battlerId, abilityId, 0, 0)) #define ABILITY_ON_OPPOSING_FIELD(battlerId, abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, battlerId, abilityId, 0, 0))
#define ABILITY_ON_FIELD(abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, abilityId, 0, 0)) #define ABILITY_ON_FIELD(abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, abilityId, 0, 0))
+114 -99
View File
@@ -44,39 +44,39 @@
#define BIT_FLANK 2 #define BIT_FLANK 2
// Battle Type Flags // Battle Type Flags
#define BATTLE_TYPE_DOUBLE 0x0001 #define BATTLE_TYPE_DOUBLE (1 << 0)
#define BATTLE_TYPE_LINK 0x0002 #define BATTLE_TYPE_LINK (1 << 1)
#define BATTLE_TYPE_IS_MASTER 0x0004 // In not-link battles, it's always set. #define BATTLE_TYPE_IS_MASTER (1 << 2) // In not-link battles, it's always set.
#define BATTLE_TYPE_TRAINER 0x0008 #define BATTLE_TYPE_TRAINER (1 << 3)
#define BATTLE_TYPE_FIRST_BATTLE 0x0010 #define BATTLE_TYPE_FIRST_BATTLE (1 << 4)
#define BATTLE_TYPE_LINK_ESTABLISHED 0x0020 // Set when the link battle setup callback finishes. #define BATTLE_TYPE_LINK_IN_BATTLE (1 << 5) // Set on battle entry, cleared on exit. Checked rarely
#define BATTLE_TYPE_MULTI 0x0040 #define BATTLE_TYPE_MULTI (1 << 6)
#define BATTLE_TYPE_SAFARI 0x0080 #define BATTLE_TYPE_SAFARI (1 << 7)
#define BATTLE_TYPE_BATTLE_TOWER 0x0100 #define BATTLE_TYPE_BATTLE_TOWER (1 << 8)
#define BATTLE_TYPE_OLD_MAN_TUTORIAL 0x0200 #define BATTLE_TYPE_OLD_MAN_TUTORIAL (1 << 9) // Used in pokeemerald as BATTLE_TYPE_WALLY_TUTORIAL.
#define BATTLE_TYPE_ROAMER 0x0400 #define BATTLE_TYPE_ROAMER (1 << 10)
#define BATTLE_TYPE_EREADER_TRAINER 0x0800 #define BATTLE_TYPE_EREADER_TRAINER (1 << 11)
#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000 #define BATTLE_TYPE_KYOGRE_GROUDON (1 << 12)
#define BATTLE_TYPE_LEGENDARY 0x2000 #define BATTLE_TYPE_LEGENDARY (1 << 13)
#define BATTLE_TYPE_GHOST_UNVEILED 0x2000 // Re-use of BATTLE_TYPE_LEGENDARY, when combined with BATTLE_TYPE_GHOST #define BATTLE_TYPE_GHOST_UNVEILED (1 << 13) // Re-use of BATTLE_TYPE_LEGENDARY, when combined with BATTLE_TYPE_GHOST
#define BATTLE_TYPE_REGI 0x4000 #define BATTLE_TYPE_REGI (1 << 14)
#define BATTLE_TYPE_GHOST 0x8000 #define BATTLE_TYPE_GHOST (1 << 15) // Used in pokeemerald as BATTLE_TYPE_TWO_OPPONENTS.
#define BATTLE_TYPE_POKEDUDE 0x10000 #define BATTLE_TYPE_POKEDUDE (1 << 16) // Used in pokeemerald as BATTLE_TYPE_DOME.
#define BATTLE_TYPE_WILD_SCRIPTED 0x20000 #define BATTLE_TYPE_WILD_SCRIPTED (1 << 17) // Used in pokeemerald as BATTLE_TYPE_PALACE.
#define BATTLE_TYPE_LEGENDARY_FRLG 0x40000 #define BATTLE_TYPE_LEGENDARY_FRLG (1 << 18) // Used in pokeemerald as BATTLE_TYPE_ARENA.
#define BATTLE_TYPE_TRAINER_TOWER 0x80000 #define BATTLE_TYPE_TRAINER_TOWER (1 << 19) // Used in pokeemerald as BATTLE_TYPE_FACTORY.
#define BATTLE_TYPE_x100000 0x100000 #define BATTLE_TYPE_PIKE (1 << 20) // Used in pokeemerald.
#define BATTLE_TYPE_x200000 0x200000 #define BATTLE_TYPE_PYRAMID (1 << 21) // Used in pokeemerald.
#define BATTLE_TYPE_INGAME_PARTNER 0x400000 #define BATTLE_TYPE_INGAME_PARTNER (1 << 22)
#define BATTLE_TYPE_x800000 0x800000 #define BATTLE_TYPE_TOWER_LINK_MULTI (1 << 23) // Used in pokeemerald.
#define BATTLE_TYPE_RECORDED 0x1000000 #define BATTLE_TYPE_RECORDED (1 << 24)
#define BATTLE_TYPE_x2000000 0x2000000 #define BATTLE_TYPE_RECORDED_LINK (1 << 25) // Used in pokeemerald.
#define BATTLE_TYPE_x4000000 0x4000000 #define BATTLE_TYPE_TRAINER_HILL (1 << 26) // Used in pokeemerald.
#define BATTLE_TYPE_SECRET_BASE 0x8000000 #define BATTLE_TYPE_SECRET_BASE (1 << 27)
#define BATTLE_TYPE_GROUDON 0x10000000 #define BATTLE_TYPE_GROUDON (1 << 28)
#define BATTLE_TYPE_KYOGRE 0x20000000 #define BATTLE_TYPE_KYOGRE (1 << 29)
#define BATTLE_TYPE_RAYQUAZA 0x40000000 #define BATTLE_TYPE_RAYQUAZA (1 << 30)
#define BATTLE_TYPE_x80000000 0x80000000 #define BATTLE_TYPE_RECORDED_IS_MASTER (1 << 31) // Used in pokeemerald.
#define IS_BATTLE_TYPE_GHOST_WITHOUT_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && !((flags) & BATTLE_TYPE_GHOST_UNVEILED)) #define IS_BATTLE_TYPE_GHOST_WITHOUT_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && !((flags) & BATTLE_TYPE_GHOST_UNVEILED))
#define IS_BATTLE_TYPE_GHOST_WITH_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && (flags) & BATTLE_TYPE_GHOST_UNVEILED) #define IS_BATTLE_TYPE_GHOST_WITH_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && (flags) & BATTLE_TYPE_GHOST_UNVEILED)
@@ -85,54 +85,62 @@
#define RIVAL_BATTLE_TUTORIAL 3 #define RIVAL_BATTLE_TUTORIAL 3
// Battle Outcome defines // Battle Outcome defines
#define B_OUTCOME_WON 0x1 #define B_OUTCOME_WON 1
#define B_OUTCOME_LOST 0x2 #define B_OUTCOME_LOST 2
#define B_OUTCOME_DREW 0x3 #define B_OUTCOME_DREW 3
#define B_OUTCOME_RAN 0x4 #define B_OUTCOME_RAN 4
#define B_OUTCOME_PLAYER_TELEPORTED 0x5 #define B_OUTCOME_PLAYER_TELEPORTED 5
#define B_OUTCOME_MON_FLED 0x6 #define B_OUTCOME_MON_FLED 6
#define B_OUTCOME_CAUGHT 0x7 #define B_OUTCOME_CAUGHT 7
#define B_OUTCOME_NO_SAFARI_BALLS 0x8 #define B_OUTCOME_NO_SAFARI_BALLS 8
#define B_OUTCOME_FORFEITED 0x9 #define B_OUTCOME_FORFEITED 9
#define B_OUTCOME_MON_TELEPORTED 0xA #define B_OUTCOME_MON_TELEPORTED 10
#define B_OUTCOME_LINK_BATTLE_RAN 0x80 #define B_OUTCOME_LINK_BATTLE_RAN (1 << 7) // 128
// Non-volatile status conditions // Non-volatile status conditions
// These persist remain outside of battle and after switching out // These persist remain outside of battle and after switching out
#define STATUS1_NONE 0x0 #define STATUS1_NONE 0
#define STATUS1_SLEEP 0x7 #define STATUS1_SLEEP (1 << 0 | 1 << 1 | 1 << 2) // First 3 bits (Number of turns to sleep)
#define STATUS1_POISON 0x8 #define STATUS1_SLEEP_TURN(num) ((num) << 0) // Just for readability (or if rearranging statuses)
#define STATUS1_BURN 0x10 #define STATUS1_POISON (1 << 3)
#define STATUS1_FREEZE 0x20 #define STATUS1_BURN (1 << 4)
#define STATUS1_PARALYSIS 0x40 #define STATUS1_FREEZE (1 << 5)
#define STATUS1_TOXIC_POISON 0x80 #define STATUS1_PARALYSIS (1 << 6)
#define STATUS1_TOXIC_COUNTER 0xF00 #define STATUS1_TOXIC_POISON (1 << 7)
#define STATUS1_TOXIC_COUNTER (1 << 8 | 1 << 9 | 1 << 10 | 1 << 11)
#define STATUS1_TOXIC_TURN(num) ((num) << 8)
#define STATUS1_PSN_ANY (STATUS1_POISON | STATUS1_TOXIC_POISON) #define STATUS1_PSN_ANY (STATUS1_POISON | STATUS1_TOXIC_POISON)
#define STATUS1_ANY (STATUS1_SLEEP | STATUS1_POISON | STATUS1_BURN | STATUS1_FREEZE | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON) #define STATUS1_ANY (STATUS1_SLEEP | STATUS1_POISON | STATUS1_BURN | STATUS1_FREEZE | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON)
// Volatile status ailments // Volatile status ailments
// These are removed after exiting the battle or switching out // These are removed after exiting the battle or switching out
#define STATUS2_CONFUSION 0x00000007 #define STATUS2_CONFUSION (1 << 0 | 1 << 1 | 1 << 2)
#define STATUS2_FLINCHED 0x00000008 #define STATUS2_CONFUSION_TURN(num) ((num) << 0)
#define STATUS2_UPROAR 0x00000070 #define STATUS2_FLINCHED (1 << 3)
#define STATUS2_BIDE 0x00000300 // two bits 0x100, 0x200 #define STATUS2_UPROAR (1 << 4 | 1 << 5 | 1 << 6)
#define STATUS2_LOCK_CONFUSE 0x00000C00 #define STATUS2_UPROAR_TURN(num) ((num) << 4)
#define STATUS2_MULTIPLETURNS 0x00001000 #define STATUS2_UNUSED (1 << 7)
#define STATUS2_WRAPPED 0x0000E000 #define STATUS2_BIDE (1 << 8 | 1 << 9)
#define STATUS2_INFATUATION 0x000F0000 // 4 bits, one for every battler #define STATUS2_BIDE_TURN(num) (((num) << 8) & STATUS2_BIDE)
#define STATUS2_LOCK_CONFUSE (1 << 10 | 1 << 11) // e.g. Thrash
#define STATUS2_LOCK_CONFUSE_TURN(num)((num) << 10)
#define STATUS2_MULTIPLETURNS (1 << 12)
#define STATUS2_WRAPPED (1 << 13 | 1 << 14 | 1 << 15)
#define STATUS2_WRAPPED_TURN(num) ((num) << 13)
#define STATUS2_INFATUATION (1 << 16 | 1 << 17 | 1 << 18 | 1 << 19) // 4 bits, one for every battler
#define STATUS2_INFATUATED_WITH(battler) (gBitTable[battler] << 16) #define STATUS2_INFATUATED_WITH(battler) (gBitTable[battler] << 16)
#define STATUS2_FOCUS_ENERGY 0x00100000 #define STATUS2_FOCUS_ENERGY (1 << 20)
#define STATUS2_TRANSFORMED 0x00200000 #define STATUS2_TRANSFORMED (1 << 21)
#define STATUS2_RECHARGE 0x00400000 #define STATUS2_RECHARGE (1 << 22)
#define STATUS2_RAGE 0x00800000 #define STATUS2_RAGE (1 << 23)
#define STATUS2_SUBSTITUTE 0x01000000 #define STATUS2_SUBSTITUTE (1 << 24)
#define STATUS2_DESTINY_BOND 0x02000000 #define STATUS2_DESTINY_BOND (1 << 25)
#define STATUS2_ESCAPE_PREVENTION 0x04000000 #define STATUS2_ESCAPE_PREVENTION (1 << 26)
#define STATUS2_NIGHTMARE 0x08000000 #define STATUS2_NIGHTMARE (1 << 27)
#define STATUS2_CURSED 0x10000000 #define STATUS2_CURSED (1 << 28)
#define STATUS2_FORESIGHT 0x20000000 #define STATUS2_FORESIGHT (1 << 29)
#define STATUS2_DEFENSE_CURL 0x40000000 #define STATUS2_DEFENSE_CURL (1 << 30)
#define STATUS2_TORMENT 0x80000000 #define STATUS2_TORMENT (1 << 31)
// Seems like per-battler statuses. Not quite sure how to categorize these // Seems like per-battler statuses. Not quite sure how to categorize these
#define STATUS3_LEECHSEED_BATTLER (1 << 0 | 1 << 1) // The battler to receive HP from Leech Seed #define STATUS3_LEECHSEED_BATTLER (1 << 0 | 1 << 1) // The battler to receive HP from Leech Seed
@@ -158,32 +166,32 @@
#define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER) #define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER)
// Not really sure what a "hitmarker" is. // Not really sure what a "hitmarker" is.
#define HITMARKER_x10 0x00000010 #define HITMARKER_WAKE_UP_CLEAR (1 << 4) // Cleared when waking up. Never set or checked.
#define HITMARKER_x20 0x00000020 #define HITMARKER_SKIP_DMG_TRACK (1 << 5)
#define HITMARKER_DESTINYBOND 0x00000040 #define HITMARKER_DESTINYBOND (1 << 6)
#define HITMARKER_NO_ANIMATIONS 0x00000080 #define HITMARKER_NO_ANIMATIONS (1 << 7)
#define HITMARKER_IGNORE_SUBSTITUTE 0x00000100 #define HITMARKER_IGNORE_SUBSTITUTE (1 << 8)
#define HITMARKER_NO_ATTACKSTRING 0x00000200 #define HITMARKER_NO_ATTACKSTRING (1 << 9)
#define HITMARKER_ATTACKSTRING_PRINTED 0x00000400 #define HITMARKER_ATTACKSTRING_PRINTED (1 << 10)
#define HITMARKER_NO_PPDEDUCT 0x00000800 #define HITMARKER_NO_PPDEDUCT (1 << 11)
#define HITMARKER_SWAP_ATTACKER_TARGET 0x00001000 #define HITMARKER_SWAP_ATTACKER_TARGET (1 << 12)
#define HITMARKER_IGNORE_SAFEGUARD 0x00002000 #define HITMARKER_IGNORE_SAFEGUARD (1 << 13)
#define HITMARKER_SYNCHRONISE_EFFECT 0x00004000 #define HITMARKER_SYNCHRONISE_EFFECT (1 << 14)
#define HITMARKER_RUN 0x00008000 #define HITMARKER_RUN (1 << 15)
#define HITMARKER_IGNORE_ON_AIR 0x00010000 #define HITMARKER_IGNORE_ON_AIR (1 << 16)
#define HITMARKER_IGNORE_UNDERGROUND 0x00020000 #define HITMARKER_IGNORE_UNDERGROUND (1 << 17)
#define HITMARKER_IGNORE_UNDERWATER 0x00040000 #define HITMARKER_IGNORE_UNDERWATER (1 << 18)
#define HITMARKER_UNABLE_TO_USE_MOVE 0x00080000 #define HITMARKER_UNABLE_TO_USE_MOVE (1 << 19)
#define HITMARKER_PASSIVE_DAMAGE 0x00100000 #define HITMARKER_PASSIVE_DAMAGE (1 << 20)
#define HITMARKER_x200000 0x00200000 #define HITMARKER_DISOBEDIENT_MOVE (1 << 21)
#define HITMARKER_PLAYER_FAINTED 0x00400000 #define HITMARKER_PLAYER_FAINTED (1 << 22)
#define HITMARKER_ALLOW_NO_PP 0x00800000 #define HITMARKER_ALLOW_NO_PP (1 << 23)
#define HITMARKER_GRUDGE 0x01000000 #define HITMARKER_GRUDGE (1 << 24)
#define HITMARKER_OBEYS 0x02000000 #define HITMARKER_OBEYS (1 << 25)
#define HITMARKER_x4000000 0x04000000 #define HITMARKER_NEVER_SET (1 << 26) // Cleared as part of a large group. Never set or checked
#define HITMARKER_CHARGING 0x08000000 #define HITMARKER_CHARGING (1 << 27)
#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 0x1C) #define HITMARKER_FAINTED(battler) (gBitTable[battler] << 28)
#define HITMARKER_FAINTED2(battler) (0x10000000 << battler) #define HITMARKER_FAINTED2(battler) ((1 << 28) << battler)
// Per-side statuses that affect an entire party // Per-side statuses that affect an entire party
#define SIDE_STATUS_REFLECT (1 << 0) #define SIDE_STATUS_REFLECT (1 << 0)
@@ -219,7 +227,7 @@
#define B_WEATHER_SUN (B_WEATHER_SUN_TEMPORARY | B_WEATHER_SUN_PERMANENT) #define B_WEATHER_SUN (B_WEATHER_SUN_TEMPORARY | B_WEATHER_SUN_PERMANENT)
#define B_WEATHER_HAIL_TEMPORARY (1 << 7) #define B_WEATHER_HAIL_TEMPORARY (1 << 7)
#define B_WEATHER_HAIL (B_WEATHER_HAIL_TEMPORARY) #define B_WEATHER_HAIL (B_WEATHER_HAIL_TEMPORARY)
#define WEATHER_ANY (B_WEATHER_RAIN | B_WEATHER_SANDSTORM | B_WEATHER_SUN | B_WEATHER_HAIL) #define B_WEATHER_ANY (B_WEATHER_RAIN | B_WEATHER_SANDSTORM | B_WEATHER_SUN | B_WEATHER_HAIL)
// Move Effects // Move Effects
#define MOVE_EFFECT_SLEEP 1 #define MOVE_EFFECT_SLEEP 1
@@ -309,6 +317,13 @@
#define BATTLE_TERRAIN_LANCE 18 #define BATTLE_TERRAIN_LANCE 18
#define BATTLE_TERRAIN_CHAMPION 19 #define BATTLE_TERRAIN_CHAMPION 19
#define CASTFORM_NORMAL 0
#define CASTFORM_FIRE 1
#define CASTFORM_WATER 2
#define CASTFORM_ICE 3
#define NUM_CASTFORM_FORMS 4
#define CASTFORM_SUBSTITUTE (1 << 7)
// Return value for IsRunningFromBattleImpossible. // Return value for IsRunningFromBattleImpossible.
#define BATTLE_RUN_SUCCESS 0 #define BATTLE_RUN_SUCCESS 0
#define BATTLE_RUN_FORBIDDEN 1 #define BATTLE_RUN_FORBIDDEN 1
+3 -3
View File
@@ -342,9 +342,9 @@
#define BG_FISSURE 21 #define BG_FISSURE 21
#define BG_BUG_OPPONENT 22 #define BG_BUG_OPPONENT 22
#define BG_BUG_PLAYER 23 #define BG_BUG_PLAYER 23
#define BG_SOLARBEAM_OPPONENT 24 #define BG_SOLAR_BEAM_OPPONENT 24
#define BG_SOLARBEAM_PLAYER 25 #define BG_SOLAR_BEAM_PLAYER 25
#define BG_SOLARBEAM_CONTESTS 26 #define BG_SOLAR_BEAM_CONTESTS 26
// table ids for general animations // table ids for general animations
#define B_ANIM_CASTFORM_CHANGE 0x0 #define B_ANIM_CASTFORM_CHANGE 0x0
+1 -1
View File
@@ -152,7 +152,7 @@
#define EFFECT_FUTURE_SIGHT 148 #define EFFECT_FUTURE_SIGHT 148
#define EFFECT_GUST 149 #define EFFECT_GUST 149
#define EFFECT_FLINCH_MINIMIZE_HIT 150 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM #define EFFECT_FLINCH_MINIMIZE_HIT 150 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
#define EFFECT_SOLARBEAM 151 #define EFFECT_SOLAR_BEAM 151
#define EFFECT_THUNDER 152 #define EFFECT_THUNDER 152
#define EFFECT_TELEPORT 153 #define EFFECT_TELEPORT 153
#define EFFECT_BEAT_UP 154 #define EFFECT_BEAT_UP 154
+38 -24
View File
@@ -30,8 +30,22 @@
#define sMULTIPLAYER_ID gBattleScripting + 0x25 #define sMULTIPLAYER_ID gBattleScripting + 0x25
#define sSPECIAL_TRAINER_BATTLE_TYPE gBattleScripting + 0x26 #define sSPECIAL_TRAINER_BATTLE_TYPE gBattleScripting + 0x26
#define cEFFECT_CHOOSER gBattleCommunication + 3 // Array entries for battle communication
#define cMULTISTRING_CHOOSER gBattleCommunication + 5 #define MULTIUSE_STATE 0
#define CURSOR_POSITION 1
#define TASK_ID 1 // task Id and cursor position share the same field
#define SPRITES_INIT_STATE1 1 // shares the Id as well
#define SPRITES_INIT_STATE2 2
#define MOVE_EFFECT_BYTE 3
#define ACTIONS_CONFIRMED_COUNT 4
#define MULTISTRING_CHOOSER 5
#define MISS_TYPE 6
#define MSG_DISPLAY 7
#define BATTLE_COMMUNICATION_ENTRIES_COUNT 8
#define cEFFECT_CHOOSER (gBattleCommunication + MOVE_EFFECT_BYTE)
#define cMULTISTRING_CHOOSER (gBattleCommunication + MULTISTRING_CHOOSER)
#define cMISS_TYPE (gBattleCommunication + MISS_TYPE)
// Battle Script defines for getting the wanted battler // Battle Script defines for getting the wanted battler
#define BS_TARGET 0 #define BS_TARGET 0
@@ -39,8 +53,8 @@
#define BS_EFFECT_BATTLER 2 #define BS_EFFECT_BATTLER 2
#define BS_FAINTED 3 #define BS_FAINTED 3
#define BS_ATTACKER_WITH_PARTNER 4 // for Cmd_updatestatusicon #define BS_ATTACKER_WITH_PARTNER 4 // for Cmd_updatestatusicon
#define BS_UNKNOWN_5 5 // for openpartyscreen #define BS_FAINTED_LINK_MULTIPLE_1 5 // for openpartyscreen
#define BS_UNKNOWN_6 6 // for openpartyscreen #define BS_FAINTED_LINK_MULTIPLE_2 6 // for openpartyscreen
#define BS_BATTLER_0 7 #define BS_BATTLER_0 7
#define BS_ATTACKER_SIDE 8 // for Cmd_jumpifability #define BS_ATTACKER_SIDE 8 // for Cmd_jumpifability
#define BS_NOT_ATTACKER_SIDE 9 // for Cmd_jumpifability #define BS_NOT_ATTACKER_SIDE 9 // for Cmd_jumpifability
@@ -50,9 +64,6 @@
#define BS_PLAYER2 13 // for Cmd_updatestatusicon #define BS_PLAYER2 13 // for Cmd_updatestatusicon
#define BS_OPPONENT2 14 #define BS_OPPONENT2 14
// used for openpartyscreen
#define OPEN_PARTY_ALLOW_CANCEL 0x80
// atk 01, accuracy calc // atk 01, accuracy calc
#define NO_ACC_CALC 0xFFFE #define NO_ACC_CALC 0xFFFE
#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF #define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF
@@ -72,23 +83,23 @@
#define VARIOUS_SET_MAGIC_COAT_TARGET 1 #define VARIOUS_SET_MAGIC_COAT_TARGET 1
#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2 #define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
#define VARIOUS_GET_MOVE_TARGET 3 #define VARIOUS_GET_MOVE_TARGET 3
#define VARIOUS_CASE_4 4 #define VARIOUS_GET_BATTLER_FAINTED 4
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5 #define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6 #define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
#define VARIOUS_RESET_PLAYER_FAINTED_FLAG 7 #define VARIOUS_RESET_PLAYER_FAINTED 7
#define VARIOUS_CASE_8 8 #define VARIOUS_CASE_8 8
#define VARIOUS_RETURN_OPPONENT_MON1 9 #define VARIOUS_RETURN_OPPONENT_MON1 9
#define VARIOUS_RETURN_OPPONENT_MON2 10 #define VARIOUS_RETURN_OPPONENT_MON2 10
#define VARIOUS_CHECK_POKEFLUTE 11 #define VARIOUS_CHECK_POKEFLUTE 11
#define VARIOUS_WAIT_FANFARE 12 #define VARIOUS_WAIT_FANFARE 12
// atk80, dmg manipulation // Cmd_manipulatedmg
#define ATK80_DMG_CHANGE_SIGN 0 #define DMG_CHANGE_SIGN 0
#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1 #define DMG_RECOIL_FROM_MISS 1
#define ATK80_DMG_DOUBLED 2 #define DMG_DOUBLED 2
// atk4F, a flag used for the jumpifcantswitch command // Cmd_jumpifcantswitch
#define ATK4F_DONT_CHECK_STATUSES 0x80 #define SWITCH_IGNORE_ESCAPE_PREVENTION (1 << 7)
// Cmd_statbuffchange // Cmd_statbuffchange
#define STAT_CHANGE_ALLOW_PTR (1 << 0) // If set, allow use of jumpptr. Set in every use of statbuffchange #define STAT_CHANGE_ALLOW_PTR (1 << 0) // If set, allow use of jumpptr. Set in every use of statbuffchange
@@ -100,6 +111,18 @@
#define STAT_CHANGE_MULTIPLE_STATS (1 << 2) #define STAT_CHANGE_MULTIPLE_STATS (1 << 2)
#define STAT_CHANGE_CANT_PREVENT (1 << 3) #define STAT_CHANGE_CANT_PREVENT (1 << 3)
// stat flags for Cmd_playstatchangeanimation
#define BIT_HP (1 << 0)
#define BIT_ATK (1 << 1)
#define BIT_DEF (1 << 2)
#define BIT_SPEED (1 << 3)
#define BIT_SPATK (1 << 4)
#define BIT_SPDEF (1 << 5)
#define BIT_ACC (1 << 6)
#define BIT_EVASION (1 << 7)
#define PARTY_SCREEN_OPTIONAL (1 << 7) // Flag for first argument to openpartyscreen
// cases for Cmd_moveend // cases for Cmd_moveend
#define MOVEEND_RAGE 0 #define MOVEEND_RAGE 0
#define MOVEEND_DEFROST 1 #define MOVEEND_DEFROST 1
@@ -120,13 +143,4 @@
#define MOVEEND_NEXT_TARGET 16 #define MOVEEND_NEXT_TARGET 16
#define MOVEEND_COUNT 17 #define MOVEEND_COUNT 17
#define BIT_HP 0x1
#define BIT_ATK 0x2
#define BIT_DEF 0x4
#define BIT_SPEED 0x8
#define BIT_SPATK 0x10
#define BIT_SPDEF 0x20
#define BIT_ACC 0x40
#define BIT_EVASION 0x80
#endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H #endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H
+1 -1
View File
@@ -372,7 +372,7 @@
#define ITEM_TM19_GIGA_DRAIN ITEM_TM19 #define ITEM_TM19_GIGA_DRAIN ITEM_TM19
#define ITEM_TM20_SAFEGUARD ITEM_TM20 #define ITEM_TM20_SAFEGUARD ITEM_TM20
#define ITEM_TM21_FRUSTRATION ITEM_TM21 #define ITEM_TM21_FRUSTRATION ITEM_TM21
#define ITEM_TM22_SOLARBEAM ITEM_TM22 #define ITEM_TM22_SOLAR_BEAM ITEM_TM22
#define ITEM_TM23_IRON_TAIL ITEM_TM23 #define ITEM_TM23_IRON_TAIL ITEM_TM23
#define ITEM_TM24_THUNDERBOLT ITEM_TM24 #define ITEM_TM24_THUNDERBOLT ITEM_TM24
#define ITEM_TM25_THUNDER ITEM_TM25 #define ITEM_TM25_THUNDER ITEM_TM25
+26 -25
View File
@@ -134,31 +134,32 @@
#define EGG_GROUPS_PER_MON 2 #define EGG_GROUPS_PER_MON 2
// Pokemon natures // Pokemon natures
#define NATURE_HARDY 0 #define NATURE_HARDY 0
#define NATURE_LONELY 1 #define NATURE_LONELY 1
#define NATURE_BRAVE 2 #define NATURE_BRAVE 2
#define NATURE_ADAMANT 3 #define NATURE_ADAMANT 3
#define NATURE_NAUGHTY 4 #define NATURE_NAUGHTY 4
#define NATURE_BOLD 5 #define NATURE_BOLD 5
#define NATURE_DOCILE 6 #define NATURE_DOCILE 6
#define NATURE_RELAXED 7 #define NATURE_RELAXED 7
#define NATURE_IMPISH 8 #define NATURE_IMPISH 8
#define NATURE_LAX 9 #define NATURE_LAX 9
#define NATURE_TIMID 10 #define NATURE_TIMID 10
#define NATURE_HASTY 11 #define NATURE_HASTY 11
#define NATURE_SERIOUS 12 #define NATURE_SERIOUS 12
#define NATURE_JOLLY 13 #define NATURE_JOLLY 13
#define NATURE_NAIVE 14 #define NATURE_NAIVE 14
#define NATURE_MODEST 15 #define NATURE_MODEST 15
#define NATURE_MILD 16 #define NATURE_MILD 16
#define NATURE_QUIET 17 #define NATURE_QUIET 17
#define NATURE_BASHFUL 18 #define NATURE_BASHFUL 18
#define NATURE_RASH 19 #define NATURE_RASH 19
#define NATURE_CALM 20 #define NATURE_CALM 20
#define NATURE_GENTLE 21 #define NATURE_GENTLE 21
#define NATURE_SASSY 22 #define NATURE_SASSY 22
#define NATURE_CAREFUL 23 #define NATURE_CAREFUL 23
#define NATURE_QUIRKY 24 #define NATURE_QUIRKY 24
#define NUM_NATURES 25
// Pokemon Stats // Pokemon Stats
#define STAT_HP 0 #define STAT_HP 0
+1 -1
View File
@@ -4258,7 +4258,7 @@ extern const u32 gBattleAnimBgPalette_Sky[];
extern const u32 gBattleAnimBgPalette_Aurora[]; extern const u32 gBattleAnimBgPalette_Aurora[];
extern const u32 gBattleAnimBgPalette_Fissure[]; extern const u32 gBattleAnimBgPalette_Fissure[];
extern const u32 gBattleAnimBgPalette_Bug[]; extern const u32 gBattleAnimBgPalette_Bug[];
extern const u32 gBattleAnimBgPalette_Solarbeam[]; extern const u32 gBattleAnimBgPalette_SolarBeam[];
extern const u32 gBattleAnimBgPalette_Surf[]; extern const u32 gBattleAnimBgPalette_Surf[];
extern const u32 gBattleAnimBgTilemap_Dark[]; extern const u32 gBattleAnimBgTilemap_Dark[];
extern const u32 gBattleAnimBgTilemap_Ghost[]; extern const u32 gBattleAnimBgTilemap_Ghost[];
+1 -1
View File
@@ -188,7 +188,7 @@ extern const u8 gText_Ghost[];
// pokemon // pokemon
extern const u8 gBattleText_Rose[]; extern const u8 gBattleText_Rose[];
extern const u8 gText_PkmnsStatChanged2[]; extern const u8 gText_DefendersStatRose[];
extern const u8 gBattleText_GetPumped[]; extern const u8 gBattleText_GetPumped[];
extern const u8 gBattleText_MistShroud[]; extern const u8 gBattleText_MistShroud[];
extern const u8 gText_BadEgg[]; extern const u8 gText_BadEgg[];
+6 -1
View File
@@ -85,7 +85,7 @@
#define CHAR_DYNAMIC_PLACEHOLDER 0xF7 #define CHAR_DYNAMIC_PLACEHOLDER 0xF7
#define CHAR_KEYPAD_ICON 0xF8 #define CHAR_KEYPAD_ICON 0xF8
#define CHAR_EXTRA_EMOJI 0xF9 #define CHAR_EXTRA_SYMBOL 0xF9
#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog #define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
#define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog #define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog
#define EXT_CTRL_CODE_BEGIN 0xFC // extended control code #define EXT_CTRL_CODE_BEGIN 0xFC // extended control code
@@ -93,6 +93,9 @@
#define CHAR_NEWLINE 0xFE #define CHAR_NEWLINE 0xFE
#define EOS 0xFF // end of string #define EOS 0xFF // end of string
// CHAR_EXTRA_SYMBOL chars
#define CHAR_LV_2 0x05
#define TEXT_COLOR_TRANSPARENT 0x0 #define TEXT_COLOR_TRANSPARENT 0x0
#define TEXT_COLOR_WHITE 0x1 #define TEXT_COLOR_WHITE 0x1
#define TEXT_COLOR_DARK_GRAY 0x2 #define TEXT_COLOR_DARK_GRAY 0x2
@@ -156,6 +159,8 @@
#define TEXT_SPEED_INSTANT 0 #define TEXT_SPEED_INSTANT 0
#define TEXT_SKIP_DRAW 0xFF #define TEXT_SKIP_DRAW 0xFF
#define FONT_SMALL 0
enum enum
{ {
FONTATTR_MAX_LETTER_WIDTH, FONTATTR_MAX_LETTER_WIDTH,
+8 -5
View File
@@ -17,6 +17,14 @@ enum
WINDOW_TILE_DATA WINDOW_TILE_DATA
}; };
// Mode for CopyWindowToVram, CopyWindowRectToVram and CopyWindowToVram8Bit
enum {
COPYWIN_NONE,
COPYWIN_MAP,
COPYWIN_GFX,
COPYWIN_FULL,
};
struct WindowTemplate struct WindowTemplate
{ {
u8 bg; u8 bg;
@@ -57,11 +65,6 @@ int AddWindowWithoutTileMap(const struct WindowTemplate *template);
void RemoveWindow(u8 windowId); void RemoveWindow(u8 windowId);
void FreeAllWindowBuffers(void); void FreeAllWindowBuffers(void);
// Mode parameter for funcs below
#define COPYWIN_MAP 1
#define COPYWIN_GFX 2
#define COPYWIN_BOTH 3
void CopyWindowToVram(u8 windowId, u8 mode); void CopyWindowToVram(u8 windowId, u8 mode);
void CopyWindowToVram8Bit(u8 windowId, u8 mode); void CopyWindowToVram8Bit(u8 windowId, u8 mode);
+1 -1
View File
@@ -250,7 +250,7 @@ static const u16 sDiscouragedPowerfulMoveEffects[] =
EFFECT_SKY_ATTACK, EFFECT_SKY_ATTACK,
EFFECT_RECHARGE, EFFECT_RECHARGE,
EFFECT_SKULL_BASH, EFFECT_SKULL_BASH,
EFFECT_SOLARBEAM, EFFECT_SOLAR_BEAM,
EFFECT_SPIT_UP, EFFECT_SPIT_UP,
EFFECT_FOCUS_PUNCH, EFFECT_FOCUS_PUNCH,
EFFECT_SUPERPOWER, EFFECT_SUPERPOWER,
+3 -3
View File
@@ -1723,9 +1723,9 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
[BG_FISSURE] = {gBattleAnimBgImage_Fissure, gBattleAnimBgPalette_Fissure, gBattleAnimBgTilemap_Fissure}, [BG_FISSURE] = {gBattleAnimBgImage_Fissure, gBattleAnimBgPalette_Fissure, gBattleAnimBgTilemap_Fissure},
[BG_BUG_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedOpponent}, [BG_BUG_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedOpponent},
[BG_BUG_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedPlayer}, [BG_BUG_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedPlayer},
[BG_SOLARBEAM_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactOpponent}, [BG_SOLAR_BEAM_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_SolarBeam, gBattleAnimBgTilemap_ImpactOpponent},
[BG_SOLARBEAM_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactPlayer}, [BG_SOLAR_BEAM_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_SolarBeam, gBattleAnimBgTilemap_ImpactPlayer},
[BG_SOLARBEAM_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactContests}, [BG_SOLAR_BEAM_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_SolarBeam, gBattleAnimBgTilemap_ImpactContests},
}; };
static void (*const sScriptCmdTable[])(void) = static void (*const sScriptCmdTable[])(void) =
+33 -33
View File
@@ -12,7 +12,7 @@ EWRAM_DATA static s16 gUnknown_203999C[4] = {0};
// Function Declarations // Function Declarations
static void AnimMovePowderParticleStep(struct Sprite *); static void AnimMovePowderParticleStep(struct Sprite *);
static void AnimSolarbeamSmallOrbStep(struct Sprite *); static void AnimSolarBeamSmallOrbStep(struct Sprite *);
static void AnimAbsorptionOrbStep(struct Sprite *); static void AnimAbsorptionOrbStep(struct Sprite *);
static void AnimHyperBeamOrbStep(struct Sprite *); static void AnimHyperBeamOrbStep(struct Sprite *);
static void AnimLeechSeedStep(struct Sprite *); static void AnimLeechSeedStep(struct Sprite *);
@@ -137,49 +137,49 @@ const struct SpriteTemplate gPoisonPowderParticleSpriteTemplate =
.callback = AnimMovePowderParticle, .callback = AnimMovePowderParticle,
}; };
static const union AnimCmd sSolarbeamBigOrbAnimCmds1[] = static const union AnimCmd sSolarBeamBigOrbAnimCmds1[] =
{ {
ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(0, 1),
ANIMCMD_END, ANIMCMD_END,
}; };
static const union AnimCmd sSolarbeamBigOrbAnimCmds2[] = static const union AnimCmd sSolarBeamBigOrbAnimCmds2[] =
{ {
ANIMCMD_FRAME(1, 1), ANIMCMD_FRAME(1, 1),
ANIMCMD_END, ANIMCMD_END,
}; };
static const union AnimCmd sSolarbeamBigOrbAnimCmds3[] = static const union AnimCmd sSolarBeamBigOrbAnimCmds3[] =
{ {
ANIMCMD_FRAME(2, 1), ANIMCMD_FRAME(2, 1),
ANIMCMD_END, ANIMCMD_END,
}; };
static const union AnimCmd sSolarbeamBigOrbAnimCmds4[] = static const union AnimCmd sSolarBeamBigOrbAnimCmds4[] =
{ {
ANIMCMD_FRAME(3, 1), ANIMCMD_FRAME(3, 1),
ANIMCMD_END, ANIMCMD_END,
}; };
static const union AnimCmd sSolarbeamBigOrbAnimCmds5[] = static const union AnimCmd sSolarBeamBigOrbAnimCmds5[] =
{ {
ANIMCMD_FRAME(4, 1), ANIMCMD_FRAME(4, 1),
ANIMCMD_END, ANIMCMD_END,
}; };
static const union AnimCmd sSolarbeamBigOrbAnimCmds6[] = static const union AnimCmd sSolarBeamBigOrbAnimCmds6[] =
{ {
ANIMCMD_FRAME(5, 1), ANIMCMD_FRAME(5, 1),
ANIMCMD_END, ANIMCMD_END,
}; };
static const union AnimCmd sSolarbeamBigOrbAnimCmds7[] = static const union AnimCmd sSolarBeamBigOrbAnimCmds7[] =
{ {
ANIMCMD_FRAME(6, 1), ANIMCMD_FRAME(6, 1),
ANIMCMD_END, ANIMCMD_END,
}; };
static const union AnimCmd sSolarbeamSmallOrbAnimCms[] = static const union AnimCmd sSolarBeamSmallOrbAnimCms[] =
{ {
ANIMCMD_FRAME(7, 1), ANIMCMD_FRAME(7, 1),
ANIMCMD_END, ANIMCMD_END,
@@ -191,20 +191,20 @@ static const union AnimCmd sPowerAbsorptionOrbAnimCmds[] =
ANIMCMD_END, ANIMCMD_END,
}; };
static const union AnimCmd *const sSolarbeamBigOrbAnimTable[] = static const union AnimCmd *const sSolarBeamBigOrbAnimTable[] =
{ {
sSolarbeamBigOrbAnimCmds1, sSolarBeamBigOrbAnimCmds1,
sSolarbeamBigOrbAnimCmds2, sSolarBeamBigOrbAnimCmds2,
sSolarbeamBigOrbAnimCmds3, sSolarBeamBigOrbAnimCmds3,
sSolarbeamBigOrbAnimCmds4, sSolarBeamBigOrbAnimCmds4,
sSolarbeamBigOrbAnimCmds5, sSolarBeamBigOrbAnimCmds5,
sSolarbeamBigOrbAnimCmds6, sSolarBeamBigOrbAnimCmds6,
sSolarbeamBigOrbAnimCmds7, sSolarBeamBigOrbAnimCmds7,
}; };
static const union AnimCmd *const sSolarbeamSmallOrbAnimTable[] = static const union AnimCmd *const sSolarBeamSmallOrbAnimTable[] =
{ {
sSolarbeamSmallOrbAnimCms, sSolarBeamSmallOrbAnimCms,
}; };
static const union AnimCmd *const sPowerAbsorptionOrbAnimTable[] = static const union AnimCmd *const sPowerAbsorptionOrbAnimTable[] =
@@ -234,26 +234,26 @@ const struct SpriteTemplate gPowerAbsorptionOrbSpriteTemplate =
.callback = AnimPowerAbsorptionOrb, .callback = AnimPowerAbsorptionOrb,
}; };
const struct SpriteTemplate gSolarbeamBigOrbSpriteTemplate = const struct SpriteTemplate gSolarBeamBigOrbSpriteTemplate =
{ {
.tileTag = ANIM_TAG_ORBS, .tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sSolarbeamBigOrbAnimTable, .anims = sSolarBeamBigOrbAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSolarbeamBigOrb, .callback = AnimSolarBeamBigOrb,
}; };
const struct SpriteTemplate gSolarbeamSmallOrbSpriteTemplate = const struct SpriteTemplate gSolarBeamSmallOrbSpriteTemplate =
{ {
.tileTag = ANIM_TAG_ORBS, .tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sSolarbeamSmallOrbAnimTable, .anims = sSolarBeamSmallOrbAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSolarbeamSmallOrb, .callback = AnimSolarBeamSmallOrb,
}; };
static const union AffineAnimCmd sStockpileAbsorptionOrbAffineCmds[] = static const union AffineAnimCmd sStockpileAbsorptionOrbAffineCmds[] =
@@ -306,7 +306,7 @@ const struct SpriteTemplate gHyperBeamOrbSpriteTemplate =
.tileTag = ANIM_TAG_ORBS, .tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS,
.oam = &gOamData_AffineOff_ObjNormal_8x8, .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sSolarbeamBigOrbAnimTable, .anims = sSolarBeamBigOrbAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimHyperBeamOrb, .callback = AnimHyperBeamOrb,
@@ -2219,7 +2219,7 @@ void AnimPowerAbsorptionOrb(struct Sprite* sprite)
// arg 1: initial y pixel offset // arg 1: initial y pixel offset
// arg 2: duration // arg 2: duration
// arg 3: sprite anim number // arg 3: sprite anim number
void AnimSolarbeamBigOrb(struct Sprite* sprite) void AnimSolarBeamBigOrb(struct Sprite* sprite)
{ {
InitSpritePosToAnimAttacker(sprite, TRUE); InitSpritePosToAnimAttacker(sprite, TRUE);
StartSpriteAnim(sprite, gBattleAnimArgs[3]); StartSpriteAnim(sprite, gBattleAnimArgs[3]);
@@ -2231,12 +2231,12 @@ void AnimSolarbeamBigOrb(struct Sprite* sprite)
} }
// Moves a small orb in a wavy pattern towards the target mon. // Moves a small orb in a wavy pattern towards the target mon.
// The small orb "circles" the big orbs in AnimSolarbeamBigOrb. // The small orb "circles" the big orbs in AnimSolarBeamBigOrb.
// arg 0: initial x pixel offset // arg 0: initial x pixel offset
// arg 1: initial y pixel offset // arg 1: initial y pixel offset
// arg 2: duration // arg 2: duration
// arg 3: initial wave offset // arg 3: initial wave offset
void AnimSolarbeamSmallOrb(struct Sprite* sprite) void AnimSolarBeamSmallOrb(struct Sprite* sprite)
{ {
InitSpritePosToAnimAttacker(sprite, TRUE); InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[2];
@@ -2246,11 +2246,11 @@ void AnimSolarbeamSmallOrb(struct Sprite* sprite)
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
InitAnimLinearTranslation(sprite); InitAnimLinearTranslation(sprite);
sprite->data[5] = gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[3];
sprite->callback = AnimSolarbeamSmallOrbStep; sprite->callback = AnimSolarBeamSmallOrbStep;
sprite->callback(sprite); sprite->callback(sprite);
} }
static void AnimSolarbeamSmallOrbStep(struct Sprite* sprite) static void AnimSolarBeamSmallOrbStep(struct Sprite* sprite)
{ {
if (AnimTranslateLinear(sprite)) if (AnimTranslateLinear(sprite))
{ {
@@ -2272,7 +2272,7 @@ static void AnimSolarbeamSmallOrbStep(struct Sprite* sprite)
// Creates 15 small secondary orbs used in the solarbeam anim effect. // Creates 15 small secondary orbs used in the solarbeam anim effect.
// There is a 7-frame delay between each of them. // There is a 7-frame delay between each of them.
// No args. // No args.
void AnimTask_CreateSmallSolarbeamOrbs(u8 taskId) void AnimTask_CreateSmallSolarBeamOrbs(u8 taskId)
{ {
if (--gTasks[taskId].data[0] == -1) if (--gTasks[taskId].data[0] == -1)
{ {
@@ -2282,7 +2282,7 @@ void AnimTask_CreateSmallSolarbeamOrbs(u8 taskId)
gBattleAnimArgs[1] = 0; gBattleAnimArgs[1] = 0;
gBattleAnimArgs[2] = 80; gBattleAnimArgs[2] = 80;
gBattleAnimArgs[3] = 0; gBattleAnimArgs[3] = 0;
CreateSpriteAndAnimate(&gSolarbeamSmallOrbSpriteTemplate, 0, 0, GetBattlerSpriteSubpriority(gBattleAnimTarget) + 1); CreateSpriteAndAnimate(&gSolarBeamSmallOrbSpriteTemplate, 0, 0, GetBattlerSpriteSubpriority(gBattleAnimTarget) + 1);
} }
if (gTasks[taskId].data[1] == 15) if (gTasks[taskId].data[1] == 15)
+1 -1
View File
@@ -1766,7 +1766,7 @@ static void OakOldManHandlePrintString(void)
{ {
switch (*stringId) switch (*stringId)
{ {
case STRINGID_PKMNSSTATCHANGED4: case STRINGID_DEFENDERSSTATFELL:
if (!BtlCtrl_OakOldMan_TestState2Flag(FIRST_BATTLE_MSG_FLAG_STAT_CHG)) if (!BtlCtrl_OakOldMan_TestState2Flag(FIRST_BATTLE_MSG_FLAG_STAT_CHG))
{ {
BtlCtrl_OakOldMan_SetState2Flag(FIRST_BATTLE_MSG_FLAG_STAT_CHG); BtlCtrl_OakOldMan_SetState2Flag(FIRST_BATTLE_MSG_FLAG_STAT_CHG);
+1 -1
View File
@@ -487,7 +487,7 @@ void TryReceiveLinkBattleData(void)
s32 j; s32 j;
u8 *recvBuffer; u8 *recvBuffer;
if (gReceivedRemoteLinkPlayers && (gBattleTypeFlags & BATTLE_TYPE_LINK_ESTABLISHED) && (gLinkPlayers[0].linkType == 0x2211)) if (gReceivedRemoteLinkPlayers && (gBattleTypeFlags & BATTLE_TYPE_LINK_IN_BATTLE) && (gLinkPlayers[0].linkType == 0x2211))
{ {
LinkRfu_DestroyIdleTask(); LinkRfu_DestroyIdleTask();
for (i = 0; i < GetLinkPlayerCount(); ++i) for (i = 0; i < GetLinkPlayerCount(); ++i)
+14 -14
View File
@@ -1051,7 +1051,7 @@ static void CB2_HandleStartBattle(void)
SetMainCallback2(BattleMainCB2); SetMainCallback2(BattleMainCB2);
if (gBattleTypeFlags & BATTLE_TYPE_LINK) if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{ {
gBattleTypeFlags |= BATTLE_TYPE_LINK_ESTABLISHED; gBattleTypeFlags |= BATTLE_TYPE_LINK_IN_BATTLE;
} }
} }
break; break;
@@ -1409,7 +1409,7 @@ static void CB2_HandleStartMultiBattle(void)
gMain.callback1 = BattleMainCB1; gMain.callback1 = BattleMainCB1;
SetMainCallback2(BattleMainCB2); SetMainCallback2(BattleMainCB2);
if (gBattleTypeFlags & BATTLE_TYPE_LINK) if (gBattleTypeFlags & BATTLE_TYPE_LINK)
gBattleTypeFlags |= BATTLE_TYPE_LINK_ESTABLISHED; gBattleTypeFlags |= BATTLE_TYPE_LINK_IN_BATTLE;
} }
break; break;
case 5: case 5:
@@ -2433,7 +2433,7 @@ static void BattleIntroGetMonsData(void)
{ {
case 0: case 0:
gActiveBattler = gBattleCommunication[1]; gActiveBattler = gBattleCommunication[1];
BtlController_EmitGetMonData(0, REQUEST_ALL_BATTLE, 0); BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0);
MarkBattlerForControllerExec(gActiveBattler); MarkBattlerForControllerExec(gActiveBattler);
++gBattleCommunication[MULTIUSE_STATE]; ++gBattleCommunication[MULTIUSE_STATE];
break; break;
@@ -2742,7 +2742,7 @@ static void Unused_AutoProgressToSwitchInAnims(void)
{ {
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
{ {
BtlController_EmitSwitchInAnim(0, gBattlerPartyIndexes[gActiveBattler], FALSE); BtlController_EmitSwitchInAnim(BUFFER_A, gBattlerPartyIndexes[gActiveBattler], FALSE);
MarkBattlerForControllerExec(gActiveBattler); MarkBattlerForControllerExec(gActiveBattler);
} }
} }
@@ -3098,7 +3098,7 @@ static void HandleTurnActionSelectionState(void)
*(gBattleStruct->battlerPartyIndexes + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; *(gBattleStruct->battlerPartyIndexes + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler];
if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION) || gStatuses3[gActiveBattler] & STATUS3_ROOTED) if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION) || gStatuses3[gActiveBattler] & STATUS3_ROOTED)
{ {
BtlController_EmitChoosePokemon(0, PARTY_ACTION_CANT_SWITCH, 6, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CANT_SWITCH, 6, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]);
} }
else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG)) else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG))
|| ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP)) || ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP))
@@ -3107,16 +3107,16 @@ static void HandleTurnActionSelectionState(void)
|| ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0)) || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0))
&& IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL))) && IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL)))
{ {
BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, 6, gLastUsedAbility, gBattleStruct->battlerPartyOrders[gActiveBattler]); BtlController_EmitChoosePokemon(BUFFER_A, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, 6, gLastUsedAbility, gBattleStruct->battlerPartyOrders[gActiveBattler]);
} }
else else
{ {
if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH)
BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]);
else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH)
BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]);
else else
BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, 6, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, 6, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]);
} }
MarkBattlerForControllerExec(gActiveBattler); MarkBattlerForControllerExec(gActiveBattler);
break; break;
@@ -3874,7 +3874,7 @@ static void HandleAction_UseMove(void)
gBattleStruct->atkCancellerTracker = 0; gBattleStruct->atkCancellerTracker = 0;
gMoveResultFlags = 0; gMoveResultFlags = 0;
gMultiHitCounter = 0; gMultiHitCounter = 0;
gBattleCommunication[6] = 0; gBattleCommunication[MISS_TYPE] = 0;
gCurrMovePos = gChosenMovePos = *(gBattleStruct->chosenMovePositions + gBattlerAttacker); gCurrMovePos = gChosenMovePos = *(gBattleStruct->chosenMovePositions + gBattlerAttacker);
// choose move // choose move
if (gProtectStructs[gBattlerAttacker].noValidMoves) if (gProtectStructs[gBattlerAttacker].noValidMoves)
@@ -4344,8 +4344,8 @@ static void HandleAction_NothingIsFainted(void)
gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED
| HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR
| HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_PASSIVE_DAMAGE | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_PASSIVE_DAMAGE
| HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT | HITMARKER_OBEYS | HITMARKER_WAKE_UP_CLEAR | HITMARKER_SYNCHRONISE_EFFECT
| HITMARKER_CHARGING | HITMARKER_x4000000); | HITMARKER_CHARGING | HITMARKER_NEVER_SET);
} }
static void HandleAction_ActionFinished(void) static void HandleAction_ActionFinished(void)
@@ -4356,8 +4356,8 @@ static void HandleAction_ActionFinished(void)
gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED
| HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR
| HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_PASSIVE_DAMAGE | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_PASSIVE_DAMAGE
| HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT | HITMARKER_OBEYS | HITMARKER_WAKE_UP_CLEAR | HITMARKER_SYNCHRONISE_EFFECT
| HITMARKER_CHARGING | HITMARKER_x4000000); | HITMARKER_CHARGING | HITMARKER_NEVER_SET);
gCurrentMove = MOVE_NONE; gCurrentMove = MOVE_NONE;
gBattleMoveDamage = 0; gBattleMoveDamage = 0;
gMoveResultFlags = 0; gMoveResultFlags = 0;
+21 -20
View File
@@ -302,11 +302,11 @@ static const u8 sText_StatSharply[] = _("sharply ");
const u8 gBattleText_Rose[] = _("rose!"); const u8 gBattleText_Rose[] = _("rose!");
static const u8 sText_StatHarshly[] = _("harshly "); static const u8 sText_StatHarshly[] = _("harshly ");
static const u8 sText_StatFell[] = _("fell!"); static const u8 sText_StatFell[] = _("fell!");
static const u8 sText_PkmnsStatChanged[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); static const u8 sText_AttackersStatRose[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
const u8 gText_PkmnsStatChanged2[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); const u8 gText_DefendersStatRose[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
static const u8 sText_UsingXTheYOfZN[] = _("Using {B_LAST_ITEM}, the {B_BUFF1}\nof {B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}"); static const u8 sText_UsingItemTheStatOfPkmnRose[] = _("Using {B_LAST_ITEM}, the {B_BUFF1}\nof {B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}");
static const u8 sText_PkmnsStatChanged3[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); static const u8 sText_AttackersStatFell[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
static const u8 sText_PkmnsStatChanged4[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); static const u8 sText_DefendersStatFell[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
static const u8 sText_StatsWontIncrease2[] = _("{B_ATK_NAME_WITH_PREFIX}'s stats won't\ngo any higher!"); static const u8 sText_StatsWontIncrease2[] = _("{B_ATK_NAME_WITH_PREFIX}'s stats won't\ngo any higher!");
static const u8 sText_StatsWontDecrease2[] = _("{B_DEF_NAME_WITH_PREFIX}'s stats won't\ngo any lower!"); static const u8 sText_StatsWontDecrease2[] = _("{B_DEF_NAME_WITH_PREFIX}'s stats won't\ngo any lower!");
static const u8 sText_CriticalHit[] = _("A critical hit!"); static const u8 sText_CriticalHit[] = _("A critical hit!");
@@ -715,10 +715,10 @@ const u8 *const gBattleStringsTable[] = {
[STRINGID_STATROSE - 12] = gBattleText_Rose, [STRINGID_STATROSE - 12] = gBattleText_Rose,
[STRINGID_STATHARSHLY - 12] = sText_StatHarshly, [STRINGID_STATHARSHLY - 12] = sText_StatHarshly,
[STRINGID_STATFELL - 12] = sText_StatFell, [STRINGID_STATFELL - 12] = sText_StatFell,
[STRINGID_PKMNSSTATCHANGED - 12] = sText_PkmnsStatChanged, [STRINGID_ATTACKERSSTATROSE - 12] = sText_AttackersStatRose,
[STRINGID_PKMNSSTATCHANGED2 - 12] = gText_PkmnsStatChanged2, [STRINGID_DEFENDERSSTATROSE - 12] = gText_DefendersStatRose,
[STRINGID_PKMNSSTATCHANGED3 - 12] = sText_PkmnsStatChanged3, [STRINGID_ATTACKERSSTATFELL - 12] = sText_AttackersStatFell,
[STRINGID_PKMNSSTATCHANGED4 - 12] = sText_PkmnsStatChanged4, [STRINGID_DEFENDERSSTATFELL - 12] = sText_DefendersStatFell,
[STRINGID_CRITICALHIT - 12] = sText_CriticalHit, [STRINGID_CRITICALHIT - 12] = sText_CriticalHit,
[STRINGID_ONEHITKO - 12] = sText_OneHitKO, [STRINGID_ONEHITKO - 12] = sText_OneHitKO,
[STRINGID_123POOF - 12] = sText_123Poof, [STRINGID_123POOF - 12] = sText_123Poof,
@@ -827,7 +827,7 @@ const u8 *const gBattleStringsTable[] = {
[STRINGID_SOOTHINGAROMA - 12] = sText_SoothingAroma, [STRINGID_SOOTHINGAROMA - 12] = sText_SoothingAroma,
[STRINGID_ITEMSCANTBEUSEDNOW - 12] = sText_ItemsCantBeUsedNow, [STRINGID_ITEMSCANTBEUSEDNOW - 12] = sText_ItemsCantBeUsedNow,
[STRINGID_FORXCOMMAYZ - 12] = sText_ForXCommaYZ, [STRINGID_FORXCOMMAYZ - 12] = sText_ForXCommaYZ,
[STRINGID_USINGXTHEYOFZN - 12] = sText_UsingXTheYOfZN, [STRINGID_USINGITEMSTATOFPKMNROSE - 12] = sText_UsingItemTheStatOfPkmnRose,
[STRINGID_PKMNUSEDXTOGETPUMPED - 12] = sText_PkmnUsedXToGetPumped, [STRINGID_PKMNUSEDXTOGETPUMPED - 12] = sText_PkmnUsedXToGetPumped,
[STRINGID_PKMNSXMADEYUSELESS - 12] = sText_PkmnsXMadeYUseless, [STRINGID_PKMNSXMADEYUSELESS - 12] = sText_PkmnsXMadeYUseless,
[STRINGID_PKMNTRAPPEDBYSANDTOMB - 12] = sText_PkmnTrappedBySandTomb, [STRINGID_PKMNTRAPPEDBYSANDTOMB - 12] = sText_PkmnTrappedBySandTomb,
@@ -990,18 +990,19 @@ const u16 gUproarAwakeStringIds[] = {
STRINGID_PKMNSTAYEDAWAKEUSING STRINGID_PKMNSTAYEDAWAKEUSING
}; };
const u16 gStatUpStringIds[] = { const u16 gStatUpStringIds[] =
STRINGID_PKMNSSTATCHANGED, {
STRINGID_PKMNSSTATCHANGED2, [B_MSG_ATTACKER_STAT_ROSE] = STRINGID_ATTACKERSSTATROSE,
STRINGID_STATSWONTINCREASE, [B_MSG_DEFENDER_STAT_ROSE] = STRINGID_DEFENDERSSTATROSE,
STRINGID_EMPTYSTRING3, [B_MSG_STAT_WONT_INCREASE] = STRINGID_STATSWONTINCREASE,
STRINGID_USINGXTHEYOFZN, [B_MSG_STAT_ROSE_EMPTY] = STRINGID_EMPTYSTRING3,
STRINGID_PKMNUSEDXTOGETPUMPED [B_MSG_STAT_ROSE_ITEM] = STRINGID_USINGITEMSTATOFPKMNROSE,
[B_MSG_USED_DIRE_HIT] = STRINGID_PKMNUSEDXTOGETPUMPED,
}; };
const u16 gStatDownStringIds[] = { const u16 gStatDownStringIds[] = {
STRINGID_PKMNSSTATCHANGED3, STRINGID_ATTACKERSSTATFELL,
STRINGID_PKMNSSTATCHANGED4, STRINGID_DEFENDERSSTATFELL,
STRINGID_STATSWONTDECREASE, STRINGID_STATSWONTDECREASE,
STRINGID_EMPTYSTRING3 STRINGID_EMPTYSTRING3
}; };
@@ -2456,7 +2457,7 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId) {
if (!(textFlags & 0x80)) if (!(textFlags & 0x80))
{ {
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
} }
+1 -1
View File
@@ -557,7 +557,7 @@ static void PrintBattleRecords(void)
static void CommitWindow(u8 windowId) static void CommitWindow(u8 windowId)
{ {
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static void LoadFrameGfxOnBg(u8 bg) static void LoadFrameGfxOnBg(u8 bg)
+1793 -1359
View File
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -687,7 +687,7 @@ u8 DoBattlerEndTurnEffects(void)
{ {
u8 effect = 0; u8 effect = 0;
gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK);
while (gBattleStruct->turnEffectsBattlerId < gBattlersCount && gBattleStruct->turnEffectsTracker <= ENDTURN_BATTLER_COUNT) while (gBattleStruct->turnEffectsBattlerId < gBattlersCount && gBattleStruct->turnEffectsTracker <= ENDTURN_BATTLER_COUNT)
{ {
gActiveBattler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->turnEffectsBattlerId]; gActiveBattler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->turnEffectsBattlerId];
@@ -1000,13 +1000,13 @@ u8 DoBattlerEndTurnEffects(void)
return effect; return effect;
} }
} }
gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_x20); gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK);
return 0; return 0;
} }
bool8 HandleWishPerishSongOnTurnEnd(void) bool8 HandleWishPerishSongOnTurnEnd(void)
{ {
gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK);
switch (gBattleStruct->wishPerishSongState) switch (gBattleStruct->wishPerishSongState)
{ {
case 0: case 0:
@@ -1073,7 +1073,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
} }
break; break;
} }
gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_x20); gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK);
return FALSE; return FALSE;
} }
@@ -1874,7 +1874,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
} }
} }
break; break;
case ABILITYEFFECT_MOVE_END: // Think contact abilities. case ABILITYEFFECT_ON_DAMAGE: // Think contact abilities.
switch (gLastUsedAbility) switch (gLastUsedAbility)
{ {
case ABILITY_COLOR_CHANGE: case ABILITY_COLOR_CHANGE:
@@ -2234,12 +2234,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
case ABILITYEFFECT_FIELD_SPORT: // 14 case ABILITYEFFECT_FIELD_SPORT: // 14
switch (gLastUsedAbility) switch (gLastUsedAbility)
{ {
case 0xFD: case ABILITYEFFECT_MUD_SPORT:
for (i = 0; i < gBattlersCount; ++i) for (i = 0; i < gBattlersCount; ++i)
if (gStatuses3[i] & STATUS3_MUDSPORT) if (gStatuses3[i] & STATUS3_MUDSPORT)
effect = i + 1; effect = i + 1;
break; break;
case 0xFE: case ABILITYEFFECT_WATER_SPORT:
for (i = 0; i < gBattlersCount; ++i) for (i = 0; i < gBattlersCount; ++i)
if (gStatuses3[i] & STATUS3_WATERSPORT) if (gStatuses3[i] & STATUS3_WATERSPORT)
effect = i + 1; effect = i + 1;
@@ -2976,7 +2976,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
{ {
gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_FLINCH; gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_FLINCH;
BattleScriptPushCursor(); BattleScriptPushCursor();
SetMoveEffect(0, 0); SetMoveEffect(FALSE, 0);
BattleScriptPop(); BattleScriptPop();
} }
break; break;
@@ -3158,7 +3158,7 @@ u8 IsMonDisobedient(void)
gCalledMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; gCalledMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos];
gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove; gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove;
gBattlerTarget = GetMoveTarget(gCalledMove, 0); gBattlerTarget = GetMoveTarget(gCalledMove, 0);
gHitMarker |= HITMARKER_x200000; gHitMarker |= HITMARKER_DISOBEDIENT_MOVE;
return 2; return 2;
} }
} }
+6 -6
View File
@@ -1274,7 +1274,7 @@ static u32 Cmd_PrintMessage(struct BerryCrushGame * game, u8 *args)
{ {
AddTextPrinterParameterized2(0, 2, sMessages[bMsgId], game->textSpeed, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); AddTextPrinterParameterized2(0, 2, sMessages[bMsgId], game->textSpeed, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY);
} }
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
break; break;
case 1: case 1:
if (!IsTextPrinterActive(0)) if (!IsTextPrinterActive(0))
@@ -2223,7 +2223,7 @@ static u32 Cmd_SaveGame(struct BerryCrushGame * game, u8 *args)
return 0; return 0;
DrawDialogueFrame(0, FALSE); DrawDialogueFrame(0, FALSE);
AddTextPrinterParameterized2(0, 2, gText_SavingDontTurnOffThePower2, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); AddTextPrinterParameterized2(0, 2, gText_SavingDontTurnOffThePower2, 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
CreateTask(Task_LinkSave, 0); CreateTask(Task_LinkSave, 0);
break; break;
case 3: case 3:
@@ -2370,7 +2370,7 @@ static u32 Cmd_StopGame(struct BerryCrushGame * game, UNUSED u8 *args)
AddTextPrinterParameterized2(0, 2, sMessages[MSG_NO_BERRIES], game->textSpeed, NULL, 2, 1, 3); AddTextPrinterParameterized2(0, 2, sMessages[MSG_NO_BERRIES], game->textSpeed, NULL, 2, 1, 3);
else else
AddTextPrinterParameterized2(0, 2, sMessages[MSG_DROPPED], game->textSpeed, NULL, 2, 1, 3); AddTextPrinterParameterized2(0, 2, sMessages[MSG_DROPPED], game->textSpeed, NULL, 2, 1, 3);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
break; break;
case 1: case 1:
if (IsTextPrinterActive(0)) if (IsTextPrinterActive(0))
@@ -3073,7 +3073,7 @@ static bool32 OpenResultsWindow(struct BerryCrushGame * game, struct BerryCrushG
printCrushingResults(game); printCrushingResults(game);
break; break;
case 5: case 5:
CopyWindowToVram(spriteManager->resultsWindowId, COPYWIN_BOTH); CopyWindowToVram(spriteManager->resultsWindowId, COPYWIN_FULL);
spriteManager->resultsState = 0; spriteManager->resultsState = 0;
return TRUE; return TRUE;
} }
@@ -3166,7 +3166,7 @@ static void Task_ShowBerryCrushRankings(u8 taskId)
yPos += 14; yPos += 14;
score = 0; score = 0;
} }
CopyWindowToVram(tWindowId, COPYWIN_BOTH); CopyWindowToVram(tWindowId, COPYWIN_FULL);
break; break;
case 2: case 2:
if (JOY_NEW(A_BUTTON | B_BUTTON)) if (JOY_NEW(A_BUTTON | B_BUTTON))
@@ -3263,7 +3263,7 @@ static void DrawPlayerNameWindows(struct BerryCrushGame * game)
game->players[i].name game->players[i].name
); );
} }
CopyWindowToVram(game->gfx.nameWindowIds[i], COPYWIN_BOTH); CopyWindowToVram(game->gfx.nameWindowIds[i], COPYWIN_FULL);
} }
CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(0);
} }
+3 -3
View File
@@ -80,13 +80,13 @@ static void PrintNewCountOnLinkPlayerCountDisplayWindow(u16 windowId, s32 num)
SetStdWindowBorderStyle(windowId, FALSE); SetStdWindowBorderStyle(windowId, FALSE);
StringExpandPlaceholders(gStringVar4, gUnknown_841DF82); StringExpandPlaceholders(gStringVar4, gUnknown_841DF82);
AddTextPrinterParameterized(windowId, 2, gStringVar4, 0, 0, TEXT_SKIP_DRAW, NULL); AddTextPrinterParameterized(windowId, 2, gStringVar4, 0, 0, TEXT_SKIP_DRAW, NULL);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static void DestroyLinkPlayerCountDisplayWindow(u16 windowId) static void DestroyLinkPlayerCountDisplayWindow(u16 windowId)
{ {
ClearStdWindowAndFrame(windowId, FALSE); ClearStdWindowAndFrame(windowId, FALSE);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static void UpdateLinkPlayerCountDisplay(u8 taskId, u8 num) static void UpdateLinkPlayerCountDisplay(u8 taskId, u8 num)
@@ -723,7 +723,7 @@ static void sub_8081624(void)
void CB2_ReturnFromCableClubBattle(void) void CB2_ReturnFromCableClubBattle(void)
{ {
gBattleTypeFlags &= (u16)~BATTLE_TYPE_LINK_ESTABLISHED; gBattleTypeFlags &= (u16)~BATTLE_TYPE_LINK_IN_BATTLE;
Overworld_ResetMapMusic(); Overworld_ResetMapMusic();
LoadPlayerParty(); LoadPlayerParty();
SavePlayerBag(); SavePlayerBag();
+1 -1
View File
@@ -139,7 +139,7 @@ static void Task_HandleYesNoMenu(u8 taskId)
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
FillWindowPixelBuffer(1, PIXEL_FILL(1)); FillWindowPixelBuffer(1, PIXEL_FILL(1));
AddTextPrinterParameterized4(1, 2, 0, 3, 1, 1, sTextColor, 0, gUnknown_841B6B9); AddTextPrinterParameterized4(1, 2, 0, 3, 1, 1, sTextColor, 0, gUnknown_841B6B9);
CopyWindowToVram(1, COPYWIN_BOTH); CopyWindowToVram(1, COPYWIN_FULL);
ClearSaveData(); ClearSaveData();
break; break;
case MENU_NOTHING_CHOSEN: case MENU_NOTHING_CHOSEN:
+1 -1
View File
@@ -761,7 +761,7 @@ static void CreateCreditsWindow(void)
sCreditsMgr->windowId = AddWindow(&sCreditsWindowTemplate); sCreditsMgr->windowId = AddWindow(&sCreditsWindowTemplate);
FillWindowPixelBuffer(sCreditsMgr->windowId, PIXEL_FILL(0)); FillWindowPixelBuffer(sCreditsMgr->windowId, PIXEL_FILL(0));
PutWindowTilemap(sCreditsMgr->windowId); PutWindowTilemap(sCreditsMgr->windowId);
CopyWindowToVram(sCreditsMgr->windowId, COPYWIN_BOTH); CopyWindowToVram(sCreditsMgr->windowId, COPYWIN_FULL);
sCreditsMgr->windowIsActive = TRUE; sCreditsMgr->windowIsActive = TRUE;
} }
+1 -1
View File
@@ -990,7 +990,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
[MOVE_SOLAR_BEAM] = [MOVE_SOLAR_BEAM] =
{ {
.effect = EFFECT_SOLARBEAM, .effect = EFFECT_SOLAR_BEAM,
.power = 120, .power = 120,
.type = TYPE_GRASS, .type = TYPE_GRASS,
.accuracy = 100, .accuracy = 100,
+124 -124
View File
@@ -15,7 +15,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -35,7 +35,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -57,7 +57,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -239,7 +239,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -264,7 +264,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM31_BRICK_BREAK) | TMHM(TM31_BRICK_BREAK)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -758,7 +758,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -794,7 +794,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -867,7 +867,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
@@ -901,7 +901,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
@@ -974,7 +974,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -992,7 +992,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -1011,7 +1011,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -1029,7 +1029,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -1052,7 +1052,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -1073,7 +1073,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -1093,7 +1093,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -1607,7 +1607,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -1626,7 +1626,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -1646,7 +1646,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -1778,7 +1778,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM11_SUNNY_DAY) | TMHM(TM11_SUNNY_DAY)
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -1797,7 +1797,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM15_HYPER_BEAM) | TMHM(TM15_HYPER_BEAM)
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -2348,7 +2348,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -2372,7 +2372,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -2495,7 +2495,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -2647,7 +2647,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -2680,7 +2680,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -2706,7 +2706,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -2872,7 +2872,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
@@ -3021,7 +3021,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -3198,7 +3198,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -3356,7 +3356,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
@@ -3560,7 +3560,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -3608,7 +3608,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -3655,7 +3655,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -3676,7 +3676,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -3700,7 +3700,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
@@ -3874,7 +3874,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
@@ -3903,7 +3903,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -3976,7 +3976,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM31_BRICK_BREAK) | TMHM(TM31_BRICK_BREAK)
@@ -4000,7 +4000,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM31_BRICK_BREAK) | TMHM(TM31_BRICK_BREAK)
@@ -4020,7 +4020,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
@@ -4040,7 +4040,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
@@ -4151,7 +4151,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
@@ -4177,7 +4177,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
@@ -4202,7 +4202,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -4229,7 +4229,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -4258,7 +4258,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -4284,7 +4284,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -4373,7 +4373,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -4493,7 +4493,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM40_AERIAL_ACE) | TMHM(TM40_AERIAL_ACE)
@@ -4510,7 +4510,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM40_AERIAL_ACE) | TMHM(TM40_AERIAL_ACE)
@@ -4528,7 +4528,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM40_AERIAL_ACE) | TMHM(TM40_AERIAL_ACE)
@@ -4547,7 +4547,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -4577,7 +4577,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -4598,7 +4598,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -4615,7 +4615,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -4855,7 +4855,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
@@ -4877,7 +4877,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
@@ -4901,7 +4901,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -4982,7 +4982,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
@@ -5017,7 +5017,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -5455,7 +5455,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM12_TAUNT) | TMHM(TM12_TAUNT)
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -5481,7 +5481,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM15_HYPER_BEAM) | TMHM(TM15_HYPER_BEAM)
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -5568,7 +5568,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -5593,7 +5593,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -5731,7 +5731,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -5766,7 +5766,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -5826,7 +5826,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
@@ -6003,7 +6003,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
@@ -6039,7 +6039,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -6114,7 +6114,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
@@ -6140,7 +6140,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
@@ -6169,7 +6169,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
@@ -6450,7 +6450,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -6473,7 +6473,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -6499,7 +6499,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM42_FACADE) | TMHM(TM42_FACADE)
@@ -6522,7 +6522,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM31_BRICK_BREAK) | TMHM(TM31_BRICK_BREAK)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -6552,7 +6552,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM31_BRICK_BREAK) | TMHM(TM31_BRICK_BREAK)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -6575,7 +6575,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -6595,7 +6595,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -6621,7 +6621,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -6646,7 +6646,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -6666,7 +6666,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -6688,7 +6688,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -6745,7 +6745,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -6767,7 +6767,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM31_BRICK_BREAK) | TMHM(TM31_BRICK_BREAK)
@@ -6866,7 +6866,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -6888,7 +6888,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -6960,7 +6960,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -6987,7 +6987,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -7014,7 +7014,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -7048,7 +7048,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
@@ -7073,7 +7073,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
@@ -7383,7 +7383,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
@@ -7404,7 +7404,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM28_DIG) | TMHM(TM28_DIG)
@@ -7428,7 +7428,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
@@ -7660,7 +7660,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM37_SANDSTORM) | TMHM(TM37_SANDSTORM)
@@ -7680,7 +7680,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM37_SANDSTORM) | TMHM(TM37_SANDSTORM)
@@ -7769,7 +7769,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM29_PSYCHIC) | TMHM(TM29_PSYCHIC)
@@ -7906,7 +7906,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM31_BRICK_BREAK) | TMHM(TM31_BRICK_BREAK)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -7982,7 +7982,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM40_AERIAL_ACE) | TMHM(TM40_AERIAL_ACE)
@@ -8005,7 +8005,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
@@ -8085,7 +8085,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -8108,7 +8108,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
@@ -8140,7 +8140,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
@@ -8174,7 +8174,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
@@ -8204,7 +8204,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -8229,7 +8229,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -8253,7 +8253,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -8279,7 +8279,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -8302,7 +8302,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -8332,7 +8332,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM30_SHADOW_BALL) | TMHM(TM30_SHADOW_BALL)
@@ -8538,7 +8538,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -8649,7 +8649,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -8683,7 +8683,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
@@ -8710,7 +8710,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
@@ -8736,7 +8736,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
@@ -8759,7 +8759,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
| TMHM(TM36_SLUDGE_BOMB) | TMHM(TM36_SLUDGE_BOMB)
@@ -8777,7 +8777,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM19_GIGA_DRAIN) | TMHM(TM19_GIGA_DRAIN)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
| TMHM(TM32_DOUBLE_TEAM) | TMHM(TM32_DOUBLE_TEAM)
@@ -9160,7 +9160,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -9196,7 +9196,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM17_PROTECT) | TMHM(TM17_PROTECT)
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM23_IRON_TAIL) | TMHM(TM23_IRON_TAIL)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
@@ -9234,7 +9234,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
@@ -9272,7 +9272,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM26_EARTHQUAKE) | TMHM(TM26_EARTHQUAKE)
@@ -9337,7 +9337,7 @@ static const u32 sTMHMLearnsets[][2] =
| TMHM(TM18_RAIN_DANCE) | TMHM(TM18_RAIN_DANCE)
| TMHM(TM20_SAFEGUARD) | TMHM(TM20_SAFEGUARD)
| TMHM(TM21_FRUSTRATION) | TMHM(TM21_FRUSTRATION)
| TMHM(TM22_SOLARBEAM) | TMHM(TM22_SOLAR_BEAM)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM27_RETURN) | TMHM(TM27_RETURN)
+2 -2
View File
@@ -1542,7 +1542,7 @@ void ShowDaycareLevelMenu(void)
menuTemplate.windowId = windowId; menuTemplate.windowId = windowId;
listMenuTaskId = ListMenuInit(&menuTemplate, 0, 0); listMenuTaskId = ListMenuInit(&menuTemplate, 0, 0);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
daycareMenuTaskId = CreateTask(Task_HandleDaycareLevelMenuInput, 3); daycareMenuTaskId = CreateTask(Task_HandleDaycareLevelMenuInput, 3);
gTasks[daycareMenuTaskId].tMenuListTaskId = listMenuTaskId; gTasks[daycareMenuTaskId].tMenuListTaskId = listMenuTaskId;
@@ -1937,7 +1937,7 @@ static void CB2_EggHatch_1(void)
PlayFanfare(MUS_EVOLVED); PlayFanfare(MUS_EVOLVED);
sEggHatchData->CB2_state++; sEggHatchData->CB2_state++;
PutWindowTilemap(sEggHatchData->windowId); PutWindowTilemap(sEggHatchData->windowId);
CopyWindowToVram(sEggHatchData->windowId, COPYWIN_BOTH); CopyWindowToVram(sEggHatchData->windowId, COPYWIN_FULL);
break; break;
case 6: case 6:
if (IsFanfareTaskInactive()) if (IsFanfareTaskInactive())
+1 -1
View File
@@ -2341,7 +2341,7 @@ static void Task_ShowDodrioBerryPickingRecords(u8 taskId)
case 0: case 0:
data[1] = AddWindow(&sUnknown_84755E0); data[1] = AddWindow(&sUnknown_84755E0);
sub_81538D0(data[1]); sub_81538D0(data[1]);
CopyWindowToVram(data[1], COPYWIN_BOTH); CopyWindowToVram(data[1], COPYWIN_FULL);
data[0]++; data[0]++;
break; break;
case 1: case 1:
+2 -2
View File
@@ -1370,7 +1370,7 @@ static void sub_81556E0(void)
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_Yes, 8, 2, -1, NULL); AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_Yes, 8, 2, -1, NULL);
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_No, 8, 16, -1, NULL); AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_No, 8, 16, -1, NULL);
AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_SelectorArrow2, 0, y == 1 ? 2 : 16, -1, NULL); AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_SelectorArrow2, 0, y == 1 ? 2 : 16, -1, NULL);
CopyWindowToVram(gUnknown_203F440->unk3008[1], COPYWIN_BOTH); CopyWindowToVram(gUnknown_203F440->unk3008[1], COPYWIN_FULL);
// Increment state only if A or B button have been pressed. // Increment state only if A or B button have been pressed.
if (JOY_NEW(A_BUTTON)) if (JOY_NEW(A_BUTTON))
{ {
@@ -1425,7 +1425,7 @@ static void sub_8155A78(void)
gUnknown_203F440->state++; gUnknown_203F440->state++;
break; break;
case 1: case 1:
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
gUnknown_203F440->state++; gUnknown_203F440->state++;
break; break;
case 2: case 2:
+4 -4
View File
@@ -1323,7 +1323,7 @@ static void PrintTitleText(void)
FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(0, PIXEL_FILL(0));
EC_AddTextPrinterParameterized2(0, 1, titleText, xOffset, 0, TEXT_SKIP_DRAW, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY); EC_AddTextPrinterParameterized2(0, 1, titleText, xOffset, 0, TEXT_SKIP_DRAW, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY);
PutWindowTilemap(0); PutWindowTilemap(0);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
} }
static void EC_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)) static void EC_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16))
@@ -1379,7 +1379,7 @@ static void PrintECInterfaceTextById(u8 direction)
if (text2) if (text2)
EC_AddTextPrinterParameterized(1, 1, text2, 0, 16, TEXT_SKIP_DRAW, NULL); EC_AddTextPrinterParameterized(1, 1, text2, 0, 16, TEXT_SKIP_DRAW, NULL);
CopyWindowToVram(1, COPYWIN_BOTH); CopyWindowToVram(1, COPYWIN_FULL);
} }
static void EC_CreateYesNoMenuWithInitialCursorPos(u8 initialCursorPos) static void EC_CreateYesNoMenuWithInitialCursorPos(u8 initialCursorPos)
@@ -1435,7 +1435,7 @@ static void PrintECFields(void)
ecWord++; ecWord++;
for (k = 0; k < 7; k++) for (k = 0; k < 7; k++)
{ {
*str++ = CHAR_EXTRA_EMOJI; *str++ = CHAR_EXTRA_SYMBOL;
*str++ = 9; *str++ = 9;
} }
@@ -1454,7 +1454,7 @@ static void PrintECFields(void)
EC_AddTextPrinterParameterized(sEasyChatGraphicsResources->windowId, 1, sEasyChatGraphicsResources->ecPrintBuffer, 0, i * 16, TEXT_SKIP_DRAW, NULL); EC_AddTextPrinterParameterized(sEasyChatGraphicsResources->windowId, 1, sEasyChatGraphicsResources->ecPrintBuffer, 0, i * 16, TEXT_SKIP_DRAW, NULL);
} }
CopyWindowToVram(sEasyChatGraphicsResources->windowId, COPYWIN_BOTH); CopyWindowToVram(sEasyChatGraphicsResources->windowId, COPYWIN_FULL);
} }
static void DrawECFrameInTilemapBuffer(u16 *tilemap) static void DrawECFrameInTilemapBuffer(u16 *tilemap)
+1 -1
View File
@@ -912,7 +912,7 @@ static void Task_EvolutionScene(u8 taskId)
case MVSTATE_PRINT_YES_NO: case MVSTATE_PRINT_YES_NO:
if (!IsTextPrinterActive(0) && !IsSEPlaying()) if (!IsTextPrinterActive(0) && !IsSEPlaying())
{ {
HandleBattleWindow(0x17, 8, 0x1D, 0xD, 0); HandleBattleWindow(23, 8, 29, 13, 0);
BattlePutTextOnWindow(gText_BattleYesNoChoice, (B_WIN_YESNO | B_TEXT_FLAG_NONE)); BattlePutTextOnWindow(gText_BattleYesNoChoice, (B_WIN_YESNO | B_TEXT_FLAG_NONE));
gTasks[taskId].tLearnMoveState++; gTasks[taskId].tLearnMoveState++;
sEvoCursorPos = 0; sEvoCursorPos = 0;
+2 -2
View File
@@ -994,7 +994,7 @@ static void Setup_DrawMsgAndListBoxes(void)
static void FC_PutWindowTilemapAndCopyWindowToVramMode3(u8 windowId) static void FC_PutWindowTilemapAndCopyWindowToVramMode3(u8 windowId)
{ {
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static bool8 SetMessageSelectorIconObjMode(u8 spriteId, u8 objMode) static bool8 SetMessageSelectorIconObjMode(u8 spriteId, u8 objMode)
@@ -1578,7 +1578,7 @@ static u8 FC_PopulateListMenu(void)
static void FC_PutWindowTilemapAndCopyWindowToVramMode3_2(u8 windowId) static void FC_PutWindowTilemapAndCopyWindowToVramMode3_2(u8 windowId)
{ {
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static void FC_CreateScrollIndicatorArrowPair(void) static void FC_CreateScrollIndicatorArrowPair(void)
+1 -1
View File
@@ -396,7 +396,7 @@ static void Task_RushInjuredPokemonToCenter(u8 taskId)
Menu_LoadStdPalAt(0xF0); Menu_LoadStdPalAt(0xF0);
FillWindowPixelBuffer(windowId, PIXEL_FILL(0)); FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
loc = GetHealLocation(1); loc = GetHealLocation(1);
if (gSaveBlock1Ptr->lastHealLocation.mapGroup == loc->group if (gSaveBlock1Ptr->lastHealLocation.mapGroup == loc->group
&& gSaveBlock1Ptr->lastHealLocation.mapNum == loc->map && gSaveBlock1Ptr->lastHealLocation.mapNum == loc->map
+2 -2
View File
@@ -1103,7 +1103,7 @@ void DrawElevatorCurrentFloorWindow(void)
strwidth = GetStringWidth(2, floorname, 0); strwidth = GetStringWidth(2, floorname, 0);
AddTextPrinterParameterized(sElevatorCurrentFloorWindowId, 2, floorname, 56 - strwidth, 16, 0xFF, NULL); AddTextPrinterParameterized(sElevatorCurrentFloorWindowId, 2, floorname, 56 - strwidth, 16, 0xFF, NULL);
PutWindowTilemap(sElevatorCurrentFloorWindowId); PutWindowTilemap(sElevatorCurrentFloorWindowId);
CopyWindowToVram(sElevatorCurrentFloorWindowId, COPYWIN_BOTH); CopyWindowToVram(sElevatorCurrentFloorWindowId, COPYWIN_FULL);
} }
} }
@@ -1364,7 +1364,7 @@ static void Task_CreateScriptListMenu(u8 taskId)
Task_CreateMenuRemoveScrollIndicatorArrowPair(taskId); Task_CreateMenuRemoveScrollIndicatorArrowPair(taskId);
task->data[14] = ListMenuInit(&sFieldSpecialsListMenuTemplate, task->data[7], task->data[8]); task->data[14] = ListMenuInit(&sFieldSpecialsListMenuTemplate, task->data[7], task->data[8]);
PutWindowTilemap(task->data[13]); PutWindowTilemap(task->data[13]);
CopyWindowToVram(task->data[13], COPYWIN_BOTH); CopyWindowToVram(task->data[13], COPYWIN_FULL);
gTasks[taskId].func = Task_ListMenuHandleInput; gTasks[taskId].func = Task_ListMenuHandleInput;
} }
+1 -1
View File
@@ -436,7 +436,7 @@ static void Task_MapPreviewScreen_0(u8 taskId)
if (!MapPreview_IsGfxLoadFinished()) if (!MapPreview_IsGfxLoadFinished())
{ {
data[4] = MapPreview_CreateMapNameWindow(data[3]); data[4] = MapPreview_CreateMapNameWindow(data[3]);
CopyWindowToVram(data[4], COPYWIN_BOTH); CopyWindowToVram(data[4], COPYWIN_FULL);
data[0]++; data[0]++;
} }
break; break;
+1 -1
View File
@@ -1033,7 +1033,7 @@ const u32 gBattleAnimBgTilemap_Ghost[] = INCBIN_U32("graphics/battle_anims/backg
const u32 gBattleAnimSpritePal_WhipHit[] = INCBIN_U32("graphics/battle_anims/sprites/whip_hit.gbapal.lz"); const u32 gBattleAnimSpritePal_WhipHit[] = INCBIN_U32("graphics/battle_anims/sprites/whip_hit.gbapal.lz");
const u32 gBattleAnimBgPalette_Solarbeam[] = INCBIN_U32("graphics/battle_anims/backgrounds/solarbeam.gbapal.lz"); const u32 gBattleAnimBgPalette_SolarBeam[] = INCBIN_U32("graphics/battle_anims/backgrounds/solarbeam.gbapal.lz");
const u32 gFile_graphics_unknown_unknown_E7CFB0_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E7CFB0.bin.lz"); const u32 gFile_graphics_unknown_unknown_E7CFB0_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E7CFB0.bin.lz");
+7 -7
View File
@@ -453,7 +453,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
DrawDialogueFrame(0, 0); DrawDialogueFrame(0, 0);
AddTextPrinterParameterized2(0, 2, gText_SavingDontTurnOffThePower2, 0, NULL, 2, 1, 3); AddTextPrinterParameterized2(0, 2, gText_SavingDontTurnOffThePower2, 0, NULL, 2, 1, 3);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
gTasks[taskId].func = Task_Hof_TrySaveData; gTasks[taskId].func = Task_Hof_TrySaveData;
} }
@@ -591,7 +591,7 @@ static void Task_Hof_ApplauseAndConfetti(u8 taskId)
} }
BeginNormalPaletteFade(sSelectedPaletteIndices, 0, 12, 12, HALL_OF_FAME_BG_PAL); BeginNormalPaletteFade(sSelectedPaletteIndices, 0, 12, 12, HALL_OF_FAME_BG_PAL);
FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(0, PIXEL_FILL(0));
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
gTasks[taskId].data[3] = 7; gTasks[taskId].data[3] = 7;
gTasks[taskId].func = Task_Hof_WaitBorderFadeAway; gTasks[taskId].func = Task_Hof_WaitBorderFadeAway;
} }
@@ -639,7 +639,7 @@ static void Task_Hof_WaitAndPrintPlayerInfo(u8 taskId)
HallOfFame_PrintPlayerInfo(1, 2); HallOfFame_PrintPlayerInfo(1, 2);
DrawDialogueFrame(0, 0); DrawDialogueFrame(0, 0);
AddTextPrinterParameterized2(0, 2, gText_LeagueChamp, 0, NULL, 2, 1, 3); AddTextPrinterParameterized2(0, 2, gText_LeagueChamp, 0, NULL, 2, 1, 3);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
gTasks[taskId].func = Task_Hof_ExitOnKeyPressed; gTasks[taskId].func = Task_Hof_ExitOnKeyPressed;
} }
} }
@@ -969,7 +969,7 @@ static void Task_HofPC_PrintDataIsCorrupted(u8 taskId)
TopBarWindowPrintString(gText_ABUTTONExit, 8, TRUE); TopBarWindowPrintString(gText_ABUTTONExit, 8, TRUE);
DrawDialogueFrame(0, 0); DrawDialogueFrame(0, 0);
AddTextPrinterParameterized2(0, 2, gText_HOFCorrupted, 0, NULL, 2, 1, 3); AddTextPrinterParameterized2(0, 2, gText_HOFCorrupted, 0, NULL, 2, 1, 3);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
gTasks[taskId].func = Task_HofPC_ExitOnButtonPress; gTasks[taskId].func = Task_HofPC_ExitOnButtonPress;
} }
@@ -985,7 +985,7 @@ static void HallOfFame_PrintWelcomeText(u8 not, u8 used)
FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(0, PIXEL_FILL(0));
PutWindowTilemap(0); PutWindowTilemap(0);
AddTextPrinterParameterized3(0, 2, x, 1, sTextColors[0], 0, gText_WelcomeToHOF); AddTextPrinterParameterized3(0, 2, x, 1, sTextColors[0], 0, gText_WelcomeToHOF);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
} }
static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2) static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2)
@@ -1072,7 +1072,7 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
AddTextPrinterParameterized3(0, 2, 0x60, 0x11, sTextColors[0], 0, text); AddTextPrinterParameterized3(0, 2, 0x60, 0x11, sTextColors[0], 0, text);
} }
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
} }
static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2) static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
@@ -1115,7 +1115,7 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
AddTextPrinterParameterized3(1, 2, textWidth - 36, 32, sTextColors[1], 0, text); AddTextPrinterParameterized3(1, 2, textWidth - 36, 32, sTextColors[1], 0, text);
CopyWindowToVram(1, COPYWIN_BOTH); CopyWindowToVram(1, COPYWIN_FULL);
} }
static void ClearVramOamPltt_LoadHofPal(void) static void ClearVramOamPltt_LoadHofPal(void)
+1 -1
View File
@@ -522,7 +522,7 @@ void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 wid
BlitBitmapRect4Bit(&srcBlit, &destBlit, 0, 0, x, y, GetKeypadIconWidth(curChar), GetKeypadIconHeight(curChar), 0); BlitBitmapRect4Bit(&srcBlit, &destBlit, 0, 0, x, y, GetKeypadIconWidth(curChar), GetKeypadIconHeight(curChar), 0);
x += GetKeypadIconWidth(curChar); x += GetKeypadIconWidth(curChar);
break; break;
case CHAR_EXTRA_EMOJI: case CHAR_EXTRA_SYMBOL:
curChar = *src + 0x100; curChar = *src + 0x100;
src++; src++;
//fallthrough //fallthrough
+1 -1
View File
@@ -991,7 +991,7 @@ static void IntroCB_Init(struct IntroSequenceData * this)
FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(0, PIXEL_FILL(0));
BlitBitmapToWindow(0, this->gamefreakTextBitmap, 0, 40, 144, 16); BlitBitmapToWindow(0, this->gamefreakTextBitmap, 0, 40, 144, 16);
PutWindowTilemap(0); PutWindowTilemap(0);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
this->state++; this->state++;
break; break;
case 1: case 1:
+2 -2
View File
@@ -690,7 +690,7 @@ static void PrintTeachWhichMoveToStrVar1(bool8 onInit)
StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToMon); StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToMon);
PrintTextOnWindow(7, gStringVar4, 0, 2, 0, 2); PrintTextOnWindow(7, gStringVar4, 0, 2, 0, 2);
PutWindowTilemap(7); PutWindowTilemap(7);
CopyWindowToVram(7, COPYWIN_BOTH); CopyWindowToVram(7, COPYWIN_FULL);
} }
} }
@@ -880,7 +880,7 @@ static void PrintMoveInfoHandleCancel_CopyToVram(void)
CopyWindowToVram(2, COPYWIN_GFX); CopyWindowToVram(2, COPYWIN_GFX);
CopyWindowToVram(2, COPYWIN_GFX); CopyWindowToVram(2, COPYWIN_GFX);
CopyWindowToVram(5, COPYWIN_GFX); CopyWindowToVram(5, COPYWIN_GFX);
CopyWindowToVram(7, COPYWIN_BOTH); CopyWindowToVram(7, COPYWIN_FULL);
} }
static void MoveRelearnerMenu_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list) static void MoveRelearnerMenu_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list)
+3 -3
View File
@@ -1369,7 +1369,7 @@ static void LinkCB_WaitAckCommand5FFF(void)
} }
if (count == linkPlayerCount) if (count == linkPlayerCount)
{ {
gBattleTypeFlags &= ~(BATTLE_TYPE_LINK_ESTABLISHED | 0xFFFF0000); gBattleTypeFlags &= ~(BATTLE_TYPE_LINK_IN_BATTLE | 0xFFFF0000);
gLinkVSyncDisabled = TRUE; gLinkVSyncDisabled = TRUE;
CloseLink(); CloseLink();
gLinkCallback = NULL; gLinkCallback = NULL;
@@ -1513,7 +1513,7 @@ void sub_800AE1C(void)
PutWindowTilemap(0); PutWindowTilemap(0);
PutWindowTilemap(2); PutWindowTilemap(2);
CopyWindowToVram(0, 0); CopyWindowToVram(0, 0);
CopyWindowToVram(2, COPYWIN_BOTH); CopyWindowToVram(2, COPYWIN_FULL);
ShowBg(0); ShowBg(0);
ShowBg(1); ShowBg(1);
} }
@@ -1526,7 +1526,7 @@ void sub_800AED0(void)
PutWindowTilemap(1); PutWindowTilemap(1);
PutWindowTilemap(2); PutWindowTilemap(2);
CopyWindowToVram(1, 0); CopyWindowToVram(1, 0);
CopyWindowToVram(2, COPYWIN_BOTH); CopyWindowToVram(2, COPYWIN_FULL);
ShowBg(0); ShowBg(0);
} }
+1 -1
View File
@@ -1373,7 +1373,7 @@ static void WaitAllReadyToCloseLink(void)
} }
if (count == playerCount) if (count == playerCount)
{ {
gBattleTypeFlags &= ~(BATTLE_TYPE_LINK_ESTABLISHED | 0xFFFF0000); gBattleTypeFlags &= ~(BATTLE_TYPE_LINK_IN_BATTLE | 0xFFFF0000);
if (Rfu.parent_child == MODE_CHILD) if (Rfu.parent_child == MODE_CHILD)
{ {
Rfu.errorState = 3; Rfu.errorState = 3;
+1 -1
View File
@@ -199,7 +199,7 @@ static const u8 sWireless_RSEtoASCIITable[] = {
0x20, 0x20, 0x2b, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x20, 0x20, 0x2b, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
[CHAR_DYNAMIC_PLACEHOLDER] = ' ', [CHAR_DYNAMIC_PLACEHOLDER] = ' ',
[CHAR_KEYPAD_ICON] = ' ', [CHAR_KEYPAD_ICON] = ' ',
[CHAR_EXTRA_EMOJI] = ' ', [CHAR_EXTRA_SYMBOL] = ' ',
[CHAR_PROMPT_SCROLL] = ' ', [CHAR_PROMPT_SCROLL] = ' ',
[CHAR_PROMPT_CLEAR] = ' ', [CHAR_PROMPT_CLEAR] = ' ',
[EXT_CTRL_CODE_BEGIN] = ' ', [EXT_CTRL_CODE_BEGIN] = ' ',
+2 -2
View File
@@ -676,8 +676,8 @@ static void AddMailMessagePrinters(void)
width = GetStringWidth(1, gText_From, 0); width = GetStringWidth(1, gText_From, 0);
AddTextPrinterParameterized3(1, 1, sMailViewResources->nameX, sMailViewResources->messageLayout->nameY, sTextColor, 0, gText_From); AddTextPrinterParameterized3(1, 1, sMailViewResources->nameX, sMailViewResources->messageLayout->nameY, sTextColor, 0, gText_From);
AddTextPrinterParameterized3(1, 1, sMailViewResources->nameX + width, sMailViewResources->messageLayout->nameY, sTextColor, 0, sMailViewResources->authorNameBuffer); AddTextPrinterParameterized3(1, 1, sMailViewResources->nameX + width, sMailViewResources->messageLayout->nameY, sTextColor, 0, sMailViewResources->authorNameBuffer);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
CopyWindowToVram(1, COPYWIN_BOTH); CopyWindowToVram(1, COPYWIN_FULL);
} }
static void VBlankCB_ShowMail(void) static void VBlankCB_ShowMail(void)
+3 -3
View File
@@ -352,7 +352,7 @@ static void Task_PrintMainMenuText(u8 taskId)
AddTextPrinterParameterized3(MAIN_MENU_WINDOW_NEWGAME_ONLY, 2, 2, 2, sTextColor1, -1, gText_NewGame); AddTextPrinterParameterized3(MAIN_MENU_WINDOW_NEWGAME_ONLY, 2, 2, 2, sTextColor1, -1, gText_NewGame);
MainMenu_DrawWindow(&sWindowTemplate[MAIN_MENU_WINDOW_NEWGAME_ONLY]); MainMenu_DrawWindow(&sWindowTemplate[MAIN_MENU_WINDOW_NEWGAME_ONLY]);
PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME_ONLY); PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME_ONLY);
CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME_ONLY, COPYWIN_BOTH); CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME_ONLY, COPYWIN_FULL);
break; break;
case MAIN_MENU_CONTINUE: case MAIN_MENU_CONTINUE:
FillWindowPixelBuffer(MAIN_MENU_WINDOW_CONTINUE, PIXEL_FILL(10)); FillWindowPixelBuffer(MAIN_MENU_WINDOW_CONTINUE, PIXEL_FILL(10));
@@ -365,7 +365,7 @@ static void Task_PrintMainMenuText(u8 taskId)
PutWindowTilemap(MAIN_MENU_WINDOW_CONTINUE); PutWindowTilemap(MAIN_MENU_WINDOW_CONTINUE);
PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME); PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME);
CopyWindowToVram(MAIN_MENU_WINDOW_CONTINUE, COPYWIN_GFX); CopyWindowToVram(MAIN_MENU_WINDOW_CONTINUE, COPYWIN_GFX);
CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME, COPYWIN_BOTH); CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME, COPYWIN_FULL);
break; break;
case MAIN_MENU_MYSTERYGIFT: case MAIN_MENU_MYSTERYGIFT:
FillWindowPixelBuffer(MAIN_MENU_WINDOW_CONTINUE, PIXEL_FILL(10)); FillWindowPixelBuffer(MAIN_MENU_WINDOW_CONTINUE, PIXEL_FILL(10));
@@ -384,7 +384,7 @@ static void Task_PrintMainMenuText(u8 taskId)
PutWindowTilemap(MAIN_MENU_WINDOW_MYSTERYGIFT); PutWindowTilemap(MAIN_MENU_WINDOW_MYSTERYGIFT);
CopyWindowToVram(MAIN_MENU_WINDOW_CONTINUE, COPYWIN_GFX); CopyWindowToVram(MAIN_MENU_WINDOW_CONTINUE, COPYWIN_GFX);
CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME, COPYWIN_GFX); CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME, COPYWIN_GFX);
CopyWindowToVram(MAIN_MENU_WINDOW_MYSTERYGIFT, COPYWIN_BOTH); CopyWindowToVram(MAIN_MENU_WINDOW_MYSTERYGIFT, COPYWIN_FULL);
break; break;
} }
gTasks[taskId].func = Task_WaitDma3AndFadeIn; gTasks[taskId].func = Task_WaitDma3AndFadeIn;
+1 -1
View File
@@ -182,7 +182,7 @@ static u16 MapNamePopupCreateWindow(bool32 palintoFadedBuffer)
DrawTextBorderOuter(windowId, r6, 0xD); DrawTextBorderOuter(windowId, r6, 0xD);
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
MapNamePopupPrintMapNameOnWindow(windowId); MapNamePopupPrintMapNameOnWindow(windowId);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
return windowId; return windowId;
} }
+1 -1
View File
@@ -484,7 +484,7 @@ static void Task_RunMapPreviewScreenForest(u8 taskId)
case 0: case 0:
if (!MapPreview_IsGfxLoadFinished() && !IsDma3ManagerBusyWithBgCopy()) if (!MapPreview_IsGfxLoadFinished() && !IsDma3ManagerBusyWithBgCopy())
{ {
CopyWindowToVram(data[11], COPYWIN_BOTH); CopyWindowToVram(data[11], COPYWIN_FULL);
data[0]++; data[0]++;
} }
break; break;
+11 -11
View File
@@ -44,7 +44,7 @@ void DrawDialogFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16
FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
if (copyToVram == TRUE) if (copyToVram == TRUE)
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
// not used // not used
@@ -56,7 +56,7 @@ static void DrawDialogFrameWithCustomTile(u8 windowId, bool8 copyToVram, u16 til
FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
if (copyToVram == TRUE) if (copyToVram == TRUE)
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static void WindowFunc_DrawDialogFrameWithCustomTileAndPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) static void WindowFunc_DrawDialogFrameWithCustomTileAndPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
@@ -96,7 +96,7 @@ void ClearDialogWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram)
FillWindowPixelBuffer(windowId, PIXEL_FILL(0)); FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
ClearWindowTilemap(windowId); ClearWindowTilemap(windowId);
if (copyToVram == TRUE) if (copyToVram == TRUE)
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static void WindowFunc_ClearDialogWindowAndFrameNullPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) static void WindowFunc_ClearDialogWindowAndFrameNullPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
@@ -112,7 +112,7 @@ void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 bas
FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
if (copyToVram == TRUE) if (copyToVram == TRUE)
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
// not used // not used
@@ -124,7 +124,7 @@ static void DrawStdFrameWithCustomTile(u8 windowId, bool8 copyToVram, u16 baseTi
FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
if (copyToVram == TRUE) if (copyToVram == TRUE)
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static void WindowFunc_DrawStdFrameWithCustomTileAndPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) static void WindowFunc_DrawStdFrameWithCustomTileAndPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
@@ -145,7 +145,7 @@ void ClearStdWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram)
FillWindowPixelBuffer(windowId, PIXEL_FILL(0)); FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
ClearWindowTilemap(windowId); ClearWindowTilemap(windowId);
if (copyToVram == TRUE) if (copyToVram == TRUE)
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static void WindowFunc_ClearStdWindowAndFrameToTransparent(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) static void WindowFunc_ClearStdWindowAndFrameToTransparent(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
@@ -195,7 +195,7 @@ void TopBarWindowPrintString(const u8 *string, u8 unused, bool8 copyToVram)
width = GetStringWidth(0, string, 0); width = GetStringWidth(0, string, 0);
AddTextPrinterParameterized3(sTopBarWindowId, 0, -20 - width, 1, gUnknown_8456618, 0, string); AddTextPrinterParameterized3(sTopBarWindowId, 0, -20 - width, 1, gUnknown_8456618, 0, string);
if (copyToVram) if (copyToVram)
CopyWindowToVram(sTopBarWindowId, COPYWIN_BOTH); CopyWindowToVram(sTopBarWindowId, COPYWIN_FULL);
} }
} }
@@ -228,7 +228,7 @@ void TopBarWindowPrintTwoStrings(const u8 *string, const u8 *string2, bool8 fgCo
} }
AddTextPrinterParameterized4(sTopBarWindowId, 1, 4, 1, 0, 0, color, 0, string); AddTextPrinterParameterized4(sTopBarWindowId, 1, 4, 1, 0, 0, color, 0, string);
if (copyToVram) if (copyToVram)
CopyWindowToVram(sTopBarWindowId, COPYWIN_BOTH); CopyWindowToVram(sTopBarWindowId, COPYWIN_FULL);
} }
} }
@@ -236,7 +236,7 @@ void TopBarWindowPrintTwoStrings(const u8 *string, const u8 *string2, bool8 fgCo
static void CopyTopBarWindowToVram(void) static void CopyTopBarWindowToVram(void)
{ {
if (sTopBarWindowId != 0xFF) if (sTopBarWindowId != 0xFF)
CopyWindowToVram(sTopBarWindowId, COPYWIN_BOTH); CopyWindowToVram(sTopBarWindowId, COPYWIN_FULL);
} }
void ClearTopBarWindow(void) void ClearTopBarWindow(void)
@@ -244,7 +244,7 @@ void ClearTopBarWindow(void)
if (sTopBarWindowId != 0xFF) if (sTopBarWindowId != 0xFF)
{ {
FillWindowPixelBuffer(sTopBarWindowId, PIXEL_FILL(15)); FillWindowPixelBuffer(sTopBarWindowId, PIXEL_FILL(15));
CopyWindowToVram(sTopBarWindowId, COPYWIN_BOTH); CopyWindowToVram(sTopBarWindowId, COPYWIN_FULL);
} }
} }
@@ -254,7 +254,7 @@ void DestroyTopBarWindow(void)
{ {
FillWindowPixelBuffer(sTopBarWindowId, PIXEL_FILL(0)); FillWindowPixelBuffer(sTopBarWindowId, PIXEL_FILL(0));
ClearWindowTilemap(sTopBarWindowId); ClearWindowTilemap(sTopBarWindowId);
CopyWindowToVram(sTopBarWindowId, COPYWIN_BOTH); CopyWindowToVram(sTopBarWindowId, COPYWIN_FULL);
RemoveWindow(sTopBarWindowId); RemoveWindow(sTopBarWindowId);
sTopBarWindowId = 0xFF; sTopBarWindowId = 0xFF;
} }
+1 -1
View File
@@ -396,7 +396,7 @@ static void sub_8145D18(u8 whichWindow)
} }
break; break;
} }
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static void sub_8146060(void) static void sub_8146060(void)
+2 -2
View File
@@ -326,8 +326,8 @@ static void sub_8146A30(void)
{ {
AddTextPrinterParameterized3(sWork->windowIds[1], 3, 0, 16 * i + 2, sTextPals[sWork->bgSpec->textPal2], 0, sWork->messages[i]); AddTextPrinterParameterized3(sWork->windowIds[1], 3, 0, 16 * i + 2, sTextPals[sWork->bgSpec->textPal2], 0, sWork->messages[i]);
} }
CopyWindowToVram(sWork->windowIds[0], COPYWIN_BOTH); CopyWindowToVram(sWork->windowIds[0], COPYWIN_FULL);
CopyWindowToVram(sWork->windowIds[1], COPYWIN_BOTH); CopyWindowToVram(sWork->windowIds[1], COPYWIN_FULL);
} }
static void sub_8146B58(void) static void sub_8146B58(void)
+1 -1
View File
@@ -530,7 +530,7 @@ void AddTextPrinterToWindow1(const u8 *str)
AddTextPrinterParameterized4(1, 2, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4); AddTextPrinterParameterized4(1, 2, 0, 2, 0, 2, sMG_Ereader_TextColor_2, 0, gStringVar4);
DrawTextBorderOuter(1, 0x001, 0xF); DrawTextBorderOuter(1, 0x001, 0xF);
PutWindowTilemap(1); PutWindowTilemap(1);
CopyWindowToVram(1, COPYWIN_BOTH); CopyWindowToVram(1, COPYWIN_FULL);
} }
void ClearTextWindow(void) void ClearTextWindow(void)
+2 -2
View File
@@ -707,7 +707,7 @@ static void pokemon_transfer_to_pc_with_message(void)
DrawDialogueFrame(0, FALSE); DrawDialogueFrame(0, FALSE);
gTextFlags.canABSpeedUpPrint = TRUE; gTextFlags.canABSpeedUpPrint = TRUE;
AddTextPrinterParameterized2(0, 2, gStringVar4, GetTextSpeedSetting(), NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); AddTextPrinterParameterized2(0, 2, gStringVar4, GetTextSpeedSetting(), NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
} }
static bool8 sub_809E1D4(void) static bool8 sub_809E1D4(void)
@@ -1886,7 +1886,7 @@ static void sub_809FAE4(void)
FillWindowPixelBuffer(sNamingScreenData->windows[4], PIXEL_FILL(15)); FillWindowPixelBuffer(sNamingScreenData->windows[4], PIXEL_FILL(15));
AddTextPrinterParameterized3(sNamingScreenData->windows[4], 0, 236 - strwidth, 0, color, 0, gText_MoveOkBack); AddTextPrinterParameterized3(sNamingScreenData->windows[4], 0, 236 - strwidth, 0, color, 0, gText_MoveOkBack);
PutWindowTilemap(sNamingScreenData->windows[4]); PutWindowTilemap(sNamingScreenData->windows[4]);
CopyWindowToVram(sNamingScreenData->windows[4], COPYWIN_BOTH); CopyWindowToVram(sNamingScreenData->windows[4], COPYWIN_FULL);
} }
static void sub_809FB70(void) static void sub_809FB70(void)
+5 -5
View File
@@ -471,7 +471,7 @@ void DrawDialogueFrame(u8 windowId, bool8 copyToVram)
FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
if (copyToVram == TRUE) if (copyToVram == TRUE)
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
void DrawStdWindowFrame(u8 windowId, bool8 copyToVram) void DrawStdWindowFrame(u8 windowId, bool8 copyToVram)
@@ -480,7 +480,7 @@ void DrawStdWindowFrame(u8 windowId, bool8 copyToVram)
FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
if (copyToVram == TRUE) if (copyToVram == TRUE)
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram) void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram)
@@ -489,7 +489,7 @@ void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram)
FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
ClearWindowTilemap(windowId); ClearWindowTilemap(windowId);
if (copyToVram == TRUE) if (copyToVram == TRUE)
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
if (gQuestLogState == QL_STATE_PLAYBACK) if (gQuestLogState == QL_STATE_PLAYBACK)
CommitQuestLogWindow1(); CommitQuestLogWindow1();
} }
@@ -500,7 +500,7 @@ void ClearStdWindowAndFrame(u8 windowId, bool8 copyToVram)
FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
ClearWindowTilemap(windowId); ClearWindowTilemap(windowId);
if (copyToVram == TRUE) if (copyToVram == TRUE)
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static void WindowFunc_DrawStandardFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) static void WindowFunc_DrawStandardFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
@@ -644,7 +644,7 @@ void DisplayItemMessageOnField(u8 taskId, u8 textSpeed, const u8 *string, TaskFu
{ {
LoadStdWindowFrameGfx(); LoadStdWindowFrameGfx();
DisplayMessageAndContinueTask(taskId, 0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM, textSpeed, GetTextSpeedSetting(), string, callback); DisplayMessageAndContinueTask(taskId, 0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM, textSpeed, GetTextSpeedSetting(), string, callback);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
} }
void DisplayYesNoMenuDefaultYes(void) void DisplayYesNoMenuDefaultYes(void)
+9 -9
View File
@@ -594,7 +594,7 @@ static void CreateHelpDocsPage1(void)
PutWindowTilemap(sOakSpeechResources->unk_0014[0]); PutWindowTilemap(sOakSpeechResources->unk_0014[0]);
FillWindowPixelBuffer(sOakSpeechResources->unk_0014[0], 0x00); FillWindowPixelBuffer(sOakSpeechResources->unk_0014[0], 0x00);
AddTextPrinterParameterized4(sOakSpeechResources->unk_0014[0], 2, 2, 0, 1, 1, sTextColor_HelpSystem, 0, gNewGame_HelpDocs1); AddTextPrinterParameterized4(sOakSpeechResources->unk_0014[0], 2, 2, 0, 1, 1, sTextColor_HelpSystem, 0, gNewGame_HelpDocs1);
CopyWindowToVram(sOakSpeechResources->unk_0014[0], COPYWIN_BOTH); CopyWindowToVram(sOakSpeechResources->unk_0014[0], COPYWIN_FULL);
FillBgTilemapBufferRect_Palette0(1, 0x3000, 1, 3, 5, 16); FillBgTilemapBufferRect_Palette0(1, 0x3000, 1, 3, 5, 16);
CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(1);
} }
@@ -616,7 +616,7 @@ static void Task_OakSpeech4(u8 taskId)
PutWindowTilemap(sOakSpeechResources->unk_0014[i]); PutWindowTilemap(sOakSpeechResources->unk_0014[i]);
FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00); FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00);
AddTextPrinterParameterized4(sOakSpeechResources->unk_0014[i], 2, 6, 0, 1, 1, sTextColor_HelpSystem, 0, sHelpDocsPtrs[i + r7 * 3]); AddTextPrinterParameterized4(sOakSpeechResources->unk_0014[i], 2, 6, 0, 1, 1, sTextColor_HelpSystem, 0, sHelpDocsPtrs[i + r7 * 3]);
CopyWindowToVram(sOakSpeechResources->unk_0014[i], COPYWIN_BOTH); CopyWindowToVram(sOakSpeechResources->unk_0014[i], COPYWIN_FULL);
} }
if (sOakSpeechResources->unk_0012 == 1) if (sOakSpeechResources->unk_0012 == 1)
@@ -685,7 +685,7 @@ static void Task_OakSpeech3(u8 taskId)
{ {
FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00); FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00);
ClearWindowTilemap(sOakSpeechResources->unk_0014[i]); ClearWindowTilemap(sOakSpeechResources->unk_0014[i]);
CopyWindowToVram(sOakSpeechResources->unk_0014[i], COPYWIN_BOTH); CopyWindowToVram(sOakSpeechResources->unk_0014[i], COPYWIN_FULL);
RemoveWindow(sOakSpeechResources->unk_0014[i]); RemoveWindow(sOakSpeechResources->unk_0014[i]);
sOakSpeechResources->unk_0014[i] = 0; sOakSpeechResources->unk_0014[i] = 0;
} }
@@ -709,7 +709,7 @@ static void Task_OakSpeech5(u8 taskId)
{ {
FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00); FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00);
ClearWindowTilemap(sOakSpeechResources->unk_0014[i]); ClearWindowTilemap(sOakSpeechResources->unk_0014[i]);
CopyWindowToVram(sOakSpeechResources->unk_0014[i], COPYWIN_BOTH); CopyWindowToVram(sOakSpeechResources->unk_0014[i], COPYWIN_FULL);
RemoveWindow(sOakSpeechResources->unk_0014[i]); RemoveWindow(sOakSpeechResources->unk_0014[i]);
sOakSpeechResources->unk_0014[i] = 0; sOakSpeechResources->unk_0014[i] = 0;
} }
@@ -743,7 +743,7 @@ static void Task_OakSpeech6(u8 taskId)
data[14] = AddWindow(&sNewGameAdventureIntroWindowTemplates[0]); data[14] = AddWindow(&sNewGameAdventureIntroWindowTemplates[0]);
PutWindowTilemap(data[14]); PutWindowTilemap(data[14]);
FillWindowPixelBuffer(data[14], 0x00); FillWindowPixelBuffer(data[14], 0x00);
CopyWindowToVram(data[14], COPYWIN_BOTH); CopyWindowToVram(data[14], COPYWIN_FULL);
sOakSpeechResources->unk_0012 = 0; sOakSpeechResources->unk_0012 = 0;
gMain.state = 0; gMain.state = 0;
data[15] = 16; data[15] = 16;
@@ -866,7 +866,7 @@ static void Task_OakSpeech8(u8 taskId)
DestroyTopBarWindow(); DestroyTopBarWindow();
FillWindowPixelBuffer(data[14], 0x00); FillWindowPixelBuffer(data[14], 0x00);
ClearWindowTilemap(data[14]); ClearWindowTilemap(data[14]);
CopyWindowToVram(data[14], COPYWIN_BOTH); CopyWindowToVram(data[14], COPYWIN_FULL);
RemoveWindow(data[14]); RemoveWindow(data[14]);
data[14] = 0; data[14] = 0;
FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
@@ -912,7 +912,7 @@ static void Task_OakSpeech9(u8 taskId)
{ \ { \
AddTextPrinterParameterized2(0, 4, str, speed, NULL, 2, 1, 3); \ AddTextPrinterParameterized2(0, 4, str, speed, NULL, 2, 1, 3); \
} \ } \
CopyWindowToVram(0, COPYWIN_BOTH); \ CopyWindowToVram(0, COPYWIN_FULL); \
}) })
static void Task_OakSpeech10(u8 taskId) static void Task_OakSpeech10(u8 taskId)
@@ -1082,7 +1082,7 @@ static void Task_OakSpeech19(u8 taskId)
sOakSpeechResources->textColor[2] = 3; sOakSpeechResources->textColor[2] = 3;
AddTextPrinterParameterized3(gTasks[taskId].data[13], 2, 8, 17, sOakSpeechResources->textColor, 0, gText_Girl); AddTextPrinterParameterized3(gTasks[taskId].data[13], 2, 8, 17, sOakSpeechResources->textColor, 0, gText_Girl);
Menu_InitCursor(gTasks[taskId].data[13], 2, 0, 1, GetFontAttribute(2, 1) + 2, 2, 0); Menu_InitCursor(gTasks[taskId].data[13], 2, 0, 1, GetFontAttribute(2, 1) + 2, 2, 0);
CopyWindowToVram(gTasks[taskId].data[13], COPYWIN_BOTH); CopyWindowToVram(gTasks[taskId].data[13], COPYWIN_FULL);
gTasks[taskId].func = Task_OakSpeech20; gTasks[taskId].func = Task_OakSpeech20;
} }
} }
@@ -1881,7 +1881,7 @@ static void PrintNameChoiceOptions(u8 taskId, u8 hasPlayerBeenNamed)
AddTextPrinterParameterized(data[13], 2, textPtrs[i], 8, 16 * (i + 1) + 1, 0, NULL); AddTextPrinterParameterized(data[13], 2, textPtrs[i], 8, 16 * (i + 1) + 1, 0, NULL);
} }
Menu_InitCursor(data[13], 2, 0, 1, 16, 5, 0); Menu_InitCursor(data[13], 2, 0, 1, 16, 5, 0);
CopyWindowToVram(data[13], COPYWIN_BOTH); CopyWindowToVram(data[13], COPYWIN_FULL);
} }
static void GetDefaultName(u8 hasPlayerBeenNamed, u8 rivalNameChoice) static void GetDefaultName(u8 hasPlayerBeenNamed, u8 rivalNameChoice)
+3 -3
View File
@@ -320,7 +320,7 @@ static void OptionMenu_PickSwitchCancel(void)
FillWindowPixelBuffer(2, PIXEL_FILL(15)); FillWindowPixelBuffer(2, PIXEL_FILL(15));
AddTextPrinterParameterized3(2, 0, x, 0, sOptionMenuPickSwitchCancelTextColor, 0, gText_PickSwitchCancel); AddTextPrinterParameterized3(2, 0, x, 0, sOptionMenuPickSwitchCancelTextColor, 0, gText_PickSwitchCancel);
PutWindowTilemap(2); PutWindowTilemap(2);
CopyWindowToVram(2, COPYWIN_BOTH); CopyWindowToVram(2, COPYWIN_FULL);
} }
static void OptionMenu_ResetSpriteData(void) static void OptionMenu_ResetSpriteData(void)
@@ -502,7 +502,7 @@ static void BufferOptionMenuString(u8 selection)
break; break;
} }
PutWindowTilemap(1); PutWindowTilemap(1);
CopyWindowToVram(1, COPYWIN_BOTH); CopyWindowToVram(1, COPYWIN_FULL);
} }
static void CloseAndSaveOptionMenu(u8 taskId) static void CloseAndSaveOptionMenu(u8 taskId)
@@ -526,7 +526,7 @@ static void PrintOptionMenuHeader(void)
FillWindowPixelBuffer(0, PIXEL_FILL(1)); FillWindowPixelBuffer(0, PIXEL_FILL(1));
AddTextPrinterParameterized(WIN_TEXT_OPTION, 2, gText_MenuOption, 8, 1, TEXT_SKIP_DRAW, NULL); AddTextPrinterParameterized(WIN_TEXT_OPTION, 2, gText_MenuOption, 8, 1, TEXT_SKIP_DRAW, NULL);
PutWindowTilemap(0); PutWindowTilemap(0);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
} }
static void DrawOptionMenuBg(void) static void DrawOptionMenuBg(void)
+5 -5
View File
@@ -2475,9 +2475,9 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
attack = (150 * attack) / 100; attack = (150 * attack) / 100;
if (defender->ability == ABILITY_MARVEL_SCALE && defender->status1) if (defender->ability == ABILITY_MARVEL_SCALE && defender->status1)
defense = (150 * defense) / 100; defense = (150 * defense) / 100;
if (type == TYPE_ELECTRIC && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, 0, 0xFD, 0)) if (type == TYPE_ELECTRIC && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, 0, ABILITYEFFECT_MUD_SPORT, 0))
gBattleMovePower /= 2; gBattleMovePower /= 2;
if (type == TYPE_FIRE && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, 0, 0xFE, 0)) if (type == TYPE_FIRE && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, 0, ABILITYEFFECT_WATER_SPORT, 0))
gBattleMovePower /= 2; gBattleMovePower /= 2;
if (type == TYPE_GRASS && attacker->ability == ABILITY_OVERGROW && attacker->hp <= (attacker->maxHP / 3)) if (type == TYPE_GRASS && attacker->ability == ABILITY_OVERGROW && attacker->hp <= (attacker->maxHP / 3))
gBattleMovePower = (150 * gBattleMovePower) / 100; gBattleMovePower = (150 * gBattleMovePower) / 100;
@@ -4217,7 +4217,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
// I have to re-use this variable to match. // I have to re-use this variable to match.
r5 = gActiveBattler; r5 = gActiveBattler;
gActiveBattler = battleMonId; gActiveBattler = battleMonId;
BtlController_EmitGetMonData(0, 0, 0); BtlController_EmitGetMonData(BUFFER_A, 0, 0);
MarkBattlerForControllerExec(gActiveBattler); MarkBattlerForControllerExec(gActiveBattler);
gActiveBattler = r5; gActiveBattler = r5;
} }
@@ -4845,7 +4845,7 @@ static void BufferStatRoseMessage(int stat)
gBattlerTarget = gBattlerInMenuId; gBattlerTarget = gBattlerInMenuId;
StringCopy(gBattleTextBuff1, gStatNamesTable[sStatsToRaise[stat]]); StringCopy(gBattleTextBuff1, gStatNamesTable[sStatsToRaise[stat]]);
StringCopy(gBattleTextBuff2, gBattleText_Rose); StringCopy(gBattleTextBuff2, gBattleText_Rose);
BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnsStatChanged2); BattleStringExpandPlaceholdersToDisplayedString(gText_DefendersStatRose);
} }
const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId) const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId)
@@ -5987,7 +5987,7 @@ static u16 GetDeoxysStat(struct Pokemon *mon, s32 statId)
u16 statValue; u16 statValue;
u8 nature; u8 nature;
if (gBattleTypeFlags & BATTLE_TYPE_LINK_ESTABLISHED || GetMonData(mon, MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS) if (gBattleTypeFlags & BATTLE_TYPE_LINK_IN_BATTLE || GetMonData(mon, MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS)
{ {
return statValue = 0; return statValue = 0;
} }
+1 -1
View File
@@ -4515,7 +4515,7 @@ static void Task_ShowPokemonJumpRecords(u8 taskId)
case 0: case 0:
tWindowId = AddWindow(&sWindowTemplate_Records); tWindowId = AddWindow(&sWindowTemplate_Records);
PrintRecordsText(tWindowId); PrintRecordsText(tWindowId);
CopyWindowToVram(tWindowId, COPYWIN_BOTH); CopyWindowToVram(tWindowId, COPYWIN_FULL);
tState++; tState++;
break; break;
case 1: case 1:
+3 -3
View File
@@ -341,7 +341,7 @@ void InitPokemonSpecialAnimScene(struct PokemonSpecialAnimScene * buffer, u16 an
LoadBgGfxByAnimType(animType); LoadBgGfxByAnimType(animType);
FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(0, PIXEL_FILL(0));
TextWindow_SetUserSelectedFrame(0, 0x000, 0xe0); TextWindow_SetUserSelectedFrame(0, 0x000, 0xe0);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
ShowBg(0); ShowBg(0);
ShowBg(3); ShowBg(3);
HideBg(1); HideBg(1);
@@ -370,7 +370,7 @@ void PSA_ShowMessageWindow(void)
PutWindowTilemap(0); PutWindowTilemap(0);
FillWindowPixelBuffer(0, PIXEL_FILL(1)); FillWindowPixelBuffer(0, PIXEL_FILL(1));
DrawTextBorderOuter(0, 0x001, 0xE); DrawTextBorderOuter(0, 0x001, 0xE);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
} }
void PSA_HideMessageWindow(void) void PSA_HideMessageWindow(void)
@@ -612,7 +612,7 @@ UNUSED void PSA_DrawLevelUpWindowPg1(u16 *statsBefore, u16 *statsAfter)
DrawTextBorderOuter(1, 0x001, 0xE); DrawTextBorderOuter(1, 0x001, 0xE);
DrawLevelUpWindowPg1(1, statsBefore, statsAfter, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY); DrawLevelUpWindowPg1(1, statsBefore, statsAfter, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY);
PutWindowTilemap(1); PutWindowTilemap(1);
CopyWindowToVram(1, COPYWIN_BOTH); CopyWindowToVram(1, COPYWIN_FULL);
} }
UNUSED void PSA_DrawLevelUpWindowPg2(u16 *currStats) UNUSED void PSA_DrawLevelUpWindowPg2(u16 *currStats)
{ {
+2 -2
View File
@@ -246,8 +246,8 @@ static void Task_PokemonStorageSystemPC(u8 taskId)
DrawDialogueFrame(0, 0); DrawDialogueFrame(0, 0);
FillWindowPixelBuffer(0, PIXEL_FILL(1)); FillWindowPixelBuffer(0, PIXEL_FILL(1));
AddTextPrinterParameterized2(0, 2, sUnknown_83CDA20[task->data[1]].desc, TEXT_SKIP_DRAW, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); AddTextPrinterParameterized2(0, 2, sUnknown_83CDA20[task->data[1]].desc, TEXT_SKIP_DRAW, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
CopyWindowToVram(task->data[15], COPYWIN_BOTH); CopyWindowToVram(task->data[15], COPYWIN_FULL);
task->data[0]++; task->data[0]++;
break; break;
case 1: case 1:
+1 -1
View File
@@ -1127,7 +1127,7 @@ static void SetCursorMonData(void *pokemon, u8 mode)
*(txtPtr++) = TEXT_COLOR_WHITE; *(txtPtr++) = TEXT_COLOR_WHITE;
*(txtPtr++) = TEXT_COLOR_LIGHT_GRAY; *(txtPtr++) = TEXT_COLOR_LIGHT_GRAY;
*(txtPtr++) = CHAR_SPACE; *(txtPtr++) = CHAR_SPACE;
*(txtPtr++) = CHAR_EXTRA_EMOJI; *(txtPtr++) = CHAR_EXTRA_SYMBOL;
*(txtPtr++) = 5; // LV_2 *(txtPtr++) = 5; // LV_2
txtPtr = ConvertIntToDecimalStringN(txtPtr, gPSSData->cursorMonLevel, STR_CONV_MODE_LEFT_ALIGN, 3); txtPtr = ConvertIntToDecimalStringN(txtPtr, gPSSData->cursorMonLevel, STR_CONV_MODE_LEFT_ALIGN, 3);
+1 -1
View File
@@ -127,7 +127,7 @@ static bool8 sub_8095138(void)
sub_80956A4(sMoveMonsPtr->fromRow, sMoveMonsPtr->fromColumn); sub_80956A4(sMoveMonsPtr->fromRow, sMoveMonsPtr->fromColumn);
SetBgAttribute(0, BG_ATTR_PALETTEMODE, 1); SetBgAttribute(0, BG_ATTR_PALETTEMODE, 1);
PutWindowTilemap(gPSSData->field_2200); PutWindowTilemap(gPSSData->field_2200);
CopyWindowToVram8Bit(gPSSData->field_2200, COPYWIN_BOTH); CopyWindowToVram8Bit(gPSSData->field_2200, COPYWIN_FULL);
BlendPalettes(0x3F00, 8, RGB_WHITE); BlendPalettes(0x3F00, 8, RGB_WHITE);
sub_8094D14(2); sub_8094D14(2);
SetGpuRegBits(REG_OFFSET_BG0CNT, BGCNT_256COLOR); SetGpuRegBits(REG_OFFSET_BG0CNT, BGCNT_256COLOR);
+1 -1
View File
@@ -501,7 +501,7 @@ void DrawPreviouslyOnQuestHeader(u8 sceneNum)
PutWindowTilemap(sQuestLogHeaderWindowIds[1]); PutWindowTilemap(sQuestLogHeaderWindowIds[1]);
CopyWindowToVram(sQuestLogHeaderWindowIds[0], COPYWIN_GFX); CopyWindowToVram(sQuestLogHeaderWindowIds[0], COPYWIN_GFX);
CopyWindowToVram(sQuestLogHeaderWindowIds[2], COPYWIN_GFX); CopyWindowToVram(sQuestLogHeaderWindowIds[2], COPYWIN_GFX);
CopyWindowToVram(sQuestLogHeaderWindowIds[1], COPYWIN_BOTH); CopyWindowToVram(sQuestLogHeaderWindowIds[1], COPYWIN_FULL);
} }
void CommitQuestLogWindow1(void) void CommitQuestLogWindow1(void)
+9 -9
View File
@@ -1920,16 +1920,16 @@ static void DisplayCurrentDungeonName(void)
StringCopy(sRegionMap->dungeonName, sMapNames[descOffset]); StringCopy(sRegionMap->dungeonName, sMapNames[descOffset]);
AddTextPrinterParameterized3(WIN_DUNGEON_NAME, 2, 12, 2, sTextColorTable[GetSelectedMapsecType(LAYER_DUNGEON) - 2], 0, sRegionMap->dungeonName); AddTextPrinterParameterized3(WIN_DUNGEON_NAME, 2, 12, 2, sTextColorTable[GetSelectedMapsecType(LAYER_DUNGEON) - 2], 0, sRegionMap->dungeonName);
PutWindowTilemap(WIN_DUNGEON_NAME); PutWindowTilemap(WIN_DUNGEON_NAME);
CopyWindowToVram(WIN_DUNGEON_NAME, COPYWIN_BOTH); CopyWindowToVram(WIN_DUNGEON_NAME, COPYWIN_FULL);
} }
} }
static void ClearMapsecNameText(void) static void ClearMapsecNameText(void)
{ {
FillWindowPixelBuffer(WIN_MAP_NAME, PIXEL_FILL(0)); FillWindowPixelBuffer(WIN_MAP_NAME, PIXEL_FILL(0));
CopyWindowToVram(WIN_MAP_NAME, COPYWIN_BOTH); CopyWindowToVram(WIN_MAP_NAME, COPYWIN_FULL);
FillWindowPixelBuffer(WIN_DUNGEON_NAME, PIXEL_FILL(0)); FillWindowPixelBuffer(WIN_DUNGEON_NAME, PIXEL_FILL(0));
CopyWindowToVram(WIN_DUNGEON_NAME, COPYWIN_BOTH); CopyWindowToVram(WIN_DUNGEON_NAME, COPYWIN_FULL);
} }
static void BufferRegionMapBg(u8 bg, u16 *map) static void BufferRegionMapBg(u8 bg, u16 *map)
@@ -2492,7 +2492,7 @@ static void Task_DrawDungeonMapPreviewFlavorText(u8 taskId)
break; break;
case 2: case 2:
FillWindowPixelBuffer(WIN_MAP_PREVIEW, PIXEL_FILL(0)); FillWindowPixelBuffer(WIN_MAP_PREVIEW, PIXEL_FILL(0));
CopyWindowToVram(WIN_MAP_PREVIEW, COPYWIN_BOTH); CopyWindowToVram(WIN_MAP_PREVIEW, COPYWIN_FULL);
PutWindowTilemap(WIN_MAP_PREVIEW); PutWindowTilemap(WIN_MAP_PREVIEW);
sDungeonMapPreview->drawState++; sDungeonMapPreview->drawState++;
break; break;
@@ -2502,7 +2502,7 @@ static void Task_DrawDungeonMapPreviewFlavorText(u8 taskId)
{ {
AddTextPrinterParameterized3(WIN_MAP_PREVIEW, 2, 4, 0, sTextColor_Green, -1, GetDungeonName(GetDungeonMapsecUnderCursor())); AddTextPrinterParameterized3(WIN_MAP_PREVIEW, 2, 4, 0, sTextColor_Green, -1, GetDungeonName(GetDungeonMapsecUnderCursor()));
AddTextPrinterParameterized3(WIN_MAP_PREVIEW, 2, 2, 14, sTextColor_White, -1, GetDungeonFlavorText(GetDungeonMapsecUnderCursor())); AddTextPrinterParameterized3(WIN_MAP_PREVIEW, 2, 2, 14, sTextColor_White, -1, GetDungeonFlavorText(GetDungeonMapsecUnderCursor()));
CopyWindowToVram(WIN_MAP_PREVIEW, COPYWIN_BOTH); CopyWindowToVram(WIN_MAP_PREVIEW, COPYWIN_FULL);
sDungeonMapPreview->drawState++; sDungeonMapPreview->drawState++;
} }
// Tint image // Tint image
@@ -2521,7 +2521,7 @@ static void Task_DrawDungeonMapPreviewFlavorText(u8 taskId)
if (JOY_NEW(B_BUTTON) || JOY_NEW(A_BUTTON)) if (JOY_NEW(B_BUTTON) || JOY_NEW(A_BUTTON))
{ {
FillWindowPixelBuffer(WIN_MAP_PREVIEW, PIXEL_FILL(0)); FillWindowPixelBuffer(WIN_MAP_PREVIEW, PIXEL_FILL(0));
CopyWindowToVram(WIN_MAP_PREVIEW, COPYWIN_BOTH); CopyWindowToVram(WIN_MAP_PREVIEW, COPYWIN_FULL);
sDungeonMapPreview->mainState++; sDungeonMapPreview->mainState++;
sDungeonMapPreview->drawState++; sDungeonMapPreview->drawState++;
} }
@@ -3001,8 +3001,8 @@ static void Task_MapCloseAnim(u8 taskId)
{ {
case 0: case 0:
ClearOrDrawTopBar(TRUE); ClearOrDrawTopBar(TRUE);
CopyWindowToVram(WIN_TOPBAR_LEFT, COPYWIN_BOTH); CopyWindowToVram(WIN_TOPBAR_LEFT, COPYWIN_FULL);
CopyWindowToVram(WIN_TOPBAR_RIGHT, COPYWIN_BOTH); CopyWindowToVram(WIN_TOPBAR_RIGHT, COPYWIN_FULL);
sMapOpenCloseAnim->closeState++; sMapOpenCloseAnim->closeState++;
break; break;
case 1: case 1:
@@ -4294,7 +4294,7 @@ static void PrintTopBarTextRight(const u8 *str)
else else
FillWindowPixelBuffer(WIN_TOPBAR_RIGHT, PIXEL_FILL(15)); FillWindowPixelBuffer(WIN_TOPBAR_RIGHT, PIXEL_FILL(15));
AddTextPrinterParameterized3(WIN_TOPBAR_RIGHT, 0, 0, 0, sTextColors, 0, str); AddTextPrinterParameterized3(WIN_TOPBAR_RIGHT, 0, 0, 0, sTextColors, 0, str);
CopyWindowToVram(WIN_TOPBAR_RIGHT, COPYWIN_BOTH); CopyWindowToVram(WIN_TOPBAR_RIGHT, COPYWIN_FULL);
} }
static void ClearOrDrawTopBar(bool8 clear) static void ClearOrDrawTopBar(bool8 clear)
+3 -3
View File
@@ -2119,7 +2119,7 @@ static bool8 SlotsTask_MessageOutOfCoins(u8 * state, struct SlotMachineSetupTask
{ {
case 0: case 0:
Slot_PrintOnWindow0(gString_OutOfCoins); Slot_PrintOnWindow0(gString_OutOfCoins);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
(*state)++; (*state)++;
break; break;
case 1: case 1:
@@ -2137,7 +2137,7 @@ static bool8 SlotsTask_AskQuitPlaying(u8 * state, struct SlotMachineSetupTaskDat
case 0: case 0:
Slot_PrintOnWindow0(gString_QuitPlaying); Slot_PrintOnWindow0(gString_QuitPlaying);
Slot_CreateYesNoMenu(0); Slot_CreateYesNoMenu(0);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
(*state)++; (*state)++;
break; break;
case 1: case 1:
@@ -2155,7 +2155,7 @@ static bool8 SlotsTask_DestroyYesNoMenu(u8 * state, struct SlotMachineSetupTaskD
case 0: case 0:
Slot_ClearWindow0(); Slot_ClearWindow0();
Slot_DestroyYesNoMenu(); Slot_DestroyYesNoMenu();
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
(*state)++; (*state)++;
break; break;
case 1: case 1:
+1 -1
View File
@@ -912,7 +912,7 @@ static void task50_after_link_battle_save(u8 taskId)
AddTextPrinterParameterized2(0, 2, gText_SavingDontTurnOffThePower2, 0xFF, NULL, 2, 1, 3); AddTextPrinterParameterized2(0, 2, gText_SavingDontTurnOffThePower2, 0xFF, NULL, 2, 1, 3);
DrawTextBorderOuter(0, 0x008, 0x0F); DrawTextBorderOuter(0, 0x008, 0x0F);
PutWindowTilemap(0); PutWindowTilemap(0);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK);
if (gWirelessCommType != 0 && InUnionRoom()) if (gWirelessCommType != 0 && InUnionRoom())
data[0] = 5; data[0] = 5;
+41 -41
View File
@@ -215,7 +215,7 @@ const u8 gText_TheBerryPouchWillBePutAway[] = _("The BERRY POUCH will be\nput aw
const u8 gText_ShopBuy[] = _("BUY"); const u8 gText_ShopBuy[] = _("BUY");
const u8 gText_ShopSell[] = _("SELL"); const u8 gText_ShopSell[] = _("SELL");
const u8 gText_ShopQuit[] = _("SEE YA!"); const u8 gText_ShopQuit[] = _("SEE YA!");
const u8 gText_InBagVar1[] = _("IN BAG:{SMALL} {STR_VAR_1}"); const u8 gText_InBagVar1[] = _("IN BAG:{FONT_SMALL} {STR_VAR_1}");
const u8 gText_QuitShopping[] = _("Quit shopping."); const u8 gText_QuitShopping[] = _("Quit shopping.");
const u8 gText_Var1CertainlyHowMany[] = _("{STR_VAR_1}? Certainly.\nHow many would you like?"); const u8 gText_Var1CertainlyHowMany[] = _("{STR_VAR_1}? Certainly.\nHow many would you like?");
const u8 gText_Var1AndYouWantedVar2[] = _("{STR_VAR_1}, and you want {STR_VAR_2}.\nThat will be ¥{STR_VAR_3}. Okay?"); const u8 gText_Var1AndYouWantedVar2[] = _("{STR_VAR_1}, and you want {STR_VAR_2}.\nThat will be ¥{STR_VAR_3}. Okay?");
@@ -419,11 +419,11 @@ const u8 gText_DoubleBattle[] = _("DOUBLE BATTLE");
const u8 gText_MultiBattle[] = _("MULTI BATTLE"); const u8 gText_MultiBattle[] = _("MULTI BATTLE");
const u8 gText_MakeAChallenge[] = _("Make a challenge."); const u8 gText_MakeAChallenge[] = _("Make a challenge.");
const u8 gText_Info_2[] = _("INFO"); const u8 gText_Info_2[] = _("INFO");
const u8 gText_FreshWater_200[] = _("FRESH WATER{CLEAR_TO 0x57}{SMALL}¥200"); const u8 gText_FreshWater_200[] = _("FRESH WATER{CLEAR_TO 0x57}{FONT_SMALL}¥200");
const u8 gText_SodaPop_300[] = _("SODA POP{CLEAR_TO 0x57}{SMALL}¥300"); const u8 gText_SodaPop_300[] = _("SODA POP{CLEAR_TO 0x57}{FONT_SMALL}¥300");
const u8 gText_Lemonade_350[] = _("LEMONADE{CLEAR_TO 0x57}{SMALL}¥350"); const u8 gText_Lemonade_350[] = _("LEMONADE{CLEAR_TO 0x57}{FONT_SMALL}¥350");
const u8 gText_50Coins_1000[] = _("{SMALL} 50 COINS{CLEAR_TO 0x45}¥1,000"); const u8 gText_50Coins_1000[] = _("{FONT_SMALL} 50 COINS{CLEAR_TO 0x45}¥1,000");
const u8 gText_500Coins_10000[] = _("{SMALL}500 COINS{CLEAR_TO 0x40}¥10,000"); const u8 gText_500Coins_10000[] = _("{FONT_SMALL}500 COINS{CLEAR_TO 0x40}¥10,000");
const u8 gText_Excellent[] = _("Excellent"); const u8 gText_Excellent[] = _("Excellent");
const u8 gText_NotSoBad[] = _("Not so bad"); const u8 gText_NotSoBad[] = _("Not so bad");
const u8 gText_RedShard[] = _("RED SHARD"); const u8 gText_RedShard[] = _("RED SHARD");
@@ -433,11 +433,11 @@ const u8 gText_GreenShard[] = _("GREEN SHARD");
const u8 gUnknown_8417A30[] = _("バトルタワ-"); const u8 gUnknown_8417A30[] = _("バトルタワ-");
const u8 gText_Right[] = _("Right"); const u8 gText_Right[] = _("Right");
const u8 gText_Left[] = _("Left"); const u8 gText_Left[] = _("Left");
const u8 gText_Tm13_4000Coins[] = _("TM13{CLEAR_TO 0x48}{SMALL}4,000 COINS"); const u8 gText_Tm13_4000Coins[] = _("TM13{CLEAR_TO 0x48}{FONT_SMALL}4,000 COINS");
const u8 gText_Tm23_3500Coins[] = _("TM23{CLEAR_TO 0x48}{SMALL}3,500 COINS"); const u8 gText_Tm23_3500Coins[] = _("TM23{CLEAR_TO 0x48}{FONT_SMALL}3,500 COINS");
const u8 gText_Tm24_4000Coins[] = _("TM24{CLEAR_TO 0x48}{SMALL}4,000 COINS"); const u8 gText_Tm24_4000Coins[] = _("TM24{CLEAR_TO 0x48}{FONT_SMALL}4,000 COINS");
const u8 gText_Tm30_4500Coins[] = _("TM30{CLEAR_TO 0x48}{SMALL}4,500 COINS"); const u8 gText_Tm30_4500Coins[] = _("TM30{CLEAR_TO 0x48}{FONT_SMALL}4,500 COINS");
const u8 gText_Tm35_4000Coins[] = _("TM35{CLEAR_TO 0x48}{SMALL}4,000 COINS"); const u8 gText_Tm35_4000Coins[] = _("TM35{CLEAR_TO 0x48}{FONT_SMALL}4,000 COINS");
const u8 gText_1F_2[] = _("1F"); const u8 gText_1F_2[] = _("1F");
const u8 gText_2F_2[] = _("2F"); const u8 gText_2F_2[] = _("2F");
const u8 gText_3F_2[] = _("3F"); const u8 gText_3F_2[] = _("3F");
@@ -485,18 +485,18 @@ const u8 gText_FreshWater[] = _("FRESH WATER");
const u8 gText_SodaPop[] = _("SODA POP"); const u8 gText_SodaPop[] = _("SODA POP");
const u8 gText_Lemonade[] = _("LEMONADE"); const u8 gText_Lemonade[] = _("LEMONADE");
const u8 gText_Coins_2[] = _("COINS"); const u8 gText_Coins_2[] = _("COINS");
const u8 gText_Bicycle_1000000[] = _("BICYCLE{CLEAR_TO 0x49}{SMALL}¥1,000,000"); const u8 gText_Bicycle_1000000[] = _("BICYCLE{CLEAR_TO 0x49}{FONT_SMALL}¥1,000,000");
const u8 gText_NoThanks[] = _("NO THANKS"); const u8 gText_NoThanks[] = _("NO THANKS");
const u8 gText_Abra_180Coins[] = _("ABRA{CLEAR_TO 0x55}{SMALL} 180 COINS"); const u8 gText_Abra_180Coins[] = _("ABRA{CLEAR_TO 0x55}{FONT_SMALL} 180 COINS");
const u8 gText_Clefairy_500Coins[] = _("CLEFAIRY{CLEAR_TO 0x55}{SMALL} 500 COINS"); const u8 gText_Clefairy_500Coins[] = _("CLEFAIRY{CLEAR_TO 0x55}{FONT_SMALL} 500 COINS");
const u8 gText_Dratini_2800Coins[] = _("DRATINI{CLEAR_TO 0x4B}{SMALL} 2,800 COINS"); const u8 gText_Dratini_2800Coins[] = _("DRATINI{CLEAR_TO 0x4B}{FONT_SMALL} 2,800 COINS");
const u8 gText_Scyther_5500Coins[] = _("SCYTHER{CLEAR_TO 0x4B}{SMALL} 5,500 COINS"); const u8 gText_Scyther_5500Coins[] = _("SCYTHER{CLEAR_TO 0x4B}{FONT_SMALL} 5,500 COINS");
const u8 gText_Porygon_9999Coins[] = _("PORYGON{CLEAR_TO 0x4B}{SMALL} 9,999 COINS"); const u8 gText_Porygon_9999Coins[] = _("PORYGON{CLEAR_TO 0x4B}{FONT_SMALL} 9,999 COINS");
const u8 gText_Abra_120Coins[] = _("ABRA{CLEAR_TO 0x55}{SMALL} 120 COINS"); const u8 gText_Abra_120Coins[] = _("ABRA{CLEAR_TO 0x55}{FONT_SMALL} 120 COINS");
const u8 gText_Clefairy_750Coins[] = _("CLEFAIRY{CLEAR_TO 0x55}{SMALL} 750 COINS"); const u8 gText_Clefairy_750Coins[] = _("CLEFAIRY{CLEAR_TO 0x55}{FONT_SMALL} 750 COINS");
const u8 gText_Pinsir_2500Coins[] = _("PINSIR{CLEAR_TO 0x4B}{SMALL} 2,500 COINS"); const u8 gText_Pinsir_2500Coins[] = _("PINSIR{CLEAR_TO 0x4B}{FONT_SMALL} 2,500 COINS");
const u8 gText_Dratini_4600Coins[] = _("DRATINI{CLEAR_TO 0x4B}{SMALL} 4,600 COINS"); const u8 gText_Dratini_4600Coins[] = _("DRATINI{CLEAR_TO 0x4B}{FONT_SMALL} 4,600 COINS");
const u8 gText_Porygon_6500Coins[] = _("PORYGON{CLEAR_TO 0x4B}{SMALL} 6,500 COINS"); const u8 gText_Porygon_6500Coins[] = _("PORYGON{CLEAR_TO 0x4B}{FONT_SMALL} 6,500 COINS");
const u8 gText_NoThanks_2[] = _("NO THANKS"); const u8 gText_NoThanks_2[] = _("NO THANKS");
const u8 gText_HelixFossil[] = _("HELIX FOSSIL"); const u8 gText_HelixFossil[] = _("HELIX FOSSIL");
const u8 gText_DomeFossil[] = _("DOME FOSSIL"); const u8 gText_DomeFossil[] = _("DOME FOSSIL");
@@ -532,11 +532,11 @@ const u8 gText_1BigMushroom[] = _("1 BIG MUSHROOM");
const u8 gText_SeviiIslands[] = _("SEVII ISLANDS"); const u8 gText_SeviiIslands[] = _("SEVII ISLANDS");
const u8 gText_NavelRock[] = _("NAVEL ROCK"); const u8 gText_NavelRock[] = _("NAVEL ROCK");
const u8 gText_BirthIsland[] = _("BIRTH ISLAND"); const u8 gText_BirthIsland[] = _("BIRTH ISLAND");
const u8 gText_MiracleSeed_1000Coins[] = _("MIRACLE SEED{CLEAR_TO 0x50}{SMALL}1,000 COINS"); const u8 gText_MiracleSeed_1000Coins[] = _("MIRACLE SEED{CLEAR_TO 0x50}{FONT_SMALL}1,000 COINS");
const u8 gText_Charcoal_1000Coins[] = _("CHARCOAL{CLEAR_TO 0x50}{SMALL}1,000 COINS"); const u8 gText_Charcoal_1000Coins[] = _("CHARCOAL{CLEAR_TO 0x50}{FONT_SMALL}1,000 COINS");
const u8 gText_MysticWater_1000Coins[] = _("MYSTIC WATER{CLEAR_TO 0x50}{SMALL}1,000 COINS"); const u8 gText_MysticWater_1000Coins[] = _("MYSTIC WATER{CLEAR_TO 0x50}{FONT_SMALL}1,000 COINS");
const u8 gText_YellowFlute_1600Coins[] = _("YELLOW FLUTE{CLEAR_TO 0x50}{SMALL}1,600 COINS"); const u8 gText_YellowFlute_1600Coins[] = _("YELLOW FLUTE{CLEAR_TO 0x50}{FONT_SMALL}1,600 COINS");
const u8 gText_SmokeBall_800Coins[] = _("SMOKE BALL{CLEAR_TO 0x5A}{SMALL}800 COINS"); const u8 gText_SmokeBall_800Coins[] = _("SMOKE BALL{CLEAR_TO 0x5A}{FONT_SMALL}800 COINS");
const u8 gText_Dummy_8417F67[] = _(""); const u8 gText_Dummy_8417F67[] = _("");
const u8 gText_Dummy_8417F68[] = _(""); const u8 gText_Dummy_8417F68[] = _("");
const u8 gText_BecomeLeader[] = _("BECOME LEADER"); const u8 gText_BecomeLeader[] = _("BECOME LEADER");
@@ -582,17 +582,17 @@ const u8 gText_NowOn[] = _("Now on:");
const u8 gText_LinkedGamePlay[] = _("LINKED GAME PLAY"); const u8 gText_LinkedGamePlay[] = _("LINKED GAME PLAY");
const u8 gText_DirectCorner[] = _("DIRECT CORNER"); const u8 gText_DirectCorner[] = _("DIRECT CORNER");
const u8 gText_UnionRoom[] = _("UNION ROOM"); const u8 gText_UnionRoom[] = _("UNION ROOM");
const u8 gText_Energypowder_50[] = _("ENERGYPOWDER{CLEAR_TO 0x74}{SMALL}50"); const u8 gText_Energypowder_50[] = _("ENERGYPOWDER{CLEAR_TO 0x74}{FONT_SMALL}50");
const u8 gText_EnergyRoot_80[] = _("ENERGY ROOT{CLEAR_TO 0x74}{SMALL}80"); const u8 gText_EnergyRoot_80[] = _("ENERGY ROOT{CLEAR_TO 0x74}{FONT_SMALL}80");
const u8 gText_HealPowder_50[] = _("HEAL POWDER{CLEAR_TO 0x74}{SMALL}50"); const u8 gText_HealPowder_50[] = _("HEAL POWDER{CLEAR_TO 0x74}{FONT_SMALL}50");
const u8 gText_RevivalHerb_300[] = _("REVIVAL HERB{CLEAR_TO 0x6F}{SMALL}300"); const u8 gText_RevivalHerb_300[] = _("REVIVAL HERB{CLEAR_TO 0x6F}{FONT_SMALL}300");
const u8 gText_Protein_1000[] = _("PROTEIN{CLEAR_TO 0x65}{SMALL}1,000"); const u8 gText_Protein_1000[] = _("PROTEIN{CLEAR_TO 0x65}{FONT_SMALL}1,000");
const u8 gText_Iron_1000[] = _("IRON{CLEAR_TO 0x65}{SMALL}1,000"); const u8 gText_Iron_1000[] = _("IRON{CLEAR_TO 0x65}{FONT_SMALL}1,000");
const u8 gText_Carbos_1000[] = _("CARBOS{CLEAR_TO 0x65}{SMALL}1,000"); const u8 gText_Carbos_1000[] = _("CARBOS{CLEAR_TO 0x65}{FONT_SMALL}1,000");
const u8 gText_Calcium_1000[] = _("CALCIUM{CLEAR_TO 0x65}{SMALL}1,000"); const u8 gText_Calcium_1000[] = _("CALCIUM{CLEAR_TO 0x65}{FONT_SMALL}1,000");
const u8 gText_Zinc_1000[] = _("ZINC{CLEAR_TO 0x65}{SMALL}1,000"); const u8 gText_Zinc_1000[] = _("ZINC{CLEAR_TO 0x65}{FONT_SMALL}1,000");
const u8 gText_HpUp_1000[] = _("HP UP{CLEAR_TO 0x65}{SMALL}1,000"); const u8 gText_HpUp_1000[] = _("HP UP{CLEAR_TO 0x65}{FONT_SMALL}1,000");
const u8 gText_PpUp_3000[] = _("PP UP{CLEAR_TO 0x65}{SMALL}3,000"); const u8 gText_PpUp_3000[] = _("PP UP{CLEAR_TO 0x65}{FONT_SMALL}3,000");
const u8 gString_BattleRecords_PlayersBattleResults[] = _("{PLAYER}'s BATTLE RESULTS"); const u8 gString_BattleRecords_PlayersBattleResults[] = _("{PLAYER}'s BATTLE RESULTS");
const u8 gString_BattleRecords_TotalRecord[] = _("TOTAL RECORD W:{STR_VAR_1} L:{STR_VAR_2} D:{STR_VAR_3}"); const u8 gString_BattleRecords_TotalRecord[] = _("TOTAL RECORD W:{STR_VAR_1} L:{STR_VAR_2} D:{STR_VAR_3}");
const u8 gString_BattleRecords_ColumnHeaders[] = _("WIN{CLEAR_TO 0x30}LOSE{CLEAR_TO 0x60}DRAW"); const u8 gString_BattleRecords_ColumnHeaders[] = _("WIN{CLEAR_TO 0x30}LOSE{CLEAR_TO 0x60}DRAW");
@@ -911,14 +911,14 @@ const u8 gUnknown_841B285[] = _(" was used on\n");
const u8 gUnknown_841B293[] = _("."); const u8 gUnknown_841B293[] = _(".");
const u8 gUnknown_841B295[] = _("'s level rose to\n"); const u8 gUnknown_841B295[] = _("'s level rose to\n");
const u8 gUnknown_841B2A7[] = _("."); const u8 gUnknown_841B2A7[] = _(".");
const u8 gUnknown_841B2A9[] = _("{SMALL}MAX.{SIZE 0x02} HP"); const u8 gUnknown_841B2A9[] = _("{FONT_SMALL}MAX.{SIZE 0x02} HP");
const u8 gUnknown_841B2B7[] = _("ATTACK"); const u8 gUnknown_841B2B7[] = _("ATTACK");
const u8 gUnknown_841B2BE[] = _("DEFENSE"); const u8 gUnknown_841B2BE[] = _("DEFENSE");
const u8 gUnknown_841B2C6[] = _("SPEED"); const u8 gUnknown_841B2C6[] = _("SPEED");
const u8 gUnknown_841B2CC[] = _("SP. ATK"); const u8 gUnknown_841B2CC[] = _("SP. ATK");
const u8 gUnknown_841B2D4[] = _("SP. DEF"); const u8 gUnknown_841B2D4[] = _("SP. DEF");
const u8 gUnknown_841B2DC[] = _("{SMALL}{PLUS}{SIZE 0x02}"); const u8 gUnknown_841B2DC[] = _("{FONT_SMALL}{PLUS}{SIZE 0x02}");
const u8 gUnknown_841B2E5[] = _("{SMALL}-{SIZE 0x02}"); const u8 gUnknown_841B2E5[] = _("{FONT_SMALL}-{SIZE 0x02}");
const u8 gUnknown_841B2ED[] = _("1, "); const u8 gUnknown_841B2ED[] = _("1, ");
const u8 gUnknown_841B2F1[] = _("2, and ‥ ‥ ‥ "); const u8 gUnknown_841B2F1[] = _("2, and ‥ ‥ ‥ ");
const u8 gUnknown_841B2FF[] = _("Poof!\p"); const u8 gUnknown_841B2FF[] = _("Poof!\p");
+5 -5
View File
@@ -785,7 +785,7 @@ u16 RenderText(struct TextPrinter *textPrinter)
textPrinter->state = 3; textPrinter->state = 3;
TextPrinterInitDownArrowCounters(textPrinter); TextPrinterInitDownArrowCounters(textPrinter);
return 3; return 3;
case CHAR_EXTRA_EMOJI: case CHAR_EXTRA_SYMBOL:
currChar = *textPrinter->printerTemplate.currentChar | 0x100; currChar = *textPrinter->printerTemplate.currentChar | 0x100;
textPrinter->printerTemplate.currentChar++; textPrinter->printerTemplate.currentChar++;
break; break;
@@ -971,7 +971,7 @@ s32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
case CHAR_PROMPT_CLEAR: case CHAR_PROMPT_CLEAR:
break; break;
case CHAR_KEYPAD_ICON: case CHAR_KEYPAD_ICON:
case CHAR_EXTRA_EMOJI: case CHAR_EXTRA_SYMBOL:
++strPos; ++strPos;
default: default:
++width; ++width;
@@ -1121,8 +1121,8 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
} }
break; break;
case CHAR_KEYPAD_ICON: case CHAR_KEYPAD_ICON:
case CHAR_EXTRA_EMOJI: case CHAR_EXTRA_SYMBOL:
if (*str == CHAR_EXTRA_EMOJI) if (*str == CHAR_EXTRA_SYMBOL)
glyphWidth = func(*++str | 0x100, isJapanese); glyphWidth = func(*++str | 0x100, isJapanese);
else else
glyphWidth = GetKeypadIconWidth(*++str); glyphWidth = GetKeypadIconWidth(*++str);
@@ -1241,7 +1241,7 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str, int a3, int a4, int a5, int a
break; break;
case CHAR_DYNAMIC_PLACEHOLDER: case CHAR_DYNAMIC_PLACEHOLDER:
case CHAR_KEYPAD_ICON: case CHAR_KEYPAD_ICON:
case CHAR_EXTRA_EMOJI: case CHAR_EXTRA_SYMBOL:
case PLACEHOLDER_BEGIN: case PLACEHOLDER_BEGIN:
++strPos; ++strPos;
break; break;
+5 -5
View File
@@ -1732,7 +1732,7 @@ static void TradeMenuCB_0(void)
UnionRoomAndTradeMenuPrintOptions(1, 3, 16, 2, sMenuAction_SummaryTrade); UnionRoomAndTradeMenuPrintOptions(1, 3, 16, 2, sMenuAction_SummaryTrade);
Menu_InitCursor(1, 3, 0, 0, 16, 2, 0); Menu_InitCursor(1, 3, 0, 0, 16, 2, 0);
PutWindowTilemap(1); PutWindowTilemap(1);
CopyWindowToVram(1, COPYWIN_BOTH); CopyWindowToVram(1, COPYWIN_FULL);
sTradeMenuResourcesPtr->tradeMenuCBnum = 1; sTradeMenuResourcesPtr->tradeMenuCBnum = 1;
} }
else if (sTradeMenuResourcesPtr->tradeMenuCursorPosition < 12) else if (sTradeMenuResourcesPtr->tradeMenuCursorPosition < 12)
@@ -2164,9 +2164,9 @@ static void HandleRedrawTradeMenuOnSide(u8 side)
BuildMovesString(movesString, whichParty, partyIdx); BuildMovesString(movesString, whichParty, partyIdx);
AddTextPrinterParameterized4((side * 2) + 15, 1, 0, 0, 0, 0, sTextColor_PartyMonNickname, 0, movesString); AddTextPrinterParameterized4((side * 2) + 15, 1, 0, 0, 0, 0, sTextColor_PartyMonNickname, 0, movesString);
PutWindowTilemap((side * 2) + 14); PutWindowTilemap((side * 2) + 14);
CopyWindowToVram((side * 2) + 14, COPYWIN_BOTH); CopyWindowToVram((side * 2) + 14, COPYWIN_FULL);
PutWindowTilemap((side * 2) + 15); PutWindowTilemap((side * 2) + 15);
CopyWindowToVram((side * 2) + 15, COPYWIN_BOTH); CopyWindowToVram((side * 2) + 15, COPYWIN_FULL);
sTradeMenuResourcesPtr->menuRedrawState[side]++; sTradeMenuResourcesPtr->menuRedrawState[side]++;
break; break;
case 4: case 4:
@@ -2234,7 +2234,7 @@ static void PrintPartyMonNickname(u8 whichParty, u8 windowId, const u8 *str)
xPos = (64u - GetStringWidth(0, str, GetFontAttribute(0, FONTATTR_LETTER_SPACING))) / 2; xPos = (64u - GetStringWidth(0, str, GetFontAttribute(0, FONTATTR_LETTER_SPACING))) / 2;
AddTextPrinterParameterized3(windowId, 0, xPos, 4, sTextColor_PartyMonNickname, speed, str); AddTextPrinterParameterized3(windowId, 0, xPos, 4, sTextColor_PartyMonNickname, speed, str);
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static void PrintPartyNicknames(u8 whichParty) static void PrintPartyNicknames(u8 whichParty)
@@ -2445,7 +2445,7 @@ static void PrintTradeErrorOrStatusMessage(u8 idx)
AddTextPrinterParameterized(0, 3, sTradeErrorOrStatusMessagePtrs[idx], 0, 2, 0xFF, NULL); AddTextPrinterParameterized(0, 3, sTradeErrorOrStatusMessagePtrs[idx], 0, 2, 0xFF, NULL);
DrawTextBorderOuter(0, 0x014, 12); DrawTextBorderOuter(0, 0x014, 12);
PutWindowTilemap(0); PutWindowTilemap(0);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
} }
static bool8 LoadUISprites(void) static bool8 LoadUISprites(void)
+5 -5
View File
@@ -922,7 +922,7 @@ void LinkTradeDrawWindow(void)
{ {
FillWindowPixelBuffer(0, PIXEL_FILL(15)); FillWindowPixelBuffer(0, PIXEL_FILL(15));
PutWindowTilemap(0); PutWindowTilemap(0);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
} }
static void TradeAnimInit_LoadGfx(void) static void TradeAnimInit_LoadGfx(void)
@@ -999,7 +999,7 @@ static void CB2_InitTradeAnim_InGameTrade(void)
LoadTradeMonPic(1, 1); LoadTradeMonPic(1, 1);
FillWindowPixelBuffer(0, PIXEL_FILL(15)); FillWindowPixelBuffer(0, PIXEL_FILL(15));
PutWindowTilemap(0); PutWindowTilemap(0);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
gMain.state++; gMain.state++;
break; break;
case 9: case 9:
@@ -1330,7 +1330,7 @@ static bool8 DoTradeAnim_Cable(void)
{ {
SetTradeSequenceBgGpuRegs(4); SetTradeSequenceBgGpuRegs(4);
FillWindowPixelBuffer(0, PIXEL_FILL(15)); FillWindowPixelBuffer(0, PIXEL_FILL(15));
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
sTradeData->state++; sTradeData->state++;
} }
break; break;
@@ -1827,7 +1827,7 @@ static bool8 DoTradeAnim_Wireless(void)
{ {
SetTradeSequenceBgGpuRegs(4); SetTradeSequenceBgGpuRegs(4);
FillWindowPixelBuffer(0, PIXEL_FILL(15)); FillWindowPixelBuffer(0, PIXEL_FILL(15));
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
sTradeData->state++; sTradeData->state++;
} }
break; break;
@@ -2768,7 +2768,7 @@ void DrawTextOnTradeWindow(u8 windowId, const u8 *str, s8 speed)
sTradeData->textColor[1] = 1; sTradeData->textColor[1] = 1;
sTradeData->textColor[2] = 6; sTradeData->textColor[2] = 6;
AddTextPrinterParameterized4(windowId, 2, 0, 2, 0, 2, sTradeData->textColor, speed, str); AddTextPrinterParameterized4(windowId, 2, 0, 2, 0, 2, sTradeData->textColor, speed, str);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static void Task_AnimateWirelessSignal(u8 taskId) static void Task_AnimateWirelessSignal(u8 taskId)
+2 -2
View File
@@ -621,7 +621,7 @@ static void Task_TrainerCard(u8 taskId)
SetCloseLinkCallback(); SetCloseLinkCallback();
DrawDialogueFrame(0, 1); DrawDialogueFrame(0, 1);
AddTextPrinterParameterized(0, 2, gText_WaitingTrainerFinishReading, 0, 1, TEXT_SKIP_DRAW, 0); AddTextPrinterParameterized(0, 2, gText_WaitingTrainerFinishReading, 0, 1, TEXT_SKIP_DRAW, 0);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
sTrainerCardDataPtr->mainState = STATE_CLOSE_CARD_LINK; sTrainerCardDataPtr->mainState = STATE_CLOSE_CARD_LINK;
break; break;
case STATE_CLOSE_CARD_LINK: case STATE_CLOSE_CARD_LINK:
@@ -1464,7 +1464,7 @@ static void LoadStickerGfx(void)
static void DrawTrainerCardWindow(u8 windowId) static void DrawTrainerCardWindow(u8 windowId)
{ {
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
} }
static bool8 SetTrainerCardBgsAndPals(void) static bool8 SetTrainerCardBgsAndPals(void)
+2 -2
View File
@@ -917,7 +917,7 @@ static void ShowResultsBoard(void)
} }
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
VarSet(VAR_TEMP_1, windowId); VarSet(VAR_TEMP_1, windowId);
} }
@@ -1070,7 +1070,7 @@ void PrintTrainerTowerRecords(void)
} }
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
CopyWindowToVram(windowId, COPYWIN_BOTH); CopyWindowToVram(windowId, COPYWIN_FULL);
FreeTrainerTowerDataStruct(); FreeTrainerTowerDataStruct();
} }
+1 -1
View File
@@ -78,7 +78,7 @@ static bool32 UnionRoomBattle_PrintTextOnWindow0(s16 * state, const u8 * str, s3
DrawTextBorderOuter(0, 0x001, 0xD); DrawTextBorderOuter(0, 0x001, 0xD);
UnionRoomBattle_CreateTextPrinter(0, str, 0, 2, speed); UnionRoomBattle_CreateTextPrinter(0, str, 0, 2, speed);
PutWindowTilemap(0); PutWindowTilemap(0);
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
(*state)++; (*state)++;
break; break;
case 1: case 1:
+7 -7
View File
@@ -972,7 +972,7 @@ static void AppendCharacterToChatMessageBuffer(void)
charsStr = gUnionRoomKeyboardText[sWork->currentPage][sWork->currentRow]; charsStr = gUnionRoomKeyboardText[sWork->currentPage][sWork->currentRow];
for (i = 0; i < sWork->currentCol; i++) for (i = 0; i < sWork->currentCol; i++)
{ {
if (*charsStr == CHAR_EXTRA_EMOJI) if (*charsStr == CHAR_EXTRA_SYMBOL)
charsStr++; charsStr++;
charsStr++; charsStr++;
} }
@@ -995,7 +995,7 @@ static void AppendCharacterToChatMessageBuffer(void)
str = GetEndOfUnk1A(); str = GetEndOfUnk1A();
while (--strLength != -1 && sWork->bufferCursorPos < MESSAGE_BUFFER_NCHAR) while (--strLength != -1 && sWork->bufferCursorPos < MESSAGE_BUFFER_NCHAR)
{ {
if (*charsStr == CHAR_EXTRA_EMOJI) if (*charsStr == CHAR_EXTRA_SYMBOL)
{ {
*str = *charsStr; *str = *charsStr;
charsStr++; charsStr++;
@@ -1030,7 +1030,7 @@ static void ToggleCaseOfLastCharacterInChatMessageBuffer(void)
sWork->lastBufferCursorPos = sWork->bufferCursorPos - 1; sWork->lastBufferCursorPos = sWork->bufferCursorPos - 1;
str = GetPtrToLastCharOfUnk1A(); str = GetPtrToLastCharOfUnk1A();
if (*str != CHAR_EXTRA_EMOJI) if (*str != CHAR_EXTRA_SYMBOL)
{ {
character = sCaseToggleTable[*str]; character = sCaseToggleTable[*str];
if (character) if (character)
@@ -1088,7 +1088,7 @@ static u8 *GetPtrToLastCharOfUnk1A(void)
while (*str != EOS) while (*str != EOS)
{ {
str2 = str; str2 = str;
if (*str == CHAR_EXTRA_EMOJI) if (*str == CHAR_EXTRA_SYMBOL)
str++; str++;
str++; str++;
} }
@@ -1109,7 +1109,7 @@ static u16 GetNumCharsInMessageEntryBuffer(void)
strLength -= 10; strLength -= 10;
for (i = 0; i < strLength; i++) for (i = 0; i < strLength; i++)
{ {
if (*str == CHAR_EXTRA_EMOJI) if (*str == CHAR_EXTRA_SYMBOL)
str++; str++;
str++; str++;
@@ -1250,7 +1250,7 @@ u8 *UnionRoomChat_GetEndOfMessageEntryBuffer(void)
u8 *str = sWork->messageEntryBuffer; u8 *str = sWork->messageEntryBuffer;
for (i = 0; i < numChars; i++) for (i = 0; i < numChars; i++)
{ {
if (*str == CHAR_EXTRA_EMOJI) if (*str == CHAR_EXTRA_SYMBOL)
str++; str++;
str++; str++;
@@ -1268,7 +1268,7 @@ u16 UnionRoomChat_GetNumCharsInMessageEntryBuffer(void)
u8 *str = sWork->messageEntryBuffer; u8 *str = sWork->messageEntryBuffer;
for (count = 0, i = 0; i < numChars; count++, i++) for (count = 0, i = 0; i < numChars; count++, i++)
{ {
if (*str == CHAR_EXTRA_EMOJI) if (*str == CHAR_EXTRA_SYMBOL)
str++; str++;
str++; str++;
+16 -16
View File
@@ -488,7 +488,7 @@ static bool32 DisplaySubtask_PrintWin3(u8 *state)
{ {
case 0: case 0:
PrintKeyboardSwapTextsOnWin3(); PrintKeyboardSwapTextsOnWin3();
CopyWindowToVram(3, COPYWIN_BOTH); CopyWindowToVram(3, COPYWIN_FULL);
break; break;
case 1: case 1:
return IsDma3ManagerBusyWithBgCopy(); return IsDma3ManagerBusyWithBgCopy();
@@ -504,7 +504,7 @@ static bool32 DisplaySubtask_HideWin3(u8 *state)
{ {
case 0: case 0:
ClearWin3(); ClearWin3();
CopyWindowToVram(3, COPYWIN_BOTH); CopyWindowToVram(3, COPYWIN_FULL);
break; break;
case 1: case 1:
return IsDma3ManagerBusyWithBgCopy(); return IsDma3ManagerBusyWithBgCopy();
@@ -557,7 +557,7 @@ static bool32 DisplaySubtask_ShowQuitChattingDialog(u8 *state)
case 0: case 0:
PlaceStdMessageWindow(STDMESSAGE_QUIT_CHATTING, 0); PlaceStdMessageWindow(STDMESSAGE_QUIT_CHATTING, 0);
PlaceYesNoMenuAt(23, 11, 1); PlaceYesNoMenuAt(23, 11, 1);
CopyWindowToVram(sWork->messageWindowId, COPYWIN_BOTH); CopyWindowToVram(sWork->messageWindowId, COPYWIN_FULL);
break; break;
case 1: case 1:
return IsDma3ManagerBusyWithBgCopy(); return IsDma3ManagerBusyWithBgCopy();
@@ -636,7 +636,7 @@ static bool32 DisplaySubtask_PrintRegisterWhere(u8 *state)
if (!IsDma3ManagerBusyWithBgCopy()) if (!IsDma3ManagerBusyWithBgCopy())
{ {
PlaceStdMessageWindow(STDMESSAGE_REGISTER_WHERE, 16); PlaceStdMessageWindow(STDMESSAGE_REGISTER_WHERE, 16);
CopyWindowToVram(sWork->messageWindowId, COPYWIN_BOTH); CopyWindowToVram(sWork->messageWindowId, COPYWIN_FULL);
} }
else else
{ {
@@ -677,7 +677,7 @@ static bool32 DisplaySubtask_CancelRegister(u8 *state)
if (!IsDma3ManagerBusyWithBgCopy()) if (!IsDma3ManagerBusyWithBgCopy())
{ {
HideStdMessageWindow(); HideStdMessageWindow();
CopyWindowToVram(sWork->messageWindowId, COPYWIN_BOTH); CopyWindowToVram(sWork->messageWindowId, COPYWIN_FULL);
} }
else else
{ {
@@ -800,7 +800,7 @@ static bool32 DisplaySubtask_PrintInputText(u8 *state)
{ {
case 0: case 0:
PlaceStdMessageWindow(STDMESSAGE_INPUT_TEXT, 16); PlaceStdMessageWindow(STDMESSAGE_INPUT_TEXT, 16);
CopyWindowToVram(sWork->messageWindowId, COPYWIN_BOTH); CopyWindowToVram(sWork->messageWindowId, COPYWIN_FULL);
(*state)++; (*state)++;
break; break;
case 1: case 1:
@@ -816,7 +816,7 @@ static bool32 DisplaySubtask_PrintExitingChat(u8 *state)
{ {
case 0: case 0:
PlaceStdMessageWindow(STDMESSAGE_EXITING_CHAT, 0); PlaceStdMessageWindow(STDMESSAGE_EXITING_CHAT, 0);
CopyWindowToVram(sWork->messageWindowId, COPYWIN_BOTH); CopyWindowToVram(sWork->messageWindowId, COPYWIN_FULL);
(*state)++; (*state)++;
break; break;
case 1: case 1:
@@ -837,7 +837,7 @@ static bool32 DisplaySubtask_PrintLeaderLeft(u8 *state)
str = UnionRoomChat_GetNameOfPlayerWhoDisbandedChat(); str = UnionRoomChat_GetNameOfPlayerWhoDisbandedChat();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, str); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, str);
PlaceStdMessageWindow(STDMESSAGE_LEADER_LEFT, 0); PlaceStdMessageWindow(STDMESSAGE_LEADER_LEFT, 0);
CopyWindowToVram(sWork->messageWindowId, COPYWIN_BOTH); CopyWindowToVram(sWork->messageWindowId, COPYWIN_FULL);
(*state)++; (*state)++;
break; break;
case 1: case 1:
@@ -854,7 +854,7 @@ static bool32 DisplaySubtask_AskSave(u8 *state)
case 0: case 0:
PlaceStdMessageWindow(STDMESSAGE_ASK_SAVE, 0); PlaceStdMessageWindow(STDMESSAGE_ASK_SAVE, 0);
PlaceYesNoMenuAt(23, 10, 1); PlaceYesNoMenuAt(23, 10, 1);
CopyWindowToVram(sWork->messageWindowId, COPYWIN_BOTH); CopyWindowToVram(sWork->messageWindowId, COPYWIN_FULL);
(*state)++; (*state)++;
break; break;
case 1: case 1:
@@ -871,7 +871,7 @@ static bool32 DisplaySubtask_AskOverwriteSave(u8 *state)
case 0: case 0:
PlaceStdMessageWindow(STDMESSAGE_ASK_OVERWRITE, 0); PlaceStdMessageWindow(STDMESSAGE_ASK_OVERWRITE, 0);
PlaceYesNoMenuAt(23, 10, 1); PlaceYesNoMenuAt(23, 10, 1);
CopyWindowToVram(sWork->messageWindowId, COPYWIN_BOTH); CopyWindowToVram(sWork->messageWindowId, COPYWIN_FULL);
(*state)++; (*state)++;
break; break;
case 1: case 1:
@@ -887,7 +887,7 @@ static bool32 DisplaySubtask_PrintSavingDontTurnOffPower(u8 *state)
{ {
case 0: case 0:
PlaceStdMessageWindow(STDMESSAGE_SAVING_NO_OFF, 0); PlaceStdMessageWindow(STDMESSAGE_SAVING_NO_OFF, 0);
CopyWindowToVram(sWork->messageWindowId, COPYWIN_BOTH); CopyWindowToVram(sWork->messageWindowId, COPYWIN_FULL);
(*state)++; (*state)++;
break; break;
case 1: case 1:
@@ -905,7 +905,7 @@ static bool32 DisplaySubtask_PrintSavedTheGame(u8 *state)
DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
PlaceStdMessageWindow(STDMESSAGE_SAVED_THE_GAME, 0); PlaceStdMessageWindow(STDMESSAGE_SAVED_THE_GAME, 0);
CopyWindowToVram(sWork->messageWindowId, COPYWIN_BOTH); CopyWindowToVram(sWork->messageWindowId, COPYWIN_FULL);
(*state)++; (*state)++;
break; break;
case 1: case 1:
@@ -922,7 +922,7 @@ static bool32 DisplaySubtask_ShowConfirmLeaderLeaveDialog(u8 *state)
case 0: case 0:
PlaceStdMessageWindow(STDMESSAGE_WARN_LEADER_LEAVE, 0); PlaceStdMessageWindow(STDMESSAGE_WARN_LEADER_LEAVE, 0);
PlaceYesNoMenuAt(23, 10, 1); PlaceYesNoMenuAt(23, 10, 1);
CopyWindowToVram(sWork->messageWindowId, COPYWIN_BOTH); CopyWindowToVram(sWork->messageWindowId, COPYWIN_FULL);
(*state)++; (*state)++;
break; break;
case 1: case 1:
@@ -1287,21 +1287,21 @@ static void LoadWin0(void)
LoadPalette(sWin0PalF, 0xF0, 0x20); LoadPalette(sWin0PalF, 0xF0, 0x20);
PutWindowTilemap(0); PutWindowTilemap(0);
FillWindowPixelBuffer(0, PIXEL_FILL(1)); FillWindowPixelBuffer(0, PIXEL_FILL(1));
CopyWindowToVram(0, COPYWIN_BOTH); CopyWindowToVram(0, COPYWIN_FULL);
} }
static void LoadWin2(void) static void LoadWin2(void)
{ {
PutWindowTilemap(2); PutWindowTilemap(2);
PrintCurrentKeyboardPage(); PrintCurrentKeyboardPage();
CopyWindowToVram(2, COPYWIN_BOTH); CopyWindowToVram(2, COPYWIN_FULL);
} }
static void LoadWin1(void) static void LoadWin1(void)
{ {
FillWindowPixelBuffer(1, PIXEL_FILL(0)); FillWindowPixelBuffer(1, PIXEL_FILL(0));
PutWindowTilemap(1); PutWindowTilemap(1);
CopyWindowToVram(1, COPYWIN_BOTH); CopyWindowToVram(1, COPYWIN_FULL);
} }
static void LoadWin3(void) static void LoadWin3(void)
+1 -1
View File
@@ -233,7 +233,7 @@ void CopyWindowToVram(u8 windowId, u8 mode)
case COPYWIN_GFX: case COPYWIN_GFX:
LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock); LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock);
break; break;
case COPYWIN_BOTH: case COPYWIN_FULL:
LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock); LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock);
CopyBgTilemapBufferToVram(windowLocal.window.bg); CopyBgTilemapBufferToVram(windowLocal.window.bg);
break; break;
+1 -1
View File
@@ -107,7 +107,7 @@ void CopyWindowToVram8Bit(u8 windowId, u8 mode)
case COPYWIN_GFX: case COPYWIN_GFX:
LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock); LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock);
break; break;
case COPYWIN_BOTH: case COPYWIN_FULL:
LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock); LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock);
CopyBgTilemapBufferToVram(sWindowPtr->window.bg); CopyBgTilemapBufferToVram(sWindowPtr->window.bg);
break; break;
+1 -1
View File
@@ -292,7 +292,7 @@ static void Task_WirelessCommunicationScreen(u8 taskId)
WCSS_AddTextPrinterParameterized(2, 3, gStringVar4, 4, 100, 2); WCSS_AddTextPrinterParameterized(2, 3, gStringVar4, 4, 100, 2);
} }
PutWindowTilemap(2); PutWindowTilemap(2);
CopyWindowToVram(2, COPYWIN_BOTH); CopyWindowToVram(2, COPYWIN_FULL);
} }
if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON))
{ {