Fix conflicts

This commit is contained in:
DizzyEggg 2018-12-09 13:12:02 +01:00
commit 180aa839c4
147 changed files with 32746 additions and 31145 deletions

2397
asm/fire.s

File diff suppressed because it is too large Load Diff

View File

@ -668,7 +668,7 @@
.4byte \pointer2 @ text
.4byte \pointer3 @ text
.4byte \pointer4 @ event script
.elseif \type == TRAINER_BATTLE_9
.elseif \type == TRAINER_BATTLE_PYRAMID
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.elseif \type == TRAINER_BATTLE_SET_TRAINER_A

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -153,7 +153,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45:: @ 8252C45
end
BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F:: @ 8252C4F
trainerbattle TRAINER_BATTLE_9, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D
trainerbattle TRAINER_BATTLE_PYRAMID, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D
setvar VAR_0x8004, 10
special CallBattlePyramidFunction
waitmessage

1115
data/scripts/secret_base.inc Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,128 @@
EventScript_ShowSecondTrainerIntro:: @ 8271356
special SetUpTrainerEncounterMusic
special EndTrainerApproach
waitstate
goto EventScript_ShowTrainerIntroMsg
EventScript_TryDoNormalTrainerBattle:: @ 8271362
lock
faceplayer
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
waitmovement 0
specialvar VAR_RESULT, GetTrainerFlag
compare VAR_RESULT, 0
goto_if 5, EventScript_NoNormalTrainerBattle
special SetUpTrainerEncounterMusic
special SetUpTrainerMovement
goto EventScript_ShowTrainerIntroMsg
EventScript_NoNormalTrainerBattle:: @ 8271389
gotopostbattlescript
EventScript_TryDoDoubleTrainerBattle:: @ 827138A
lock
faceplayer
call EventScript_RevealTrainer
specialvar VAR_RESULT, GetTrainerFlag
compare VAR_RESULT, 0
goto_if 5, EventScript_NoDoubleTrainerBattle
special HasEnoughMonsForDoubleBattle
compare VAR_RESULT, 0
goto_if 5, EventScript_NotEnoughMonsForDoubleBattle
special SetUpTrainerEncounterMusic
special SetUpTrainerMovement
goto EventScript_ShowTrainerIntroMsg
EventScript_NotEnoughMonsForDoubleBattle:: @ 82713BA
special ShowTrainerCantBattleSpeech
waitmessage
waitbuttonpress
release
end
EventScript_NoDoubleTrainerBattle:: @ 82713C1
gotopostbattlescript
EventScript_DoTainerBattle:: @ 82713C2
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
waitmovement 0
special SetUpTrainerEncounterMusic
trainerbattlebegin
gotopostbattlescript
EventScript_TryDoRematchBattle:: @ 82713D1
call EventScript_RevealTrainer
specialvar VAR_RESULT, IsTrainerReadyForRematch
compare VAR_RESULT, 0
goto_eq EventScript_NoRematchTrainerBattle
special SetUpTrainerEncounterMusic
special SetUpTrainerMovement
special ShowTrainerIntroSpeech
waitmessage
waitbuttonpress
special BattleSetup_StartRematchBattle
waitstate
releaseall
end
EventScript_NoRematchTrainerBattle:: @ 82713F7
gotopostbattlescript
EventScript_TryDoDoubleRematchBattle:: @ 82713F8
specialvar VAR_RESULT, IsTrainerReadyForRematch
compare VAR_RESULT, 0
goto_eq EventScript_NoDoubleRematchTrainerBattle
special HasEnoughMonsForDoubleBattle
compare VAR_RESULT, 0
goto_if 5, EventScript_NotEnoughMonsForDoubleRematchBattle
special SetUpTrainerEncounterMusic
special SetUpTrainerMovement
special ShowTrainerIntroSpeech
waitmessage
waitbuttonpress
special BattleSetup_StartRematchBattle
waitstate
releaseall
end
EventScript_NoDoubleRematchTrainerBattle:: @ 8271427
gotopostbattlescript
EventScript_NotEnoughMonsForDoubleRematchBattle:: @ 8271428
special ShowTrainerCantBattleSpeech
waitmessage
waitbuttonpress
release
end
EventScript_RevealTrainer:: @ 827142F
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
waitmovement 0
return
Movement_RevealTrainer: @ 827143A
reveal_trainer
step_end
EventScript_ShowTrainerIntroMsg:: @ 827143C
special ShowTrainerIntroSpeech
waitmessage
waitbuttonpress
special TryPrepareSecondApproachingTrainer
compare VAR_RESULT, TRUE
goto_eq EventScript_ShowSecondTrainerIntro
goto EventScript_DoTrainerBattle
EventScript_DoTrainerBattle:: @ 8271454
trainerbattlebegin
@ Pointless check, possibly used for debugging?
specialvar VAR_RESULT, GetTrainerBattleMode
compare VAR_RESULT, TRAINER_BATTLE_SINGLE
goto_eq EventScript_EndTrainerBattle
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT
goto_eq EventScript_EndTrainerBattle
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC
goto_eq EventScript_EndTrainerBattle
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE
goto_eq EventScript_EndTrainerBattle
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC
goto_eq EventScript_EndTrainerBattle
EventScript_EndTrainerBattle:: @ 8271491
gotobeatenscript
releaseall
end

View File

@ -324,7 +324,7 @@ gSpecials:: @ 81DBA64
def_special StartGroudonKyogreBattle
def_special BattleSetup_StartLegendaryBattle
def_special StartRegiBattle
def_special sub_80B16D8
def_special SetUpTrainerMovement
def_special DoSealedChamberShakingEffect2
def_special FoundBlackGlasses
def_special sub_80AC81C
@ -531,7 +531,7 @@ gSpecials:: @ 81DBA64
def_special sub_813B9A0
def_special sub_81B9918
def_special sub_80722E0
def_special sub_80B45D0
def_special TryPrepareSecondApproachingTrainer
def_special RemoveRecordsWindow
def_special sub_8139C10
def_special sub_80B3BC4

View File

@ -1,5 +1,5 @@
#ifndef GUARD_MALLOC_H
#define GUARD_MALLOC_H
#ifndef GUARD_ALLOC_H
#define GUARD_ALLOC_H
#define HEAP_SIZE 0x1C000
#define malloc Alloc
@ -19,4 +19,4 @@ void *AllocZeroed(u32 size);
void Free(void *pointer);
void InitHeap(void *pointer, u32 size);
#endif // GUARD_MALLOC_H
#endif // GUARD_ALLOC_H

View File

@ -551,10 +551,10 @@ struct BattleStruct
u16 changedItems[MAX_BATTLERS_COUNT];
u8 intimidateBattler;
u8 switchInItemsCounter;
u8 field_DA;
u8 turnEffectsSide;
u8 arenaTurnCounter;
u8 turnSideTracker;
u8 fillerDC[0xDF-0xDC];
u8 field_DF;
u8 givenExpMons; // Bits for enemy party's pokemon that gave exp to player's party.
u8 lastTakenMoveFrom[MAX_BATTLERS_COUNT * MAX_BATTLERS_COUNT * 2]; // a 3-D array [target][attacker][byte]
u16 castformPalette[MAX_BATTLERS_COUNT][16];
u8 field_180;

View File

@ -3,6 +3,7 @@
#include "battle.h"
#include "constants/battle_anim.h"
#include "task.h"
enum
{
@ -124,6 +125,11 @@ void sub_80A6D60(struct UnknownAnimStruct2*, const void*, u32);
void sub_80A6CC0(u32, const void*, u32);
void sub_80A6DAC(bool8);
void sub_80A634C(struct Sprite *);
void sub_80A653C(struct Sprite *);
void sub_80A7E6C(u8 spriteId);
void sub_80A805C(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7);
u8 sub_80A80C8(struct Task *task);
void sub_80A8EE4(struct Sprite *);
enum
{

View File

@ -41,7 +41,7 @@ void ConfigureAndSetUpOneTrainerBattle(u8 trainerEventObjId, const u8 *trainerSc
void ConfigureTwoTrainersBattle(u8 trainerEventObjId, const u8 *trainerScript);
void SetUpTwoTrainersBattle(void);
bool32 GetTrainerFlagFromScriptPointer(const u8 *data);
void sub_80B16D8(void);
void SetUpTrainerMovement(void);
u8 GetTrainerBattleMode(void);
bool8 GetTrainerFlag(void);
bool8 HasTrainerBeenFought(u16 trainerId);

View File

@ -10,7 +10,7 @@
#define TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE 6
#define TRAINER_BATTLE_REMATCH_DOUBLE 7
#define TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC 8
#define TRAINER_BATTLE_9 9
#define TRAINER_BATTLE_PYRAMID 9
#define TRAINER_BATTLE_SET_TRAINER_A 10
#define TRAINER_BATTLE_SET_TRAINER_B 11
#define TRAINER_BATTLE_12 12

View File

@ -3,384 +3,384 @@
#define BATTLESTRINGS_ID_ADDER 12 // all battlestrings have its ID + 12, because first 5 are reserved
#define STRINGID_INTROMSG 0
#define STRINGID_INTROMSG 0
#define STRINGID_INTROSENDOUT 1
#define STRINGID_RETURNMON 2
#define STRINGID_RETURNMON 2
#define STRINGID_SWITCHINMON 3
#define STRINGID_USEDMOVE 4
#define STRINGID_BATTLEEND 5
#define STRINGID_TRAINERSLIDE 6
#define STRINGID_USEDMOVE 4
#define STRINGID_BATTLEEND 5
#define STRINGID_TRAINERSLIDE 6
// todo: make some of those names less vague: attacker/target vs pkmn, etc.
#define STRINGID_TRAINER1LOSETEXT 12
#define STRINGID_PKMNGAINEDEXP 13
#define STRINGID_PKMNGREWTOLV 14
#define STRINGID_PKMNLEARNEDMOVE 15
#define STRINGID_TRYTOLEARNMOVE1 16
#define STRINGID_TRYTOLEARNMOVE2 17
#define STRINGID_TRYTOLEARNMOVE3 18
#define STRINGID_PKMNFORGOTMOVE 19
#define STRINGID_STOPLEARNINGMOVE 20
#define STRINGID_DIDNOTLEARNMOVE 21
#define STRINGID_PKMNLEARNEDMOVE2 22
#define STRINGID_ATTACKMISSED 23
#define STRINGID_PKMNPROTECTEDITSELF 24
#define STRINGID_STATSWONTINCREASE2 25
#define STRINGID_AVOIDEDDAMAGE 26
#define STRINGID_ITDOESNTAFFECT 27
#define STRINGID_ATTACKERFAINTED 28
#define STRINGID_TARGETFAINTED 29
#define STRINGID_PLAYERGOTMONEY 30
#define STRINGID_PLAYERWHITEOUT 31
#define STRINGID_PLAYERWHITEOUT2 32
#define STRINGID_PREVENTSESCAPE 33
#define STRINGID_HITXTIMES 34
#define STRINGID_PKMNFELLASLEEP 35
#define STRINGID_PKMNMADESLEEP 36
#define STRINGID_PKMNALREADYASLEEP 37
#define STRINGID_PKMNALREADYASLEEP2 38
#define STRINGID_PKMNWASNTAFFECTED 39
#define STRINGID_PKMNWASPOISONED 40
#define STRINGID_PKMNPOISONEDBY 41
#define STRINGID_PKMNHURTBYPOISON 42
#define STRINGID_PKMNALREADYPOISONED 43
#define STRINGID_PKMNBADLYPOISONED 44
#define STRINGID_PKMNENERGYDRAINED 45
#define STRINGID_PKMNWASBURNED 46
#define STRINGID_PKMNBURNEDBY 47
#define STRINGID_PKMNHURTBYBURN 48
#define STRINGID_PKMNWASFROZEN 49
#define STRINGID_PKMNFROZENBY 50
#define STRINGID_PKMNISFROZEN 51
#define STRINGID_PKMNWASDEFROSTED 52
#define STRINGID_PKMNWASDEFROSTED2 53
#define STRINGID_PKMNWASDEFROSTEDBY 54
#define STRINGID_PKMNWASPARALYZED 55
#define STRINGID_PKMNWASPARALYZEDBY 56
#define STRINGID_PKMNISPARALYZED 57
#define STRINGID_PKMNISALREADYPARALYZED 58
#define STRINGID_PKMNHEALEDPARALYSIS 59
#define STRINGID_PKMNDREAMEATEN 60
#define STRINGID_STATSWONTINCREASE 61
#define STRINGID_STATSWONTDECREASE 62
#define STRINGID_TEAMSTOPPEDWORKING 63
#define STRINGID_FOESTOPPEDWORKING 64
#define STRINGID_PKMNISCONFUSED 65
#define STRINGID_PKMNHEALEDCONFUSION 66
#define STRINGID_PKMNWASCONFUSED 67
#define STRINGID_PKMNALREADYCONFUSED 68
#define STRINGID_PKMNFELLINLOVE 69
#define STRINGID_PKMNINLOVE 70
#define STRINGID_PKMNIMMOBILIZEDBYLOVE 71
#define STRINGID_PKMNBLOWNAWAY 72
#define STRINGID_PKMNCHANGEDTYPE 73
#define STRINGID_PKMNFLINCHED 74
#define STRINGID_PKMNREGAINEDHEALTH 75
#define STRINGID_PKMNHPFULL 76
#define STRINGID_PKMNRAISEDSPDEF 77
#define STRINGID_PKMNRAISEDDEF 78
#define STRINGID_PKMNCOVEREDBYVEIL 79
#define STRINGID_PKMNUSEDSAFEGUARD 80
#define STRINGID_PKMNSAFEGUARDEXPIRED 81
#define STRINGID_PKMNWENTTOSLEEP 82
#define STRINGID_PKMNSLEPTHEALTHY 83
#define STRINGID_PKMNWHIPPEDWHIRLWIND 84
#define STRINGID_PKMNTOOKSUNLIGHT 85
#define STRINGID_PKMNLOWEREDHEAD 86
#define STRINGID_PKMNISGLOWING 87
#define STRINGID_PKMNFLEWHIGH 88
#define STRINGID_PKMNDUGHOLE 89
#define STRINGID_PKMNSQUEEZEDBYBIND 90
#define STRINGID_PKMNTRAPPEDINVORTEX 91
#define STRINGID_PKMNWRAPPEDBY 92
#define STRINGID_PKMNCLAMPED 93
#define STRINGID_PKMNHURTBY 94
#define STRINGID_PKMNFREEDFROM 95
#define STRINGID_PKMNCRASHED 96
#define STRINGID_PKMNSHROUDEDINMIST 97
#define STRINGID_PKMNPROTECTEDBYMIST 98
#define STRINGID_PKMNGETTINGPUMPED 99
#define STRINGID_PKMNHITWITHRECOIL 100
#define STRINGID_PKMNPROTECTEDITSELF2 101
#define STRINGID_PKMNBUFFETEDBYSANDSTORM 102
#define STRINGID_PKMNPELTEDBYHAIL 103
#define STRINGID_PKMNSEEDED 104
#define STRINGID_PKMNEVADEDATTACK 105
#define STRINGID_PKMNSAPPEDBYLEECHSEED 106
#define STRINGID_PKMNFASTASLEEP 107
#define STRINGID_PKMNWOKEUP 108
#define STRINGID_PKMNUPROARKEPTAWAKE 109
#define STRINGID_PKMNWOKEUPINUPROAR 110
#define STRINGID_PKMNCAUSEDUPROAR 111
#define STRINGID_PKMNMAKINGUPROAR 112
#define STRINGID_PKMNCALMEDDOWN 113
#define STRINGID_PKMNCANTSLEEPINUPROAR 114
#define STRINGID_PKMNSTOCKPILED 115
#define STRINGID_PKMNCANTSTOCKPILE 116
#define STRINGID_PKMNCANTSLEEPINUPROAR2 117
#define STRINGID_UPROARKEPTPKMNAWAKE 118
#define STRINGID_PKMNSTAYEDAWAKEUSING 119
#define STRINGID_PKMNSTORINGENERGY 120
#define STRINGID_PKMNUNLEASHEDENERGY 121
#define STRINGID_PKMNFATIGUECONFUSION 122
#define STRINGID_PKMNPICKEDUPITEM 123
#define STRINGID_PKMNUNAFFECTED 124
#define STRINGID_PKMNTRANSFORMEDINTO 125
#define STRINGID_PKMNMADESUBSTITUTE 126
#define STRINGID_PKMNHASSUBSTITUTE 127
#define STRINGID_SUBSTITUTEDAMAGED 128
#define STRINGID_PKMNSUBSTITUTEFADED 129
#define STRINGID_PKMNMUSTRECHARGE 130
#define STRINGID_PKMNRAGEBUILDING 131
#define STRINGID_PKMNMOVEWASDISABLED 132
#define STRINGID_PKMNMOVEISDISABLED 133
#define STRINGID_PKMNMOVEDISABLEDNOMORE 134
#define STRINGID_PKMNGOTENCORE 135
#define STRINGID_PKMNENCOREENDED 136
#define STRINGID_PKMNTOOKAIM 137
#define STRINGID_PKMNSKETCHEDMOVE 138
#define STRINGID_PKMNTRYINGTOTAKEFOE 139
#define STRINGID_PKMNTOOKFOE 140
#define STRINGID_PKMNREDUCEDPP 141
#define STRINGID_PKMNSTOLEITEM 142
#define STRINGID_TARGETCANTESCAPENOW 143
#define STRINGID_PKMNFELLINTONIGHTMARE 144
#define STRINGID_PKMNLOCKEDINNIGHTMARE 145
#define STRINGID_PKMNLAIDCURSE 146
#define STRINGID_PKMNAFFLICTEDBYCURSE 147
#define STRINGID_SPIKESSCATTERED 148
#define STRINGID_PKMNHURTBYSPIKES 149
#define STRINGID_PKMNIDENTIFIED 150
#define STRINGID_PKMNPERISHCOUNTFELL 151
#define STRINGID_PKMNBRACEDITSELF 152
#define STRINGID_PKMNENDUREDHIT 153
#define STRINGID_MAGNITUDESTRENGTH 154
#define STRINGID_PKMNCUTHPMAXEDATTACK 155
#define STRINGID_PKMNCOPIEDSTATCHANGES 156
#define STRINGID_PKMNGOTFREE 157
#define STRINGID_PKMNSHEDLEECHSEED 158
#define STRINGID_PKMNBLEWAWAYSPIKES 159
#define STRINGID_PKMNFLEDFROMBATTLE 160
#define STRINGID_PKMNFORESAWATTACK 161
#define STRINGID_PKMNTOOKATTACK 162
#define STRINGID_PKMNATTACK 163
#define STRINGID_PKMNCENTERATTENTION 164
#define STRINGID_PKMNCHARGINGPOWER 165
#define STRINGID_NATUREPOWERTURNEDINTO 166
#define STRINGID_PKMNSTATUSNORMAL 167
#define STRINGID_PKMNHASNOMOVESLEFT 168
#define STRINGID_PKMNSUBJECTEDTOTORMENT 169
#define STRINGID_PKMNCANTUSEMOVETORMENT 170
#define STRINGID_PKMNTIGHTENINGFOCUS 171
#define STRINGID_PKMNFELLFORTAUNT 172
#define STRINGID_PKMNCANTUSEMOVETAUNT 173
#define STRINGID_PKMNREADYTOHELP 174
#define STRINGID_PKMNSWITCHEDITEMS 175
#define STRINGID_PKMNCOPIEDFOE 176
#define STRINGID_PKMNMADEWISH 177
#define STRINGID_PKMNWISHCAMETRUE 178
#define STRINGID_PKMNPLANTEDROOTS 179
#define STRINGID_PKMNABSORBEDNUTRIENTS 180
#define STRINGID_PKMNANCHOREDITSELF 181
#define STRINGID_PKMNWASMADEDROWSY 182
#define STRINGID_PKMNKNOCKEDOFF 183
#define STRINGID_PKMNSWAPPEDABILITIES 184
#define STRINGID_PKMNSEALEDOPPONENTMOVE 185
#define STRINGID_PKMNCANTUSEMOVESEALED 186
#define STRINGID_PKMNWANTSGRUDGE 187
#define STRINGID_PKMNLOSTPPGRUDGE 188
#define STRINGID_PKMNSHROUDEDITSELF 189
#define STRINGID_PKMNMOVEBOUNCED 190
#define STRINGID_PKMNWAITSFORTARGET 191
#define STRINGID_PKMNSNATCHEDMOVE 192
#define STRINGID_PKMNMADEITRAIN 193
#define STRINGID_PKMNRAISEDSPEED 194
#define STRINGID_PKMNPROTECTEDBY 195
#define STRINGID_PKMNPREVENTSUSAGE 196
#define STRINGID_PKMNRESTOREDHPUSING 197
#define STRINGID_PKMNCHANGEDTYPEWITH 198
#define STRINGID_PKMNPREVENTSPARALYSISWITH 199
#define STRINGID_PKMNPREVENTSROMANCEWITH 200
#define STRINGID_PKMNPREVENTSPOISONINGWITH 201
#define STRINGID_PKMNPREVENTSCONFUSIONWITH 202
#define STRINGID_PKMNRAISEDFIREPOWERWITH 203
#define STRINGID_PKMNANCHORSITSELFWITH 204
#define STRINGID_PKMNCUTSATTACKWITH 205
#define STRINGID_PKMNPREVENTSSTATLOSSWITH 206
#define STRINGID_PKMNHURTSWITH 207
#define STRINGID_PKMNTRACED 208
#define STRINGID_STATSHARPLY 209
#define STRINGID_STATROSE 210
#define STRINGID_STATHARSHLY 211
#define STRINGID_STATFELL 212
#define STRINGID_PKMNSSTATCHANGED 213
#define STRINGID_PKMNSSTATCHANGED2 214
#define STRINGID_PKMNSSTATCHANGED3 215
#define STRINGID_PKMNSSTATCHANGED4 216
#define STRINGID_CRITICALHIT 217
#define STRINGID_ONEHITKO 218
#define STRINGID_123POOF 219
#define STRINGID_ANDELLIPSIS 220
#define STRINGID_NOTVERYEFFECTIVE 221
#define STRINGID_SUPEREFFECTIVE 222
#define STRINGID_GOTAWAYSAFELY 223
#define STRINGID_WILDPKMNFLED 224
#define STRINGID_NORUNNINGFROMTRAINERS 225
#define STRINGID_CANTESCAPE 226
#define STRINGID_DONTLEAVEBIRCH 227
#define STRINGID_BUTNOTHINGHAPPENED 228
#define STRINGID_BUTITFAILED 229
#define STRINGID_ITHURTCONFUSION 230
#define STRINGID_MIRRORMOVEFAILED 231
#define STRINGID_STARTEDTORAIN 232
#define STRINGID_DOWNPOURSTARTED 233
#define STRINGID_RAINCONTINUES 234
#define STRINGID_DOWNPOURCONTINUES 235
#define STRINGID_RAINSTOPPED 236
#define STRINGID_SANDSTORMBREWED 237
#define STRINGID_SANDSTORMRAGES 238
#define STRINGID_SANDSTORMSUBSIDED 239
#define STRINGID_SUNLIGHTGOTBRIGHT 240
#define STRINGID_SUNLIGHTSTRONG 241
#define STRINGID_SUNLIGHTFADED 242
#define STRINGID_STARTEDHAIL 243
#define STRINGID_HAILCONTINUES 244
#define STRINGID_HAILSTOPPED 245
#define STRINGID_FAILEDTOSPITUP 246
#define STRINGID_FAILEDTOSWALLOW 247
#define STRINGID_WINDBECAMEHEATWAVE 248
#define STRINGID_STATCHANGESGONE 249
#define STRINGID_COINSSCATTERED 250
#define STRINGID_TOOWEAKFORSUBSTITUTE 251
#define STRINGID_SHAREDPAIN 252
#define STRINGID_BELLCHIMED 253
#define STRINGID_FAINTINTHREE 254
#define STRINGID_NOPPLEFT 255
#define STRINGID_BUTNOPPLEFT 256
#define STRINGID_PLAYERUSEDITEM 257
#define STRINGID_WALLYUSEDITEM 258
#define STRINGID_TRAINERBLOCKEDBALL 259
#define STRINGID_DONTBEATHIEF 260
#define STRINGID_ITDODGEDBALL 261
#define STRINGID_YOUMISSEDPKMN 262
#define STRINGID_PKMNBROKEFREE 263
#define STRINGID_ITAPPEAREDCAUGHT 264
#define STRINGID_AARGHALMOSTHADIT 265
#define STRINGID_SHOOTSOCLOSE 266
#define STRINGID_GOTCHAPKMNCAUGHT 267
#define STRINGID_GOTCHAPKMNCAUGHT2 268
#define STRINGID_GIVENICKNAMECAPTURED 269
#define STRINGID_PKMNSENTTOPC 270
#define STRINGID_PKMNDATAADDEDTODEX 271
#define STRINGID_ITISRAINING 272
#define STRINGID_SANDSTORMISRAGING 273
#define STRINGID_CANTESCAPE2 274
#define STRINGID_PKMNIGNORESASLEEP 275
#define STRINGID_PKMNIGNOREDORDERS 276
#define STRINGID_PKMNBEGANTONAP 277
#define STRINGID_PKMNLOAFING 278
#define STRINGID_PKMNWONTOBEY 279
#define STRINGID_PKMNTURNEDAWAY 280
#define STRINGID_PKMNPRETENDNOTNOTICE 281
#define STRINGID_ENEMYABOUTTOSWITCHPKMN 282
#define STRINGID_CREPTCLOSER 283
#define STRINGID_CANTGETCLOSER 284
#define STRINGID_PKMNWATCHINGCAREFULLY 285
#define STRINGID_PKMNCURIOUSABOUTX 286
#define STRINGID_PKMNENTHRALLEDBYX 287
#define STRINGID_PKMNIGNOREDX 288
#define STRINGID_THREWPOKEBLOCKATPKMN 289
#define STRINGID_OUTOFSAFARIBALLS 290
#define STRINGID_PKMNSITEMCUREDPARALYSIS 291
#define STRINGID_PKMNSITEMCUREDPOISON 292
#define STRINGID_PKMNSITEMHEALEDBURN 293
#define STRINGID_PKMNSITEMDEFROSTEDIT 294
#define STRINGID_PKMNSITEMWOKEIT 295
#define STRINGID_PKMNSITEMSNAPPEDOUT 296
#define STRINGID_PKMNSITEMCUREDPROBLEM 297
#define STRINGID_PKMNSITEMRESTOREDHEALTH 298
#define STRINGID_PKMNSITEMRESTOREDPP 299
#define STRINGID_PKMNSITEMRESTOREDSTATUS 300
#define STRINGID_PKMNSITEMRESTOREDHPALITTLE 301
#define STRINGID_ITEMALLOWSONLYYMOVE 302
#define STRINGID_PKMNHUNGONWITHX 303
#define STRINGID_EMPTYSTRING3 304
#define STRINGID_PKMNSXPREVENTSBURNS 305
#define STRINGID_PKMNSXBLOCKSY 306
#define STRINGID_PKMNSXRESTOREDHPALITTLE2 307
#define STRINGID_PKMNSXWHIPPEDUPSANDSTORM 308
#define STRINGID_PKMNSXPREVENTSYLOSS 309
#define STRINGID_PKMNSXINFATUATEDY 310
#define STRINGID_PKMNSXMADEYINEFFECTIVE 311
#define STRINGID_PKMNSXCUREDYPROBLEM 312
#define STRINGID_ITSUCKEDLIQUIDOOZE 313
#define STRINGID_PKMNTRANSFORMED 314
#define STRINGID_ELECTRICITYWEAKENED 315
#define STRINGID_FIREWEAKENED 316
#define STRINGID_PKMNHIDUNDERWATER 317
#define STRINGID_PKMNSPRANGUP 318
#define STRINGID_HMMOVESCANTBEFORGOTTEN 319
#define STRINGID_XFOUNDONEY 320
#define STRINGID_PLAYERDEFEATEDTRAINER1 321
#define STRINGID_SOOTHINGAROMA 322
#define STRINGID_ITEMSCANTBEUSEDNOW 323
#define STRINGID_FORXCOMMAYZ 324
#define STRINGID_USINGXTHEYOFZN 325
#define STRINGID_PKMNUSEDXTOGETPUMPED 326
#define STRINGID_PKMNSXMADEYUSELESS 327
#define STRINGID_PKMNTRAPPEDBYSANDTOMB 328
#define STRINGID_EMPTYSTRING4 329
#define STRINGID_ABOOSTED 330
#define STRINGID_PKMNSXINTENSIFIEDSUN 331
#define STRINGID_PKMNMAKESGROUNDMISS 332
#define STRINGID_YOUTHROWABALLNOWRIGHT 333
#define STRINGID_PKMNSXTOOKATTACK 334
#define STRINGID_PKMNCHOSEXASDESTINY 335
#define STRINGID_PKMNLOSTFOCUS 336
#define STRINGID_USENEXTPKMN 337
#define STRINGID_PKMNFLEDUSINGITS 338
#define STRINGID_PKMNFLEDUSING 339
#define STRINGID_PKMNWASDRAGGEDOUT 340
#define STRINGID_PREVENTEDFROMWORKING 341
#define STRINGID_PKMNSITEMNORMALIZEDSTATUS 342
#define STRINGID_TRAINER1USEDITEM 343
#define STRINGID_BOXISFULL 344
#define STRINGID_PKMNAVOIDEDATTACK 345
#define STRINGID_PKMNSXMADEITINEFFECTIVE 346
#define STRINGID_PKMNSXPREVENTSFLINCHING 347
#define STRINGID_PKMNALREADYHASBURN 348
#define STRINGID_STATSWONTDECREASE2 349
#define STRINGID_PKMNSXBLOCKSY2 350
#define STRINGID_PKMNSXWOREOFF 351
#define STRINGID_PKMNRAISEDDEFALITTLE 352
#define STRINGID_PKMNRAISEDSPDEFALITTLE 353
#define STRINGID_THEWALLSHATTERED 354
#define STRINGID_PKMNSXPREVENTSYSZ 355
#define STRINGID_PKMNSXCUREDITSYPROBLEM 356
#define STRINGID_ATTACKERCANTESCAPE 357
#define STRINGID_PKMNOBTAINEDX 358
#define STRINGID_PKMNOBTAINEDX2 359
#define STRINGID_PKMNOBTAINEDXYOBTAINEDZ 360
#define STRINGID_BUTNOEFFECT 361
#define STRINGID_PKMNSXHADNOEFFECTONY 362
#define STRINGID_TWOENEMIESDEFEATED 363
#define STRINGID_TRAINER2LOSETEXT 364
#define STRINGID_PKMNINCAPABLEOFPOWER 365
#define STRINGID_GLINTAPPEARSINEYE 366
#define STRINGID_PKMNGETTINGINTOPOSITION 367
#define STRINGID_PKMNBEGANGROWLINGDEEPLY 368
#define STRINGID_PKMNEAGERFORMORE 369
#define STRINGID_DEFEATEDOPPONENTBYREFEREE 370
#define STRINGID_LOSTTOOPPONENTBYREFEREE 371
#define STRINGID_TIEDOPPONENTBYREFEREE 372
#define STRINGID_QUESTIONFORFEITMATCH 373
#define STRINGID_FORFEITEDMATCH 374
#define STRINGID_PKMNTRANSFERREDSOMEONESPC 375
#define STRINGID_PKMNTRANSFERREDLANETTESPC 376
#define STRINGID_PKMNBOXSOMEONESPCFULL 377
#define STRINGID_PKMNBOXLANETTESPCFULL 378
#define STRINGID_TRAINER1WINTEXT 379
#define STRINGID_TRAINER2WINTEXT 380
#define STRINGID_TRAINER1LOSETEXT 12
#define STRINGID_PKMNGAINEDEXP 13
#define STRINGID_PKMNGREWTOLV 14
#define STRINGID_PKMNLEARNEDMOVE 15
#define STRINGID_TRYTOLEARNMOVE1 16
#define STRINGID_TRYTOLEARNMOVE2 17
#define STRINGID_TRYTOLEARNMOVE3 18
#define STRINGID_PKMNFORGOTMOVE 19
#define STRINGID_STOPLEARNINGMOVE 20
#define STRINGID_DIDNOTLEARNMOVE 21
#define STRINGID_PKMNLEARNEDMOVE2 22
#define STRINGID_ATTACKMISSED 23
#define STRINGID_PKMNPROTECTEDITSELF 24
#define STRINGID_STATSWONTINCREASE2 25
#define STRINGID_AVOIDEDDAMAGE 26
#define STRINGID_ITDOESNTAFFECT 27
#define STRINGID_ATTACKERFAINTED 28
#define STRINGID_TARGETFAINTED 29
#define STRINGID_PLAYERGOTMONEY 30
#define STRINGID_PLAYERWHITEOUT 31
#define STRINGID_PLAYERWHITEOUT2 32
#define STRINGID_PREVENTSESCAPE 33
#define STRINGID_HITXTIMES 34
#define STRINGID_PKMNFELLASLEEP 35
#define STRINGID_PKMNMADESLEEP 36
#define STRINGID_PKMNALREADYASLEEP 37
#define STRINGID_PKMNALREADYASLEEP2 38
#define STRINGID_PKMNWASNTAFFECTED 39
#define STRINGID_PKMNWASPOISONED 40
#define STRINGID_PKMNPOISONEDBY 41
#define STRINGID_PKMNHURTBYPOISON 42
#define STRINGID_PKMNALREADYPOISONED 43
#define STRINGID_PKMNBADLYPOISONED 44
#define STRINGID_PKMNENERGYDRAINED 45
#define STRINGID_PKMNWASBURNED 46
#define STRINGID_PKMNBURNEDBY 47
#define STRINGID_PKMNHURTBYBURN 48
#define STRINGID_PKMNWASFROZEN 49
#define STRINGID_PKMNFROZENBY 50
#define STRINGID_PKMNISFROZEN 51
#define STRINGID_PKMNWASDEFROSTED 52
#define STRINGID_PKMNWASDEFROSTED2 53
#define STRINGID_PKMNWASDEFROSTEDBY 54
#define STRINGID_PKMNWASPARALYZED 55
#define STRINGID_PKMNWASPARALYZEDBY 56
#define STRINGID_PKMNISPARALYZED 57
#define STRINGID_PKMNISALREADYPARALYZED 58
#define STRINGID_PKMNHEALEDPARALYSIS 59
#define STRINGID_PKMNDREAMEATEN 60
#define STRINGID_STATSWONTINCREASE 61
#define STRINGID_STATSWONTDECREASE 62
#define STRINGID_TEAMSTOPPEDWORKING 63
#define STRINGID_FOESTOPPEDWORKING 64
#define STRINGID_PKMNISCONFUSED 65
#define STRINGID_PKMNHEALEDCONFUSION 66
#define STRINGID_PKMNWASCONFUSED 67
#define STRINGID_PKMNALREADYCONFUSED 68
#define STRINGID_PKMNFELLINLOVE 69
#define STRINGID_PKMNINLOVE 70
#define STRINGID_PKMNIMMOBILIZEDBYLOVE 71
#define STRINGID_PKMNBLOWNAWAY 72
#define STRINGID_PKMNCHANGEDTYPE 73
#define STRINGID_PKMNFLINCHED 74
#define STRINGID_PKMNREGAINEDHEALTH 75
#define STRINGID_PKMNHPFULL 76
#define STRINGID_PKMNRAISEDSPDEF 77
#define STRINGID_PKMNRAISEDDEF 78
#define STRINGID_PKMNCOVEREDBYVEIL 79
#define STRINGID_PKMNUSEDSAFEGUARD 80
#define STRINGID_PKMNSAFEGUARDEXPIRED 81
#define STRINGID_PKMNWENTTOSLEEP 82
#define STRINGID_PKMNSLEPTHEALTHY 83
#define STRINGID_PKMNWHIPPEDWHIRLWIND 84
#define STRINGID_PKMNTOOKSUNLIGHT 85
#define STRINGID_PKMNLOWEREDHEAD 86
#define STRINGID_PKMNISGLOWING 87
#define STRINGID_PKMNFLEWHIGH 88
#define STRINGID_PKMNDUGHOLE 89
#define STRINGID_PKMNSQUEEZEDBYBIND 90
#define STRINGID_PKMNTRAPPEDINVORTEX 91
#define STRINGID_PKMNWRAPPEDBY 92
#define STRINGID_PKMNCLAMPED 93
#define STRINGID_PKMNHURTBY 94
#define STRINGID_PKMNFREEDFROM 95
#define STRINGID_PKMNCRASHED 96
#define STRINGID_PKMNSHROUDEDINMIST 97
#define STRINGID_PKMNPROTECTEDBYMIST 98
#define STRINGID_PKMNGETTINGPUMPED 99
#define STRINGID_PKMNHITWITHRECOIL 100
#define STRINGID_PKMNPROTECTEDITSELF2 101
#define STRINGID_PKMNBUFFETEDBYSANDSTORM 102
#define STRINGID_PKMNPELTEDBYHAIL 103
#define STRINGID_PKMNSEEDED 104
#define STRINGID_PKMNEVADEDATTACK 105
#define STRINGID_PKMNSAPPEDBYLEECHSEED 106
#define STRINGID_PKMNFASTASLEEP 107
#define STRINGID_PKMNWOKEUP 108
#define STRINGID_PKMNUPROARKEPTAWAKE 109
#define STRINGID_PKMNWOKEUPINUPROAR 110
#define STRINGID_PKMNCAUSEDUPROAR 111
#define STRINGID_PKMNMAKINGUPROAR 112
#define STRINGID_PKMNCALMEDDOWN 113
#define STRINGID_PKMNCANTSLEEPINUPROAR 114
#define STRINGID_PKMNSTOCKPILED 115
#define STRINGID_PKMNCANTSTOCKPILE 116
#define STRINGID_PKMNCANTSLEEPINUPROAR2 117
#define STRINGID_UPROARKEPTPKMNAWAKE 118
#define STRINGID_PKMNSTAYEDAWAKEUSING 119
#define STRINGID_PKMNSTORINGENERGY 120
#define STRINGID_PKMNUNLEASHEDENERGY 121
#define STRINGID_PKMNFATIGUECONFUSION 122
#define STRINGID_PKMNPICKEDUPITEM 123
#define STRINGID_PKMNUNAFFECTED 124
#define STRINGID_PKMNTRANSFORMEDINTO 125
#define STRINGID_PKMNMADESUBSTITUTE 126
#define STRINGID_PKMNHASSUBSTITUTE 127
#define STRINGID_SUBSTITUTEDAMAGED 128
#define STRINGID_PKMNSUBSTITUTEFADED 129
#define STRINGID_PKMNMUSTRECHARGE 130
#define STRINGID_PKMNRAGEBUILDING 131
#define STRINGID_PKMNMOVEWASDISABLED 132
#define STRINGID_PKMNMOVEISDISABLED 133
#define STRINGID_PKMNMOVEDISABLEDNOMORE 134
#define STRINGID_PKMNGOTENCORE 135
#define STRINGID_PKMNENCOREENDED 136
#define STRINGID_PKMNTOOKAIM 137
#define STRINGID_PKMNSKETCHEDMOVE 138
#define STRINGID_PKMNTRYINGTOTAKEFOE 139
#define STRINGID_PKMNTOOKFOE 140
#define STRINGID_PKMNREDUCEDPP 141
#define STRINGID_PKMNSTOLEITEM 142
#define STRINGID_TARGETCANTESCAPENOW 143
#define STRINGID_PKMNFELLINTONIGHTMARE 144
#define STRINGID_PKMNLOCKEDINNIGHTMARE 145
#define STRINGID_PKMNLAIDCURSE 146
#define STRINGID_PKMNAFFLICTEDBYCURSE 147
#define STRINGID_SPIKESSCATTERED 148
#define STRINGID_PKMNHURTBYSPIKES 149
#define STRINGID_PKMNIDENTIFIED 150
#define STRINGID_PKMNPERISHCOUNTFELL 151
#define STRINGID_PKMNBRACEDITSELF 152
#define STRINGID_PKMNENDUREDHIT 153
#define STRINGID_MAGNITUDESTRENGTH 154
#define STRINGID_PKMNCUTHPMAXEDATTACK 155
#define STRINGID_PKMNCOPIEDSTATCHANGES 156
#define STRINGID_PKMNGOTFREE 157
#define STRINGID_PKMNSHEDLEECHSEED 158
#define STRINGID_PKMNBLEWAWAYSPIKES 159
#define STRINGID_PKMNFLEDFROMBATTLE 160
#define STRINGID_PKMNFORESAWATTACK 161
#define STRINGID_PKMNTOOKATTACK 162
#define STRINGID_PKMNATTACK 163
#define STRINGID_PKMNCENTERATTENTION 164
#define STRINGID_PKMNCHARGINGPOWER 165
#define STRINGID_NATUREPOWERTURNEDINTO 166
#define STRINGID_PKMNSTATUSNORMAL 167
#define STRINGID_PKMNHASNOMOVESLEFT 168
#define STRINGID_PKMNSUBJECTEDTOTORMENT 169
#define STRINGID_PKMNCANTUSEMOVETORMENT 170
#define STRINGID_PKMNTIGHTENINGFOCUS 171
#define STRINGID_PKMNFELLFORTAUNT 172
#define STRINGID_PKMNCANTUSEMOVETAUNT 173
#define STRINGID_PKMNREADYTOHELP 174
#define STRINGID_PKMNSWITCHEDITEMS 175
#define STRINGID_PKMNCOPIEDFOE 176
#define STRINGID_PKMNMADEWISH 177
#define STRINGID_PKMNWISHCAMETRUE 178
#define STRINGID_PKMNPLANTEDROOTS 179
#define STRINGID_PKMNABSORBEDNUTRIENTS 180
#define STRINGID_PKMNANCHOREDITSELF 181
#define STRINGID_PKMNWASMADEDROWSY 182
#define STRINGID_PKMNKNOCKEDOFF 183
#define STRINGID_PKMNSWAPPEDABILITIES 184
#define STRINGID_PKMNSEALEDOPPONENTMOVE 185
#define STRINGID_PKMNCANTUSEMOVESEALED 186
#define STRINGID_PKMNWANTSGRUDGE 187
#define STRINGID_PKMNLOSTPPGRUDGE 188
#define STRINGID_PKMNSHROUDEDITSELF 189
#define STRINGID_PKMNMOVEBOUNCED 190
#define STRINGID_PKMNWAITSFORTARGET 191
#define STRINGID_PKMNSNATCHEDMOVE 192
#define STRINGID_PKMNMADEITRAIN 193
#define STRINGID_PKMNRAISEDSPEED 194
#define STRINGID_PKMNPROTECTEDBY 195
#define STRINGID_PKMNPREVENTSUSAGE 196
#define STRINGID_PKMNRESTOREDHPUSING 197
#define STRINGID_PKMNCHANGEDTYPEWITH 198
#define STRINGID_PKMNPREVENTSPARALYSISWITH 199
#define STRINGID_PKMNPREVENTSROMANCEWITH 200
#define STRINGID_PKMNPREVENTSPOISONINGWITH 201
#define STRINGID_PKMNPREVENTSCONFUSIONWITH 202
#define STRINGID_PKMNRAISEDFIREPOWERWITH 203
#define STRINGID_PKMNANCHORSITSELFWITH 204
#define STRINGID_PKMNCUTSATTACKWITH 205
#define STRINGID_PKMNPREVENTSSTATLOSSWITH 206
#define STRINGID_PKMNHURTSWITH 207
#define STRINGID_PKMNTRACED 208
#define STRINGID_STATSHARPLY 209
#define STRINGID_STATROSE 210
#define STRINGID_STATHARSHLY 211
#define STRINGID_STATFELL 212
#define STRINGID_PKMNSSTATCHANGED 213
#define STRINGID_PKMNSSTATCHANGED2 214
#define STRINGID_PKMNSSTATCHANGED3 215
#define STRINGID_PKMNSSTATCHANGED4 216
#define STRINGID_CRITICALHIT 217
#define STRINGID_ONEHITKO 218
#define STRINGID_123POOF 219
#define STRINGID_ANDELLIPSIS 220
#define STRINGID_NOTVERYEFFECTIVE 221
#define STRINGID_SUPEREFFECTIVE 222
#define STRINGID_GOTAWAYSAFELY 223
#define STRINGID_WILDPKMNFLED 224
#define STRINGID_NORUNNINGFROMTRAINERS 225
#define STRINGID_CANTESCAPE 226
#define STRINGID_DONTLEAVEBIRCH 227
#define STRINGID_BUTNOTHINGHAPPENED 228
#define STRINGID_BUTITFAILED 229
#define STRINGID_ITHURTCONFUSION 230
#define STRINGID_MIRRORMOVEFAILED 231
#define STRINGID_STARTEDTORAIN 232
#define STRINGID_DOWNPOURSTARTED 233
#define STRINGID_RAINCONTINUES 234
#define STRINGID_DOWNPOURCONTINUES 235
#define STRINGID_RAINSTOPPED 236
#define STRINGID_SANDSTORMBREWED 237
#define STRINGID_SANDSTORMRAGES 238
#define STRINGID_SANDSTORMSUBSIDED 239
#define STRINGID_SUNLIGHTGOTBRIGHT 240
#define STRINGID_SUNLIGHTSTRONG 241
#define STRINGID_SUNLIGHTFADED 242
#define STRINGID_STARTEDHAIL 243
#define STRINGID_HAILCONTINUES 244
#define STRINGID_HAILSTOPPED 245
#define STRINGID_FAILEDTOSPITUP 246
#define STRINGID_FAILEDTOSWALLOW 247
#define STRINGID_WINDBECAMEHEATWAVE 248
#define STRINGID_STATCHANGESGONE 249
#define STRINGID_COINSSCATTERED 250
#define STRINGID_TOOWEAKFORSUBSTITUTE 251
#define STRINGID_SHAREDPAIN 252
#define STRINGID_BELLCHIMED 253
#define STRINGID_FAINTINTHREE 254
#define STRINGID_NOPPLEFT 255
#define STRINGID_BUTNOPPLEFT 256
#define STRINGID_PLAYERUSEDITEM 257
#define STRINGID_WALLYUSEDITEM 258
#define STRINGID_TRAINERBLOCKEDBALL 259
#define STRINGID_DONTBEATHIEF 260
#define STRINGID_ITDODGEDBALL 261
#define STRINGID_YOUMISSEDPKMN 262
#define STRINGID_PKMNBROKEFREE 263
#define STRINGID_ITAPPEAREDCAUGHT 264
#define STRINGID_AARGHALMOSTHADIT 265
#define STRINGID_SHOOTSOCLOSE 266
#define STRINGID_GOTCHAPKMNCAUGHT 267
#define STRINGID_GOTCHAPKMNCAUGHT2 268
#define STRINGID_GIVENICKNAMECAPTURED 269
#define STRINGID_PKMNSENTTOPC 270
#define STRINGID_PKMNDATAADDEDTODEX 271
#define STRINGID_ITISRAINING 272
#define STRINGID_SANDSTORMISRAGING 273
#define STRINGID_CANTESCAPE2 274
#define STRINGID_PKMNIGNORESASLEEP 275
#define STRINGID_PKMNIGNOREDORDERS 276
#define STRINGID_PKMNBEGANTONAP 277
#define STRINGID_PKMNLOAFING 278
#define STRINGID_PKMNWONTOBEY 279
#define STRINGID_PKMNTURNEDAWAY 280
#define STRINGID_PKMNPRETENDNOTNOTICE 281
#define STRINGID_ENEMYABOUTTOSWITCHPKMN 282
#define STRINGID_CREPTCLOSER 283
#define STRINGID_CANTGETCLOSER 284
#define STRINGID_PKMNWATCHINGCAREFULLY 285
#define STRINGID_PKMNCURIOUSABOUTX 286
#define STRINGID_PKMNENTHRALLEDBYX 287
#define STRINGID_PKMNIGNOREDX 288
#define STRINGID_THREWPOKEBLOCKATPKMN 289
#define STRINGID_OUTOFSAFARIBALLS 290
#define STRINGID_PKMNSITEMCUREDPARALYSIS 291
#define STRINGID_PKMNSITEMCUREDPOISON 292
#define STRINGID_PKMNSITEMHEALEDBURN 293
#define STRINGID_PKMNSITEMDEFROSTEDIT 294
#define STRINGID_PKMNSITEMWOKEIT 295
#define STRINGID_PKMNSITEMSNAPPEDOUT 296
#define STRINGID_PKMNSITEMCUREDPROBLEM 297
#define STRINGID_PKMNSITEMRESTOREDHEALTH 298
#define STRINGID_PKMNSITEMRESTOREDPP 299
#define STRINGID_PKMNSITEMRESTOREDSTATUS 300
#define STRINGID_PKMNSITEMRESTOREDHPALITTLE 301
#define STRINGID_ITEMALLOWSONLYYMOVE 302
#define STRINGID_PKMNHUNGONWITHX 303
#define STRINGID_EMPTYSTRING3 304
#define STRINGID_PKMNSXPREVENTSBURNS 305
#define STRINGID_PKMNSXBLOCKSY 306
#define STRINGID_PKMNSXRESTOREDHPALITTLE2 307
#define STRINGID_PKMNSXWHIPPEDUPSANDSTORM 308
#define STRINGID_PKMNSXPREVENTSYLOSS 309
#define STRINGID_PKMNSXINFATUATEDY 310
#define STRINGID_PKMNSXMADEYINEFFECTIVE 311
#define STRINGID_PKMNSXCUREDYPROBLEM 312
#define STRINGID_ITSUCKEDLIQUIDOOZE 313
#define STRINGID_PKMNTRANSFORMED 314
#define STRINGID_ELECTRICITYWEAKENED 315
#define STRINGID_FIREWEAKENED 316
#define STRINGID_PKMNHIDUNDERWATER 317
#define STRINGID_PKMNSPRANGUP 318
#define STRINGID_HMMOVESCANTBEFORGOTTEN 319
#define STRINGID_XFOUNDONEY 320
#define STRINGID_PLAYERDEFEATEDTRAINER1 321
#define STRINGID_SOOTHINGAROMA 322
#define STRINGID_ITEMSCANTBEUSEDNOW 323
#define STRINGID_FORXCOMMAYZ 324
#define STRINGID_USINGXTHEYOFZN 325
#define STRINGID_PKMNUSEDXTOGETPUMPED 326
#define STRINGID_PKMNSXMADEYUSELESS 327
#define STRINGID_PKMNTRAPPEDBYSANDTOMB 328
#define STRINGID_EMPTYSTRING4 329
#define STRINGID_ABOOSTED 330
#define STRINGID_PKMNSXINTENSIFIEDSUN 331
#define STRINGID_PKMNMAKESGROUNDMISS 332
#define STRINGID_YOUTHROWABALLNOWRIGHT 333
#define STRINGID_PKMNSXTOOKATTACK 334
#define STRINGID_PKMNCHOSEXASDESTINY 335
#define STRINGID_PKMNLOSTFOCUS 336
#define STRINGID_USENEXTPKMN 337
#define STRINGID_PKMNFLEDUSINGITS 338
#define STRINGID_PKMNFLEDUSING 339
#define STRINGID_PKMNWASDRAGGEDOUT 340
#define STRINGID_PREVENTEDFROMWORKING 341
#define STRINGID_PKMNSITEMNORMALIZEDSTATUS 342
#define STRINGID_TRAINER1USEDITEM 343
#define STRINGID_BOXISFULL 344
#define STRINGID_PKMNAVOIDEDATTACK 345
#define STRINGID_PKMNSXMADEITINEFFECTIVE 346
#define STRINGID_PKMNSXPREVENTSFLINCHING 347
#define STRINGID_PKMNALREADYHASBURN 348
#define STRINGID_STATSWONTDECREASE2 349
#define STRINGID_PKMNSXBLOCKSY2 350
#define STRINGID_PKMNSXWOREOFF 351
#define STRINGID_PKMNRAISEDDEFALITTLE 352
#define STRINGID_PKMNRAISEDSPDEFALITTLE 353
#define STRINGID_THEWALLSHATTERED 354
#define STRINGID_PKMNSXPREVENTSYSZ 355
#define STRINGID_PKMNSXCUREDITSYPROBLEM 356
#define STRINGID_ATTACKERCANTESCAPE 357
#define STRINGID_PKMNOBTAINEDX 358
#define STRINGID_PKMNOBTAINEDX2 359
#define STRINGID_PKMNOBTAINEDXYOBTAINEDZ 360
#define STRINGID_BUTNOEFFECT 361
#define STRINGID_PKMNSXHADNOEFFECTONY 362
#define STRINGID_TWOENEMIESDEFEATED 363
#define STRINGID_TRAINER2LOSETEXT 364
#define STRINGID_PKMNINCAPABLEOFPOWER 365
#define STRINGID_GLINTAPPEARSINEYE 366
#define STRINGID_PKMNGETTINGINTOPOSITION 367
#define STRINGID_PKMNBEGANGROWLINGDEEPLY 368
#define STRINGID_PKMNEAGERFORMORE 369
#define STRINGID_DEFEATEDOPPONENTBYREFEREE 370
#define STRINGID_LOSTTOOPPONENTBYREFEREE 371
#define STRINGID_TIEDOPPONENTBYREFEREE 372
#define STRINGID_QUESTIONFORFEITMATCH 373
#define STRINGID_FORFEITEDMATCH 374
#define STRINGID_PKMNTRANSFERREDSOMEONESPC 375
#define STRINGID_PKMNTRANSFERREDLANETTESPC 376
#define STRINGID_PKMNBOXSOMEONESPCFULL 377
#define STRINGID_PKMNBOXLANETTESPCFULL 378
#define STRINGID_TRAINER1WINTEXT 379
#define STRINGID_TRAINER2WINTEXT 380
#define STRINGID_ENDUREDSTURDY 381
#define STRINGID_POWERHERB 382

View File

@ -10,11 +10,11 @@ extern const u8 EventScript_275D0C[];
extern const u8 EventScript_275D1F[];
extern const u8 EventScript_275D2E[];
extern const u8 EventScript_271354[];
extern const u8 EventScript_2713C2[];
extern const u8 EventScript_DoTainerBattle[];
extern const u8 EventScript_TryDoDoubleTrainerBattle[];
extern const u8 EventScript_271362[];
extern const u8 EventScript_TryDoNormalTrainerBattle[];
extern const u8 EventScript_TryDoDoubleRematchBattle[];
extern const u8 EventScript_2713D1[];
extern const u8 EventScript_TryDoRematchBattle[];
extern const u8 EventScript_SecretPower1[];
extern const u8 EventScript_SecretPower2[];

View File

@ -5,7 +5,7 @@
#define AGBPrintInit()
#define AGBPutc(cChr)
#define AGBPrint(pBuf)
#define AGBPrintf(pBuf, ...)
#define AGBPrintf(pBuf, ...)
#define AGBPrintFlush1Block()
#define AGBPrintFlush()
#define AGBAssert(pFile, nLine, pExpression, nStopProgram)
@ -21,30 +21,30 @@ void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopP
#undef AGB_ASSERT
#ifdef NDEBUG
#define AGB_ASSERT(exp)
#define AGB_ASSERT(exp)
#else
#define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 1);
#define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 1);
#endif
#undef AGB_WARNING
#ifdef NDEBUG
#define AGB_WARNING(exp)
#define AGB_WARNING(exp)
#else
#define AGB_WARNING(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 0);
#define AGB_WARNING(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 0);
#endif
// for matching purposes
#ifdef NDEBUG
#define AGB_ASSERT_EX(exp, file, line)
#define AGB_ASSERT_EX(exp, file, line)
#else
#define AGB_ASSERT_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 1);
#define AGB_ASSERT_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 1);
#endif
#ifdef NDEBUG
#define AGB_WARNING_EX(exp, file, line)
#define AGB_WARNING_EX(exp, file, line)
#else
#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 0);
#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 0);
#endif
#endif // GUARD_GBA_ISAGBPRINT_H

View File

@ -294,10 +294,10 @@ struct PlayerAvatar
/*0x09*/ u8 newDirBackup; // during bike movement, the new direction as opposed to player's direction is backed up here.
/*0x0A*/ u8 bikeFrameCounter; // on the mach bike, when this value is 1, the bike is moving but not accelerating yet for 1 tile. on the acro bike, this acts as a timer for acro bike.
/*0x0B*/ u8 bikeSpeed;
// acro bike only
// acro bike only
/*0x0C*/ u32 directionHistory; // up/down/left/right history is stored in each nybble, but using the field directions and not the io inputs.
/*0x10*/ u32 abStartSelectHistory; // same as above but for A + B + start + select only
// these two are timer history arrays which [0] is the active timer for acro bike. every element is backed up to the next element upon update.
// these two are timer history arrays which [0] is the active timer for acro bike. every element is backed up to the next element upon update.
/*0x14*/ u8 dirTimerHistory[8];
/*0x1C*/ u8 abStartSelectTimerHistory[8];
};

View File

@ -3360,7 +3360,7 @@ extern const u32 gRaySceneHushBg_Gfx[];
extern const u32 gRaySceneHushRing_Gfx[];
// Pokeballs
extern const u32 gItemIcon_MasterBall[];
extern const u32 gItemIcon_MasterBall[];
extern const u32 gItemIconPalette_MasterBall[];
extern const u32 gItemIcon_UltraBall[];
extern const u32 gItemIconPalette_UltraBall[];

View File

@ -17,10 +17,10 @@ enum PokemonSummaryScreenMode
enum PokemonSummaryScreenPage
{
PSS_PAGE_INFO,
PSS_PAGE_SKILLS,
PSS_PAGE_BATTLE_MOVES,
PSS_PAGE_CONTEST_MOVES,
PSS_PAGE_INFO,
PSS_PAGE_SKILLS,
PSS_PAGE_BATTLE_MOVES,
PSS_PAGE_CONTEST_MOVES,
};
#endif // GUARD_POKEMON_SUMMARY_SCREEN_H

34
include/roulette.h Executable file
View File

@ -0,0 +1,34 @@
#ifndef GUARD_ROULETTE_H
#define GUARD_ROULETTE_H
struct UnkStruct1
{
u16 var00;
u16 var02;
u8 var04;
u8 var05;
u8 var06;
s8 var07_0:5;
s8 var07_5:2;
s8 var07_7:1;
};
struct UnkStruct3
{
u8 var00_0:7;
u8 var00_7:1;
u8 var01;
s8 var02;
s8 var03;
struct UnkStruct1 var04;
};
struct UnkStruct0
{
u8 var00;
u8 var01;
u16 var02; //flag for each UnkStruct3
struct UnkStruct3 var04[0x10];
};
#endif // GUARD_ROULETTE_H

View File

@ -1,17 +1,46 @@
#ifndef GUARD_ROULETTE_UTIL_H
#define GUARD_ROULETTE_UTIL_H
struct InnerStruct203CF18_3
{
u16 unk0;
u16 unk2;
u8 unk4;
u8 unk5;
u8 unk6;
s8 unk7_0:4;
s8 unk7_4:2;
s8 unk7_6:1;
s8 unk7_7:1;
};
struct InnerStruct203CF18_2
{
u8 unk0;
u8 unk1_0:4;
u8 unk1_4:1;
s8 unk1_5:1;
s8 unk1_6:1;
u32 unk1_7:1;
u8 unk2;
u8 unk3;
struct InnerStruct203CF18_3 unk4;
};
// structures
struct InnerStruct203CF18
{
u8 filler[0xC4];
u16 unk0;
struct InnerStruct203CF18_2 unk4[16];
};
void sub_8151B68(struct InnerStruct203CF18 *, const u8*);
int sub_8151B68(struct InnerStruct203CF18 *, const struct InnerStruct203CF18_3 *);
void sub_8151B3C(struct InnerStruct203CF18 *);
void sub_8151CA8(struct InnerStruct203CF18 *, u8, u8);
void sub_8151C50(struct InnerStruct203CF18 *, u8, u8);
void sub_8151D28(struct InnerStruct203CF18 *, u8, u8);
void sub_8151CA8(struct InnerStruct203CF18 *, u16, u8);
void sub_8151C50(struct InnerStruct203CF18 *, u16, u8);
void sub_8151D28(struct InnerStruct203CF18 *, u16, u8);
void sub_8151E50(struct InnerStruct203CF18 *);
void sub_8152008(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height);
void sub_8152058(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height);
#endif // GUARD_ROULETTE_UTIL_H

View File

@ -25,8 +25,8 @@ struct UnkSaveSection
struct SaveSectionOffsets
{
u16 toAdd;
u16 size;
u16 toAdd;
u16 size;
};
// Emerald changes this definition to be the sectors per slot.
@ -48,7 +48,7 @@ enum
SAVE_NORMAL,
SAVE_LINK,
//EREADER_SAVE, // deprecated in Emerald
SAVE_LINK2, // unknown 2nd link save
SAVE_LINK2, // unknown 2nd link save
SAVE_HALL_OF_FAME,
SAVE_OVERWRITE_DIFFERENT_FILE,
SAVE_HALL_OF_FAME_ERASE_BEFORE // unused

View File

@ -17,7 +17,7 @@ enum
X_COORD,
Y_COORD,
ANIM_NUM,
LAYER_TYPE
LAYER_TYPE
};
struct MartInfo
@ -32,16 +32,16 @@ struct MartInfo
struct ShopData
{
/*0x0000*/ u16 tilemapBuffers[4][0x400];
/*0x2000*/ u32 totalCost;
/*0x2004*/ u16 itemsShowed;
/*0x2006*/ u16 selectedRow;
/*0x2008*/ u16 scrollOffset;
/*0x200A*/ u8 maxQuantity;
/*0x200B*/ u8 scrollIndicatorsTaskId;
/*0x200C*/ u8 iconSlot;
/*0x200D*/ u8 itemSpriteIds[2];
/*0x2010*/ s16 viewportObjects[16][5];
/*0x0000*/ u16 tilemapBuffers[4][0x400];
/*0x2000*/ u32 totalCost;
/*0x2004*/ u16 itemsShowed;
/*0x2006*/ u16 selectedRow;
/*0x2008*/ u16 scrollOffset;
/*0x200A*/ u8 maxQuantity;
/*0x200B*/ u8 scrollIndicatorsTaskId;
/*0x200C*/ u8 iconSlot;
/*0x200D*/ u8 itemSpriteIds[2];
/*0x2010*/ s16 viewportObjects[16][5];
};
void CreatePokemartMenu(const u16 *);

View File

@ -1034,7 +1034,7 @@ extern const u8 gText_DexSortAtoZDescription[];
extern const u8 gText_DexSortHeaviestDescription[];
extern const u8 gText_DexSortLightestDescription[];
extern const u8 gText_DexSortTallestDescription[];
extern const u8 ggText_DexSortSmallestDescription[];
extern const u8 gText_DexSortSmallestDescription[];
extern const u8 gText_DexEmptyString[];
extern const u8 gText_DexSearchDontSpecify[];
extern const u8 gText_DexSearchTypeNone[];

View File

@ -19,7 +19,7 @@ extern u8 gApproachingTrainerId;
bool8 CheckForTrainersWantingBattle(void);
void sub_80B4578(struct EventObject *var);
void EndTrainerApproach(void);
void sub_80B45D0(void);
void TryPrepareSecondApproachingTrainer(void);
u8 FldEff_ExclamationMarkIcon(void);
u8 FldEff_QuestionMarkIcon(void);
u8 FldEff_HeartIcon(void);

View File

@ -43,7 +43,7 @@ SECTIONS {
{
asm/crt0.o(.text);
src/main.o(.text);
src/malloc.o(.text);
src/alloc.o(.text);
src/dma3_manager.o(.text);
src/gpu_regs.o(.text);
src/bg.o(.text);
@ -158,7 +158,7 @@ SECTIONS {
asm/battle_anim_effects_1.o(.text);
asm/battle_anim_effects_2.o(.text);
asm/water.o(.text);
asm/fire.o(.text);
src/fire.o(.text);
asm/electric.o(.text);
asm/ice.o(.text);
src/fight.o(.text);
@ -214,7 +214,7 @@ SECTIONS {
src/battle_message.o(.text);
asm/cable_car.o(.text);
src/math_util.o(.text);
asm/roulette_util.o(.text);
src/roulette_util.o(.text);
src/rom_81520A8.o(.text);
src/save.o(.text);
src/mystery_event_script.o(.text);

210
src/alloc.c Normal file
View File

@ -0,0 +1,210 @@
#include "global.h"
static void *sHeapStart;
static u32 sHeapSize;
static u32 malloc_c_unused_0300000c; // needed to align dma3_manager.o(.bss)
#define MALLOC_SYSTEM_ID 0xA3A3
struct MemBlock {
// Whether this block is currently allocated.
bool16 flag;
// Magic number used for error checking. Should equal MALLOC_SYSTEM_ID.
u16 magic;
// Size of the block (not including this header struct).
u32 size;
// Previous block pointer. Equals sHeapStart if this is the first block.
struct MemBlock *prev;
// Next block pointer. Equals sHeapStart if this is the last block.
struct MemBlock *next;
// Data in the memory block. (Arrays of length 0 are a GNU extension.)
u8 data[0];
};
void PutMemBlockHeader(void *block, struct MemBlock *prev, struct MemBlock *next, u32 size)
{
struct MemBlock *header = (struct MemBlock *)block;
header->flag = FALSE;
header->magic = MALLOC_SYSTEM_ID;
header->size = size;
header->prev = prev;
header->next = next;
}
void PutFirstMemBlockHeader(void *block, u32 size)
{
PutMemBlockHeader(block, (struct MemBlock *)block, (struct MemBlock *)block, size - sizeof(struct MemBlock));
}
void *AllocInternal(void *heapStart, u32 size)
{
struct MemBlock *pos = (struct MemBlock *)heapStart;
struct MemBlock *head = pos;
struct MemBlock *splitBlock;
u32 foundBlockSize;
// Alignment
if (size & 3)
size = 4 * ((size / 4) + 1);
for (;;) {
// Loop through the blocks looking for unused block that's big enough.
if (!pos->flag) {
foundBlockSize = pos->size;
if (foundBlockSize >= size) {
if (foundBlockSize - size < 2 * sizeof(struct MemBlock)) {
// The block isn't much bigger than the requested size,
// so just use it.
pos->flag = TRUE;
} else {
// The block is significantly bigger than the requested
// size, so split the rest into a separate block.
foundBlockSize -= sizeof(struct MemBlock);
foundBlockSize -= size;
splitBlock = (struct MemBlock *)(pos->data + size);
pos->flag = TRUE;
pos->size = size;
PutMemBlockHeader(splitBlock, pos, pos->next, foundBlockSize);
pos->next = splitBlock;
if (splitBlock->next != head)
splitBlock->next->prev = splitBlock;
}
return pos->data;
}
}
if (pos->next == head)
return NULL;
pos = pos->next;
}
}
void FreeInternal(void *heapStart, void *pointer)
{
if (pointer) {
struct MemBlock *head = (struct MemBlock *)heapStart;
struct MemBlock *block = (struct MemBlock *)((u8 *)pointer - sizeof(struct MemBlock));
block->flag = FALSE;
// If the freed block isn't the last one, merge with the next block
// if it's not in use.
if (block->next != head) {
if (!block->next->flag) {
block->size += sizeof(struct MemBlock) + block->next->size;
block->next->magic = 0;
block->next = block->next->next;
if (block->next != head)
block->next->prev = block;
}
}
// If the freed block isn't the first one, merge with the previous block
// if it's not in use.
if (block != head) {
if (!block->prev->flag) {
block->prev->next = block->next;
if (block->next != head)
block->next->prev = block->prev;
block->magic = 0;
block->prev->size += sizeof(struct MemBlock) + block->size;
}
}
}
}
void *AllocZeroedInternal(void *heapStart, u32 size)
{
void *mem = AllocInternal(heapStart, size);
if (mem != NULL) {
if (size & 3)
size = 4 * ((size / 4) + 1);
CpuFill32(0, mem, size);
}
return mem;
}
bool32 CheckMemBlockInternal(void *heapStart, void *pointer)
{
struct MemBlock *head = (struct MemBlock *)heapStart;
struct MemBlock *block = (struct MemBlock *)((u8 *)pointer - sizeof(struct MemBlock));
if (block->magic != MALLOC_SYSTEM_ID)
return FALSE;
if (block->next->magic != MALLOC_SYSTEM_ID)
return FALSE;
if (block->next != head && block->next->prev != block)
return FALSE;
if (block->prev->magic != MALLOC_SYSTEM_ID)
return FALSE;
if (block->prev != head && block->prev->next != block)
return FALSE;
if (block->next != head && block->next != (struct MemBlock *)(block->data + block->size))
return FALSE;
return TRUE;
}
void InitHeap(void *heapStart, u32 heapSize)
{
sHeapStart = heapStart;
sHeapSize = heapSize;
PutFirstMemBlockHeader(heapStart, heapSize);
}
void *Alloc(u32 size)
{
AllocInternal(sHeapStart, size);
}
void *AllocZeroed(u32 size)
{
AllocZeroedInternal(sHeapStart, size);
}
void Free(void *pointer)
{
FreeInternal(sHeapStart, pointer);
}
bool32 CheckMemBlock(void *pointer)
{
return CheckMemBlockInternal(sHeapStart, pointer);
}
bool32 CheckHeap()
{
struct MemBlock *pos = (struct MemBlock *)sHeapStart;
do {
if (!CheckMemBlockInternal(sHeapStart, pos->data))
return FALSE;
pos = pos->next;
} while (pos != (struct MemBlock *)sHeapStart);
return TRUE;
}

View File

@ -9,7 +9,7 @@
#include "item.h"
#include "item_menu.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "menu.h"
#include "new_game.h"
#include "party_menu.h"
@ -2047,172 +2047,172 @@ NAKED
static void sub_81A1224(void)
{
asm_unified("\n\
push {r4-r7,lr}\n\
mov r7, r9\n\
mov r6, r8\n\
push {r6,r7}\n\
ldr r1, =gSaveBlock2Ptr\n\
ldr r3, [r1]\n\
adds r0, r3, 0\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
adds r7, r1, 0\n\
cmp r0, 0x2\n\
bhi _081A1242\n\
b _081A1362\n\
push {r4-r7,lr}\n\
mov r7, r9\n\
mov r6, r8\n\
push {r6,r7}\n\
ldr r1, =gSaveBlock2Ptr\n\
ldr r3, [r1]\n\
adds r0, r3, 0\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
adds r7, r1, 0\n\
cmp r0, 0x2\n\
bhi _081A1242\n\
b _081A1362\n\
_081A1242:\n\
movs r5, 0\n\
movs r2, 0\n\
adds r0, r3, 0\n\
adds r0, 0xB8\n\
ldrb r0, [r0]\n\
lsls r0, 30\n\
ldr r1, =gSpecialVar_0x8005\n\
mov r12, r1\n\
ldr r1, =gSpecialVar_Result\n\
mov r8, r1\n\
cmp r0, 0\n\
beq _081A127C\n\
adds r3, r7, 0\n\
movs r5, 0\n\
movs r2, 0\n\
adds r0, r3, 0\n\
adds r0, 0xB8\n\
ldrb r0, [r0]\n\
lsls r0, 30\n\
ldr r1, =gSpecialVar_0x8005\n\
mov r12, r1\n\
ldr r1, =gSpecialVar_Result\n\
mov r8, r1\n\
cmp r0, 0\n\
beq _081A127C\n\
adds r3, r7, 0\n\
_081A125C:\n\
adds r0, r5, 0x1\n\
lsls r0, 24\n\
lsrs r5, r0, 24\n\
adds r0, r2, 0x1\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
cmp r2, 0x8\n\
bhi _081A127C\n\
ldr r0, [r3]\n\
lsls r1, r2, 2\n\
adds r0, r1\n\
adds r0, 0xB8\n\
ldrb r0, [r0]\n\
lsls r0, 30\n\
cmp r0, 0\n\
bne _081A125C\n\
adds r0, r5, 0x1\n\
lsls r0, 24\n\
lsrs r5, r0, 24\n\
adds r0, r2, 0x1\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
cmp r2, 0x8\n\
bhi _081A127C\n\
ldr r0, [r3]\n\
lsls r1, r2, 2\n\
adds r0, r1\n\
adds r0, 0xB8\n\
ldrb r0, [r0]\n\
lsls r0, 30\n\
cmp r0, 0\n\
bne _081A125C\n\
_081A127C:\n\
movs r4, 0\n\
cmp r4, r5\n\
bcs _081A1322\n\
ldr r0, [r7]\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
subs r0, 0x3\n\
cmp r4, r0\n\
bge _081A1322\n\
adds r6, r7, 0\n\
mov r9, r4\n\
movs r4, 0\n\
cmp r4, r5\n\
bcs _081A1322\n\
ldr r0, [r7]\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
subs r0, 0x3\n\
cmp r4, r0\n\
bge _081A1322\n\
adds r6, r7, 0\n\
mov r9, r4\n\
_081A1296:\n\
ldr r3, [r6]\n\
lsls r0, r4, 2\n\
adds r2, r3, r0\n\
adds r0, r2, 0\n\
adds r0, 0xB8\n\
ldrb r1, [r0]\n\
lsls r0, r1, 30\n\
lsrs r0, 30\n\
cmp r0, 0x1\n\
bne _081A1308\n\
lsrs r0, r1, 6\n\
cmp r0, 0\n\
beq _081A1308\n\
adds r0, r2, 0\n\
adds r0, 0xBA\n\
ldrh r0, [r0]\n\
mov r2, r12\n\
ldrh r2, [r2]\n\
cmp r0, r2\n\
bne _081A1308\n\
adds r0, r3, 0\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
subs r0, 0x3\n\
lsls r0, 2\n\
adds r0, r3, r0\n\
adds r0, 0xB8\n\
ldrb r2, [r0]\n\
movs r1, 0x3F\n\
ands r1, r2\n\
strb r1, [r0]\n\
ldr r1, [r6]\n\
adds r0, r1, 0\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
subs r0, 0x3\n\
lsls r0, 2\n\
adds r1, r0\n\
mov r2, r12\n\
ldrh r0, [r2]\n\
adds r1, 0xBA\n\
strh r0, [r1]\n\
mov r1, r9\n\
mov r0, r8\n\
strh r1, [r0]\n\
b _081A1362\n\
.pool\n\
ldr r3, [r6]\n\
lsls r0, r4, 2\n\
adds r2, r3, r0\n\
adds r0, r2, 0\n\
adds r0, 0xB8\n\
ldrb r1, [r0]\n\
lsls r0, r1, 30\n\
lsrs r0, 30\n\
cmp r0, 0x1\n\
bne _081A1308\n\
lsrs r0, r1, 6\n\
cmp r0, 0\n\
beq _081A1308\n\
adds r0, r2, 0\n\
adds r0, 0xBA\n\
ldrh r0, [r0]\n\
mov r2, r12\n\
ldrh r2, [r2]\n\
cmp r0, r2\n\
bne _081A1308\n\
adds r0, r3, 0\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
subs r0, 0x3\n\
lsls r0, 2\n\
adds r0, r3, r0\n\
adds r0, 0xB8\n\
ldrb r2, [r0]\n\
movs r1, 0x3F\n\
ands r1, r2\n\
strb r1, [r0]\n\
ldr r1, [r6]\n\
adds r0, r1, 0\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
subs r0, 0x3\n\
lsls r0, 2\n\
adds r1, r0\n\
mov r2, r12\n\
ldrh r0, [r2]\n\
adds r1, 0xBA\n\
strh r0, [r1]\n\
mov r1, r9\n\
mov r0, r8\n\
strh r1, [r0]\n\
b _081A1362\n\
.pool\n\
_081A1308:\n\
adds r0, r4, 0x1\n\
lsls r0, 24\n\
lsrs r4, r0, 24\n\
cmp r4, r5\n\
bcs _081A1322\n\
ldr r0, [r6]\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
subs r0, 0x3\n\
cmp r4, r0\n\
blt _081A1296\n\
adds r0, r4, 0x1\n\
lsls r0, 24\n\
lsrs r4, r0, 24\n\
cmp r4, r5\n\
bcs _081A1322\n\
ldr r0, [r6]\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
subs r0, 0x3\n\
cmp r4, r0\n\
blt _081A1296\n\
_081A1322:\n\
ldr r2, [r7]\n\
adds r0, r2, 0\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
subs r0, 0x3\n\
lsls r0, 2\n\
adds r2, r0\n\
adds r2, 0xB8\n\
ldrb r1, [r2]\n\
movs r0, 0x3F\n\
ands r0, r1\n\
movs r1, 0x40\n\
orrs r0, r1\n\
strb r0, [r2]\n\
ldr r1, [r7]\n\
adds r0, r1, 0\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
subs r0, 0x3\n\
lsls r0, 2\n\
adds r1, r0\n\
mov r2, r12\n\
ldrh r0, [r2]\n\
adds r1, 0xBA\n\
strh r0, [r1]\n\
movs r0, 0x1\n\
mov r1, r8\n\
strh r0, [r1]\n\
ldr r2, [r7]\n\
adds r0, r2, 0\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
subs r0, 0x3\n\
lsls r0, 2\n\
adds r2, r0\n\
adds r2, 0xB8\n\
ldrb r1, [r2]\n\
movs r0, 0x3F\n\
ands r0, r1\n\
movs r1, 0x40\n\
orrs r0, r1\n\
strb r0, [r2]\n\
ldr r1, [r7]\n\
adds r0, r1, 0\n\
adds r0, 0xB1\n\
ldrb r0, [r0]\n\
lsls r0, 26\n\
lsrs r0, 28\n\
subs r0, 0x3\n\
lsls r0, 2\n\
adds r1, r0\n\
mov r2, r12\n\
ldrh r0, [r2]\n\
adds r1, 0xBA\n\
strh r0, [r1]\n\
movs r0, 0x1\n\
mov r1, r8\n\
strh r0, [r1]\n\
_081A1362:\n\
pop {r3,r4}\n\
mov r8, r3\n\
mov r9, r4\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
pop {r3,r4}\n\
mov r8, r3\n\
mov r9, r4\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
");
}
#endif // NONMATCHING

View File

@ -1,10 +1,10 @@
#include "global.h"
#include "alloc.h"
#include "battle.h"
#include "battle_ai_script_commands.h"
#include "battle_factory.h"
#include "battle_setup.h"
#include "item.h"
#include "malloc.h"
#include "pokemon.h"
#include "random.h"
#include "recorded_battle.h"
@ -484,7 +484,7 @@ static u8 ChooseMoveOrAction_Doubles(void)
{
if (i == sBattler_AI || gBattleMons[i].hp == 0)
{
actionOrMoveIndex[i] = -1;
actionOrMoveIndex[i] = 0xFF;
bestMovePointsForTarget[i] = -1;
}
else

View File

@ -1386,54 +1386,54 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
static void (* const sScriptCmdTable[])(void) =
{
ScriptCmd_loadspritegfx,
ScriptCmd_unloadspritegfx,
ScriptCmd_createsprite,
ScriptCmd_createvisualtask,
ScriptCmd_delay,
ScriptCmd_waitforvisualfinish,
ScriptCmd_hang1,
ScriptCmd_hang2,
ScriptCmd_end,
ScriptCmd_playse,
ScriptCmd_monbg,
ScriptCmd_clearmonbg,
ScriptCmd_setalpha,
ScriptCmd_blendoff,
ScriptCmd_call,
ScriptCmd_return,
ScriptCmd_setarg,
ScriptCmd_choosetwoturnanim,
ScriptCmd_jumpifmoveturn,
ScriptCmd_goto,
ScriptCmd_fadetobg,
ScriptCmd_restorebg,
ScriptCmd_waitbgfadeout,
ScriptCmd_waitbgfadein,
ScriptCmd_changebg,
ScriptCmd_playsewithpan,
ScriptCmd_setpan,
ScriptCmd_panse_1B,
ScriptCmd_loopsewithpan,
ScriptCmd_waitplaysewithpan,
ScriptCmd_setbldcnt,
ScriptCmd_createsoundtask,
ScriptCmd_waitsound,
ScriptCmd_jumpargeq,
ScriptCmd_monbg_22,
ScriptCmd_clearmonbg_23,
ScriptCmd_jumpifcontest,
ScriptCmd_fadetobgfromset,
ScriptCmd_panse_26,
ScriptCmd_panse_27,
ScriptCmd_monbgprio_28,
ScriptCmd_monbgprio_29,
ScriptCmd_monbgprio_2A,
ScriptCmd_invisible,
ScriptCmd_visible,
ScriptCmd_doublebattle_2D,
ScriptCmd_doublebattle_2E,
ScriptCmd_stopsound
ScriptCmd_loadspritegfx,
ScriptCmd_unloadspritegfx,
ScriptCmd_createsprite,
ScriptCmd_createvisualtask,
ScriptCmd_delay,
ScriptCmd_waitforvisualfinish,
ScriptCmd_hang1,
ScriptCmd_hang2,
ScriptCmd_end,
ScriptCmd_playse,
ScriptCmd_monbg,
ScriptCmd_clearmonbg,
ScriptCmd_setalpha,
ScriptCmd_blendoff,
ScriptCmd_call,
ScriptCmd_return,
ScriptCmd_setarg,
ScriptCmd_choosetwoturnanim,
ScriptCmd_jumpifmoveturn,
ScriptCmd_goto,
ScriptCmd_fadetobg,
ScriptCmd_restorebg,
ScriptCmd_waitbgfadeout,
ScriptCmd_waitbgfadein,
ScriptCmd_changebg,
ScriptCmd_playsewithpan,
ScriptCmd_setpan,
ScriptCmd_panse_1B,
ScriptCmd_loopsewithpan,
ScriptCmd_waitplaysewithpan,
ScriptCmd_setbldcnt,
ScriptCmd_createsoundtask,
ScriptCmd_waitsound,
ScriptCmd_jumpargeq,
ScriptCmd_monbg_22,
ScriptCmd_clearmonbg_23,
ScriptCmd_jumpifcontest,
ScriptCmd_fadetobgfromset,
ScriptCmd_panse_26,
ScriptCmd_panse_27,
ScriptCmd_monbgprio_28,
ScriptCmd_monbgprio_29,
ScriptCmd_monbgprio_2A,
ScriptCmd_invisible,
ScriptCmd_visible,
ScriptCmd_doublebattle_2D,
ScriptCmd_doublebattle_2E,
ScriptCmd_stopsound
};
// code

View File

@ -7,7 +7,7 @@
#include "decompress.h"
#include "dma3.h"
#include "gpu_regs.h"
#include "malloc.h"
#include "alloc.h"
#include "palette.h"
#include "pokemon_icon.h"
#include "sprite.h"

View File

@ -389,50 +389,50 @@ void sub_8159308(u8 taskId)
NAKED
void sub_8159308(u8 taskId)
{
asm_unified(" push {r4,r5,lr}\n\
lsls r0, 24\n\
lsrs r0, 24\n\
adds r5, r0, 0\n\
ldr r1, =gTasks\n\
lsls r0, r5, 2\n\
adds r0, r5\n\
lsls r0, 3\n\
adds r4, r0, r1\n\
ldrh r2, [r4, 0xE]\n\
ldrh r0, [r4, 0x1C]\n\
adds r1, r0, 0x1\n\
strh r1, [r4, 0x1C]\n\
lsls r0, 16\n\
asrs r0, 16\n\
movs r3, 0x12\n\
ldrsh r1, [r4, r3]\n\
cmp r0, r1\n\
bne _08159342\n\
movs r0, 0\n\
strh r0, [r4, 0x1C]\n\
ldrh r1, [r4, 0x1E]\n\
adds r0, r2, r1\n\
strh r0, [r4, 0x1E]\n\
movs r2, 0x1E\n\
ldrsh r0, [r4, r2]\n\
bl KeepPanInRange\n\
strh r0, [r4, 0x1E]\n\
asm_unified(" push {r4,r5,lr}\n\
lsls r0, 24\n\
lsrs r0, 24\n\
adds r5, r0, 0\n\
ldr r1, =gTasks\n\
lsls r0, r5, 2\n\
adds r0, r5\n\
lsls r0, 3\n\
adds r4, r0, r1\n\
ldrh r2, [r4, 0xE]\n\
ldrh r0, [r4, 0x1C]\n\
adds r1, r0, 0x1\n\
strh r1, [r4, 0x1C]\n\
lsls r0, 16\n\
asrs r0, 16\n\
movs r3, 0x12\n\
ldrsh r1, [r4, r3]\n\
cmp r0, r1\n\
bne _08159342\n\
movs r0, 0\n\
strh r0, [r4, 0x1C]\n\
ldrh r1, [r4, 0x1E]\n\
adds r0, r2, r1\n\
strh r0, [r4, 0x1E]\n\
movs r2, 0x1E\n\
ldrsh r0, [r4, r2]\n\
bl KeepPanInRange\n\
strh r0, [r4, 0x1E]\n\
_08159342:\n\
ldr r1, =gUnknown_02038440\n\
ldrh r0, [r4, 0x1E]\n\
strb r0, [r1]\n\
movs r3, 0x1E\n\
ldrsh r1, [r4, r3]\n\
movs r2, 0xC\n\
ldrsh r0, [r4, r2]\n\
cmp r1, r0\n\
bne _0815935A\n\
adds r0, r5, 0\n\
bl DestroyAnimVisualTask\n\
ldr r1, =gUnknown_02038440\n\
ldrh r0, [r4, 0x1E]\n\
strb r0, [r1]\n\
movs r3, 0x1E\n\
ldrsh r1, [r4, r3]\n\
movs r2, 0xC\n\
ldrsh r0, [r4, r2]\n\
cmp r1, r0\n\
bne _0815935A\n\
adds r0, r5, 0\n\
bl DestroyAnimVisualTask\n\
_0815935A:\n\
pop {r4,r5}\n\
pop {r0}\n\
bx r0\n\
.pool");
pop {r4,r5}\n\
pop {r0}\n\
bx r0\n\
.pool");
}
#endif

View File

@ -3,7 +3,7 @@
#include "contest.h"
#include "gpu_regs.h"
#include "graphics.h"
#include "malloc.h"
#include "alloc.h"
#include "palette.h"
#include "sound.h"
#include "sprite.h"

View File

@ -17,7 +17,7 @@
#include "international_string_util.h"
#include "strings.h"
#include "list_menu.h"
#include "malloc.h"
#include "alloc.h"
#include "string_util.h"
#include "util.h"
#include "data2.h"

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@
#include "palette.h"
#include "task.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "bg.h"
#include "gpu_regs.h"
#include "string_util.h"

View File

@ -6,7 +6,7 @@
#include "constants/battle_anim.h"
#include "battle_interface.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "graphics.h"
#include "random.h"
#include "util.h"

View File

@ -1,4 +1,5 @@
#include "global.h"
#include "alloc.h"
#include "battle.h"
#include "pokemon.h"
#include "battle_controllers.h"
@ -25,7 +26,6 @@
#include "constants/rgb.h"
#include "data2.h"
#include "battle_debug.h"
#include "malloc.h"
#include "constants/battle_config.h"
struct TestingBar
@ -551,11 +551,11 @@ enum
static const u16 sStatusIconColors[] =
{
RGB(24, 12, 24), // PAL_STATUS_PSN
RGB(23, 23, 3), // PAL_STATUS_PAR
RGB(20, 20, 17), // PAL_STATUS_SLP
RGB(17, 22, 28), // PAL_STATUS_FRZ
RGB(28, 14, 10) // PAL_STATUS_BRN
[PAL_STATUS_PSN] = RGB(24, 12, 24),
[PAL_STATUS_PAR] = RGB(23, 23, 3),
[PAL_STATUS_SLP] = RGB(20, 20, 17),
[PAL_STATUS_FRZ] = RGB(17, 22, 28),
[PAL_STATUS_BRN] = RGB(28, 14, 10),
};
static const struct WindowTemplate sHealthboxWindowTemplate = {0, 0, 0, 8, 2, 0, 0}; // width = 8, height = 2
@ -713,225 +713,225 @@ NAKED
static void sub_8072308(s16 arg0, u16 *arg1, u8 arg2)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x4\n\
adds r7, r1, 0\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
lsls r2, 24\n\
lsrs r2, 24\n\
mov r10, r2\n\
movs r3, 0\n\
movs r2, 0\n\
push {r4-r7,lr}\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x4\n\
adds r7, r1, 0\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
lsls r2, 24\n\
lsrs r2, 24\n\
mov r10, r2\n\
movs r3, 0\n\
movs r2, 0\n\
_08072324:\n\
lsls r0, r3, 24\n\
asrs r0, 24\n\
mov r3, sp\n\
adds r1, r3, r0\n\
strb r2, [r1]\n\
adds r0, 0x1\n\
lsls r0, 24\n\
lsrs r3, r0, 24\n\
asrs r0, 24\n\
cmp r0, 0x3\n\
ble _08072324\n\
movs r3, 0x3\n\
movs r0, 0x1\n\
negs r0, r0\n\
mov r9, r0\n\
mov r8, sp\n\
lsls r0, r3, 24\n\
asrs r0, 24\n\
mov r3, sp\n\
adds r1, r3, r0\n\
strb r2, [r1]\n\
adds r0, 0x1\n\
lsls r0, 24\n\
lsrs r3, r0, 24\n\
asrs r0, 24\n\
cmp r0, 0x3\n\
ble _08072324\n\
movs r3, 0x3\n\
movs r0, 0x1\n\
negs r0, r0\n\
mov r9, r0\n\
mov r8, sp\n\
_08072344:\n\
lsls r0, r5, 16\n\
asrs r6, r0, 16\n\
cmp r6, 0\n\
ble _08072372\n\
lsls r4, r3, 24\n\
asrs r4, 24\n\
mov r1, sp\n\
adds r5, r1, r4\n\
adds r0, r6, 0\n\
movs r1, 0xA\n\
bl __modsi3\n\
strb r0, [r5]\n\
adds r0, r6, 0\n\
movs r1, 0xA\n\
bl __divsi3\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
subs r4, 0x1\n\
lsls r4, 24\n\
lsrs r3, r4, 24\n\
b _08072344\n\
lsls r0, r5, 16\n\
asrs r6, r0, 16\n\
cmp r6, 0\n\
ble _08072372\n\
lsls r4, r3, 24\n\
asrs r4, 24\n\
mov r1, sp\n\
adds r5, r1, r4\n\
adds r0, r6, 0\n\
movs r1, 0xA\n\
bl __modsi3\n\
strb r0, [r5]\n\
adds r0, r6, 0\n\
movs r1, 0xA\n\
bl __divsi3\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
subs r4, 0x1\n\
lsls r4, 24\n\
lsrs r3, r4, 24\n\
b _08072344\n\
_08072372:\n\
lsls r1, r3, 24\n\
asrs r0, r1, 24\n\
cmp r0, r9\n\
ble _08072396\n\
movs r4, 0xFF\n\
movs r3, 0x1\n\
negs r3, r3\n\
lsls r1, r3, 24\n\
asrs r0, r1, 24\n\
cmp r0, r9\n\
ble _08072396\n\
movs r4, 0xFF\n\
movs r3, 0x1\n\
negs r3, r3\n\
_08072380:\n\
asrs r2, r1, 24\n\
mov r5, sp\n\
adds r1, r5, r2\n\
ldrb r0, [r1]\n\
orrs r0, r4\n\
strb r0, [r1]\n\
subs r2, 0x1\n\
lsls r1, r2, 24\n\
asrs r0, r1, 24\n\
cmp r0, r3\n\
bgt _08072380\n\
asrs r2, r1, 24\n\
mov r5, sp\n\
adds r1, r5, r2\n\
ldrb r0, [r1]\n\
orrs r0, r4\n\
strb r0, [r1]\n\
subs r2, 0x1\n\
lsls r1, r2, 24\n\
asrs r0, r1, 24\n\
cmp r0, r3\n\
bgt _08072380\n\
_08072396:\n\
mov r1, r8\n\
ldrb r0, [r1, 0x3]\n\
cmp r0, 0xFF\n\
bne _080723A2\n\
movs r0, 0\n\
strb r0, [r1, 0x3]\n\
mov r1, r8\n\
ldrb r0, [r1, 0x3]\n\
cmp r0, 0xFF\n\
bne _080723A2\n\
movs r0, 0\n\
strb r0, [r1, 0x3]\n\
_080723A2:\n\
mov r2, r10\n\
cmp r2, 0\n\
bne _08072432\n\
movs r3, 0\n\
movs r1, 0\n\
movs r6, 0xFC\n\
lsls r6, 8\n\
movs r5, 0x1E\n\
mov r12, r5\n\
mov r2, r10\n\
cmp r2, 0\n\
bne _08072432\n\
movs r3, 0\n\
movs r1, 0\n\
movs r6, 0xFC\n\
lsls r6, 8\n\
movs r5, 0x1E\n\
mov r12, r5\n\
_080723B4:\n\
lsls r1, 24\n\
asrs r2, r1, 24\n\
mov r0, sp\n\
adds r5, r0, r2\n\
ldrb r0, [r5]\n\
mov r8, r1\n\
cmp r0, 0xFF\n\
bne _080723EA\n\
lsls r1, r2, 1\n\
adds r1, r7\n\
ldrh r2, [r1]\n\
adds r0, r6, 0\n\
ands r0, r2\n\
mov r2, r12\n\
orrs r0, r2\n\
strh r0, [r1]\n\
lsls r3, 24\n\
asrs r1, r3, 23\n\
adds r1, r7\n\
adds r1, 0x40\n\
ldrh r2, [r1]\n\
adds r0, r6, 0\n\
ands r0, r2\n\
mov r5, r12\n\
orrs r0, r5\n\
strh r0, [r1]\n\
b _0807241A\n\
lsls r1, 24\n\
asrs r2, r1, 24\n\
mov r0, sp\n\
adds r5, r0, r2\n\
ldrb r0, [r5]\n\
mov r8, r1\n\
cmp r0, 0xFF\n\
bne _080723EA\n\
lsls r1, r2, 1\n\
adds r1, r7\n\
ldrh r2, [r1]\n\
adds r0, r6, 0\n\
ands r0, r2\n\
mov r2, r12\n\
orrs r0, r2\n\
strh r0, [r1]\n\
lsls r3, 24\n\
asrs r1, r3, 23\n\
adds r1, r7\n\
adds r1, 0x40\n\
ldrh r2, [r1]\n\
adds r0, r6, 0\n\
ands r0, r2\n\
mov r5, r12\n\
orrs r0, r5\n\
strh r0, [r1]\n\
b _0807241A\n\
_080723EA:\n\
lsls r2, 1\n\
adds r2, r7\n\
ldrh r0, [r2]\n\
adds r1, r6, 0\n\
ands r1, r0\n\
ldrb r0, [r5]\n\
adds r0, 0x14\n\
orrs r1, r0\n\
strh r1, [r2]\n\
lsls r4, r3, 24\n\
asrs r3, r4, 24\n\
lsls r2, r3, 1\n\
adds r2, r7\n\
adds r2, 0x40\n\
ldrh r0, [r2]\n\
adds r1, r6, 0\n\
ands r1, r0\n\
mov r5, sp\n\
adds r0, r5, r3\n\
ldrb r0, [r0]\n\
adds r0, 0x34\n\
orrs r1, r0\n\
strh r1, [r2]\n\
adds r3, r4, 0\n\
lsls r2, 1\n\
adds r2, r7\n\
ldrh r0, [r2]\n\
adds r1, r6, 0\n\
ands r1, r0\n\
ldrb r0, [r5]\n\
adds r0, 0x14\n\
orrs r1, r0\n\
strh r1, [r2]\n\
lsls r4, r3, 24\n\
asrs r3, r4, 24\n\
lsls r2, r3, 1\n\
adds r2, r7\n\
adds r2, 0x40\n\
ldrh r0, [r2]\n\
adds r1, r6, 0\n\
ands r1, r0\n\
mov r5, sp\n\
adds r0, r5, r3\n\
ldrb r0, [r0]\n\
adds r0, 0x34\n\
orrs r1, r0\n\
strh r1, [r2]\n\
adds r3, r4, 0\n\
_0807241A:\n\
movs r0, 0x80\n\
lsls r0, 17\n\
add r0, r8\n\
lsrs r1, r0, 24\n\
movs r2, 0x80\n\
lsls r2, 17\n\
adds r0, r3, r2\n\
lsrs r3, r0, 24\n\
asrs r0, 24\n\
cmp r0, 0x3\n\
ble _080723B4\n\
b _08072496\n\
movs r0, 0x80\n\
lsls r0, 17\n\
add r0, r8\n\
lsrs r1, r0, 24\n\
movs r2, 0x80\n\
lsls r2, 17\n\
adds r0, r3, r2\n\
lsrs r3, r0, 24\n\
asrs r0, 24\n\
cmp r0, 0x3\n\
ble _080723B4\n\
b _08072496\n\
_08072432:\n\
movs r3, 0\n\
movs r4, 0xFC\n\
lsls r4, 8\n\
movs r6, 0x1E\n\
movs r3, 0\n\
movs r4, 0xFC\n\
lsls r4, 8\n\
movs r6, 0x1E\n\
_0807243A:\n\
lsls r1, r3, 24\n\
asrs r2, r1, 24\n\
mov r3, sp\n\
adds r5, r3, r2\n\
ldrb r0, [r5]\n\
adds r3, r1, 0\n\
cmp r0, 0xFF\n\
bne _08072466\n\
lsls r1, r2, 1\n\
adds r1, r7\n\
ldrh r2, [r1]\n\
adds r0, r4, 0\n\
ands r0, r2\n\
orrs r0, r6\n\
strh r0, [r1]\n\
adds r1, 0x40\n\
ldrh r2, [r1]\n\
adds r0, r4, 0\n\
ands r0, r2\n\
orrs r0, r6\n\
strh r0, [r1]\n\
b _08072488\n\
lsls r1, r3, 24\n\
asrs r2, r1, 24\n\
mov r3, sp\n\
adds r5, r3, r2\n\
ldrb r0, [r5]\n\
adds r3, r1, 0\n\
cmp r0, 0xFF\n\
bne _08072466\n\
lsls r1, r2, 1\n\
adds r1, r7\n\
ldrh r2, [r1]\n\
adds r0, r4, 0\n\
ands r0, r2\n\
orrs r0, r6\n\
strh r0, [r1]\n\
adds r1, 0x40\n\
ldrh r2, [r1]\n\
adds r0, r4, 0\n\
ands r0, r2\n\
orrs r0, r6\n\
strh r0, [r1]\n\
b _08072488\n\
_08072466:\n\
lsls r2, 1\n\
adds r2, r7\n\
ldrh r0, [r2]\n\
adds r1, r4, 0\n\
ands r1, r0\n\
ldrb r0, [r5]\n\
adds r0, 0x14\n\
orrs r1, r0\n\
strh r1, [r2]\n\
adds r2, 0x40\n\
ldrh r0, [r2]\n\
adds r1, r4, 0\n\
ands r1, r0\n\
ldrb r0, [r5]\n\
adds r0, 0x34\n\
orrs r1, r0\n\
strh r1, [r2]\n\
lsls r2, 1\n\
adds r2, r7\n\
ldrh r0, [r2]\n\
adds r1, r4, 0\n\
ands r1, r0\n\
ldrb r0, [r5]\n\
adds r0, 0x14\n\
orrs r1, r0\n\
strh r1, [r2]\n\
adds r2, 0x40\n\
ldrh r0, [r2]\n\
adds r1, r4, 0\n\
ands r1, r0\n\
ldrb r0, [r5]\n\
adds r0, 0x34\n\
orrs r1, r0\n\
strh r1, [r2]\n\
_08072488:\n\
movs r5, 0x80\n\
lsls r5, 17\n\
adds r0, r3, r5\n\
lsrs r3, r0, 24\n\
asrs r0, 24\n\
cmp r0, 0x3\n\
ble _0807243A\n\
movs r5, 0x80\n\
lsls r5, 17\n\
adds r0, r3, r5\n\
lsrs r3, r0, 24\n\
asrs r0, 24\n\
cmp r0, 0x3\n\
ble _0807243A\n\
_08072496:\n\
add sp, 0x4\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
add sp, 0x4\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.syntax divided");
}

View File

@ -23,7 +23,7 @@
#include "link_rfu.h"
#include "load_save.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "m4a.h"
#include "palette.h"
#include "party_menu.h"
@ -513,35 +513,35 @@ const struct TrainerMoney gTrainerMoneyTable[] =
static void (* const sTurnActionsFuncsTable[])(void) =
{
HandleAction_UseMove, // B_ACTION_USE_MOVE
HandleAction_UseItem, // B_ACTION_USE_ITEM
HandleAction_Switch, // B_ACTION_SWITCH
HandleAction_Run, // B_ACTION_RUN
HandleAction_WatchesCarefully, // B_ACTION_SAFARI_WATCH_CAREFULLY
HandleAction_SafariZoneBallThrow, // B_ACTION_SAFARI_BALL
HandleAction_ThrowPokeblock, // B_ACTION_SAFARI_POKEBLOCK
HandleAction_GoNear, // B_ACTION_SAFARI_GO_NEAR
HandleAction_SafariZoneRun, // B_ACTION_SAFARI_RUN
HandleAction_WallyBallThrow, // B_ACTION_WALLY_THROW
HandleAction_RunBattleScript, // B_ACTION_EXEC_SCRIPT
HandleAction_Action11, // not sure about this one
HandleAction_ActionFinished, // B_ACTION_FINISHED
HandleAction_NothingIsFainted, // B_ACTION_NOTHING_FAINTED
[B_ACTION_USE_MOVE] = HandleAction_UseMove,
[B_ACTION_USE_ITEM] = HandleAction_UseItem,
[B_ACTION_SWITCH] = HandleAction_Switch,
[B_ACTION_RUN] = HandleAction_Run,
[B_ACTION_SAFARI_WATCH_CAREFULLY] = HandleAction_WatchesCarefully,
[B_ACTION_SAFARI_BALL] = HandleAction_SafariZoneBallThrow,
[B_ACTION_SAFARI_POKEBLOCK] = HandleAction_ThrowPokeblock,
[B_ACTION_SAFARI_GO_NEAR] = HandleAction_GoNear,
[B_ACTION_SAFARI_RUN] = HandleAction_SafariZoneRun,
[B_ACTION_WALLY_THROW] = HandleAction_WallyBallThrow,
[B_ACTION_EXEC_SCRIPT] = HandleAction_RunBattleScript,
[11] = HandleAction_Action11, // not sure about this one
[B_ACTION_FINISHED] = HandleAction_ActionFinished,
[B_ACTION_NOTHING_FAINTED] = HandleAction_NothingIsFainted,
};
static void (* const sEndTurnFuncsTable[])(void) =
{
HandleEndTurn_ContinueBattle, // battle outcome 0
HandleEndTurn_BattleWon, // B_OUTCOME_WON
HandleEndTurn_BattleLost, // B_OUTCOME_LOST
HandleEndTurn_BattleLost, // B_OUTCOME_DREW
HandleEndTurn_RanFromBattle, // B_OUTCOME_RAN
HandleEndTurn_FinishBattle, // B_OUTCOME_PLAYER_TELEPORTED
HandleEndTurn_MonFled, // B_OUTCOME_MON_FLED
HandleEndTurn_FinishBattle, // B_OUTCOME_CAUGHT
HandleEndTurn_FinishBattle, // B_OUTCOME_NO_SAFARI_BALLS
HandleEndTurn_FinishBattle, // B_OUTCOME_FORFEITED
HandleEndTurn_FinishBattle, // B_OUTCOME_MON_TELEPORTED
[0] = HandleEndTurn_ContinueBattle, //B_OUTCOME_NONE?
[B_OUTCOME_WON] = HandleEndTurn_BattleWon,
[B_OUTCOME_LOST] = HandleEndTurn_BattleLost,
[B_OUTCOME_DREW] = HandleEndTurn_BattleLost,
[B_OUTCOME_RAN] = HandleEndTurn_RanFromBattle,
[B_OUTCOME_PLAYER_TELEPORTED] = HandleEndTurn_FinishBattle,
[B_OUTCOME_MON_FLED] = HandleEndTurn_MonFled,
[B_OUTCOME_CAUGHT] = HandleEndTurn_FinishBattle,
[B_OUTCOME_NO_SAFARI_BALLS] = HandleEndTurn_FinishBattle,
[B_OUTCOME_FORFEITED] = HandleEndTurn_FinishBattle,
[B_OUTCOME_MON_TELEPORTED] = HandleEndTurn_FinishBattle,
};
const u8 gStatusConditionString_PoisonJpn[8] = _("どく$$$$$");
@ -3089,7 +3089,7 @@ static void BattleStartClearSetData(void)
*(gBattleStruct->AI_monToSwitchIntoId + i) = PARTY_SIZE;
}
gBattleStruct->field_DF = 0;
gBattleStruct->givenExpMons = 0;
gBattleStruct->field_92 = 0;
gRandomTurnNumber = Random();
@ -3216,7 +3216,7 @@ void SwitchInClearSetData(void)
gBattleResources->flags->flags[gActiveBattler] = 0;
gCurrentMove = 0;
gBattleStruct->field_DA = 0xFF;
gBattleStruct->arenaTurnCounter = 0xFF;
ClearBattlerMoveHistory(gActiveBattler);
ClearBattlerAbilityHistory(gActiveBattler);
@ -3646,85 +3646,85 @@ NAKED
static void BattleIntroOpponent1SendsOutMonAnimation(void)
{
asm(".syntax unified\n\
push {r4-r6,lr}\n\
ldr r0, =gBattleTypeFlags\n\
ldr r2, [r0]\n\
movs r0, 0x80\n\
lsls r0, 17\n\
ands r0, r2\n\
cmp r0, 0\n\
beq _0803B298\n\
movs r0, 0x80\n\
lsls r0, 18\n\
ands r0, r2\n\
cmp r0, 0\n\
beq _0803B298\n\
movs r1, 0x80\n\
lsls r1, 24\n\
ands r1, r2\n\
negs r0, r1\n\
orrs r0, r1\n\
lsrs r5, r0, 31\n\
b _0803B29A\n\
.pool\n\
push {r4-r6,lr}\n\
ldr r0, =gBattleTypeFlags\n\
ldr r2, [r0]\n\
movs r0, 0x80\n\
lsls r0, 17\n\
ands r0, r2\n\
cmp r0, 0\n\
beq _0803B298\n\
movs r0, 0x80\n\
lsls r0, 18\n\
ands r0, r2\n\
cmp r0, 0\n\
beq _0803B298\n\
movs r1, 0x80\n\
lsls r1, 24\n\
ands r1, r2\n\
negs r0, r1\n\
orrs r0, r1\n\
lsrs r5, r0, 31\n\
b _0803B29A\n\
.pool\n\
_0803B288:\n\
ldr r1, =gBattleMainFunc\n\
ldr r0, =BattleIntroOpponent2SendsOutMonAnimation\n\
b _0803B2F0\n\
.pool\n\
ldr r1, =gBattleMainFunc\n\
ldr r0, =BattleIntroOpponent2SendsOutMonAnimation\n\
b _0803B2F0\n\
.pool\n\
_0803B298:\n\
movs r5, 0x1\n\
movs r5, 0x1\n\
_0803B29A:\n\
ldr r0, =gBattleControllerExecFlags\n\
ldr r2, [r0]\n\
cmp r2, 0\n\
bne _0803B2F2\n\
ldr r0, =gActiveBattler\n\
strb r2, [r0]\n\
ldr r1, =gBattlersCount\n\
adds r4, r0, 0\n\
ldrb r1, [r1]\n\
cmp r2, r1\n\
bcs _0803B2EC\n\
adds r6, r4, 0\n\
ldr r0, =gBattleControllerExecFlags\n\
ldr r2, [r0]\n\
cmp r2, 0\n\
bne _0803B2F2\n\
ldr r0, =gActiveBattler\n\
strb r2, [r0]\n\
ldr r1, =gBattlersCount\n\
adds r4, r0, 0\n\
ldrb r1, [r1]\n\
cmp r2, r1\n\
bcs _0803B2EC\n\
adds r6, r4, 0\n\
_0803B2B2:\n\
ldrb r0, [r4]\n\
bl GetBattlerPosition\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, r5\n\
bne _0803B2D8\n\
movs r0, 0\n\
bl BtlController_EmitIntroTrainerBallThrow\n\
ldrb r0, [r4]\n\
bl MarkBattlerForControllerExec\n\
ldr r0, =gBattleTypeFlags\n\
ldr r0, [r0]\n\
ldr r1, =0x00008040\n\
ands r0, r1\n\
cmp r0, 0\n\
bne _0803B288\n\
ldrb r0, [r4]\n\
bl GetBattlerPosition\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, r5\n\
bne _0803B2D8\n\
movs r0, 0\n\
bl BtlController_EmitIntroTrainerBallThrow\n\
ldrb r0, [r4]\n\
bl MarkBattlerForControllerExec\n\
ldr r0, =gBattleTypeFlags\n\
ldr r0, [r0]\n\
ldr r1, =0x00008040\n\
ands r0, r1\n\
cmp r0, 0\n\
bne _0803B288\n\
_0803B2D8:\n\
ldrb r0, [r6]\n\
adds r0, 0x1\n\
strb r0, [r6]\n\
ldr r1, =gBattlersCount\n\
lsls r0, 24\n\
lsrs r0, 24\n\
ldr r4, =gActiveBattler\n\
ldrb r1, [r1]\n\
cmp r0, r1\n\
bcc _0803B2B2\n\
ldrb r0, [r6]\n\
adds r0, 0x1\n\
strb r0, [r6]\n\
ldr r1, =gBattlersCount\n\
lsls r0, 24\n\
lsrs r0, 24\n\
ldr r4, =gActiveBattler\n\
ldrb r1, [r1]\n\
cmp r0, r1\n\
bcc _0803B2B2\n\
_0803B2EC:\n\
ldr r1, =gBattleMainFunc\n\
ldr r0, =BattleIntroRecordMonsToDex\n\
ldr r1, =gBattleMainFunc\n\
ldr r0, =BattleIntroRecordMonsToDex\n\
_0803B2F0:\n\
str r0, [r1]\n\
str r0, [r1]\n\
_0803B2F2:\n\
pop {r4-r6}\n\
pop {r0}\n\
bx r0\n\
.pool\n\
pop {r4-r6}\n\
pop {r0}\n\
bx r0\n\
.pool\n\
.syntax divided");
}
#endif // NONMATCHING
@ -4030,7 +4030,7 @@ void BattleTurnPassed(void)
if (gBattleResults.battleTurnCounter < 0xFF)
{
gBattleResults.battleTurnCounter++;
gBattleStruct->field_DA++;
gBattleStruct->arenaTurnCounter++;
}
for (i = 0; i < gBattlersCount; i++)
@ -4049,7 +4049,7 @@ void BattleTurnPassed(void)
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
BattleScriptExecute(BattleScript_82DB881);
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_DA == 0)
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaTurnCounter == 0)
BattleScriptExecute(BattleScript_ArenaTurnBeginning);
else if (ShouldDoTrainerSlide(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), gTrainerBattleOpponent_A, TRAINER_SLIDE_LAST_LOW_HP))
BattleScriptExecute(BattleScript_TrainerSlideMsgEnd2);
@ -4658,10 +4658,10 @@ static void sub_803CDF8(void)
void SwapTurnOrder(u8 id1, u8 id2)
{
u32 temp;
u32 temp;
SWAP(gActionsByTurnOrder[id1], gActionsByTurnOrder[id2], temp);
SWAP(gBattlerByTurnOrder[id1], gBattlerByTurnOrder[id2], temp);
SWAP(gActionsByTurnOrder[id1], gActionsByTurnOrder[id2], temp);
SWAP(gBattlerByTurnOrder[id1], gBattlerByTurnOrder[id2], temp);
}
u32 GetBattlerTotalSpeedStat(u8 battlerId)
@ -5850,7 +5850,7 @@ bool8 TryRunFromBattle(u8 battler)
if (holdEffect == HOLD_EFFECT_CAN_ALWAYS_RUN)
{
gLastUsedItem = gBattleMons[battler].item ;
gLastUsedItem = gBattleMons[battler].item;
gProtectStructs[battler].fleeFlag = 1;
effect++;
}

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,7 @@
#include "task.h"
#include "battle_tower.h"
#include "party_menu.h"
#include "malloc.h"
#include "alloc.h"
#include "palette.h"
#include "script.h"
#include "battle_setup.h"

View File

@ -21,7 +21,7 @@
#include "main.h"
#include "load_save.h"
#include "script.h"
#include "malloc.h"
#include "alloc.h"
#include "overworld.h"
#include "event_scripts.h"
#include "constants/battle_frontier.h"
@ -1458,7 +1458,7 @@ static u16 sub_81A9F90(u8 count)
do
{
trainerId = sub_8162548(challengeNum + 1, battleNum);
for (i = 0 ; i < count; i++)
for (i = 0; i < count; i++)
{
if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
break;
@ -1470,7 +1470,7 @@ static u16 sub_81A9F90(u8 count)
do
{
trainerId = sub_8162548(challengeNum, battleNum);
for (i = 0 ; i < count; i++)
for (i = 0; i < count; i++)
{
if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
break;

View File

@ -17,7 +17,7 @@
#include "list_menu.h"
#include "mail.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "overworld.h"

View File

@ -18,7 +18,7 @@
#include "international_string_util.h"
#include "sound.h"
#include "constants/songs.h"
#include "malloc.h"
#include "alloc.h"
#include "gpu_regs.h"
#include "constants/game_stat.h"

View File

@ -686,45 +686,18 @@ static const u32 sStatusFlagsForMoveEffects[] =
static const u8* const sMoveEffectBS_Ptrs[] =
{
BattleScript_MoveEffectSleep, // 0
BattleScript_MoveEffectSleep, // MOVE_EFFECT_SLEEP
BattleScript_MoveEffectPoison, // MOVE_EFFECT_POISON
BattleScript_MoveEffectBurn, // MOVE_EFFECT_BURN
BattleScript_MoveEffectFreeze, // MOVE_EFFECT_FREEZE
BattleScript_MoveEffectParalysis, // MOVE_EFFECT_PARALYSIS
BattleScript_MoveEffectToxic, // MOVE_EFFECT_TOXIC
BattleScript_MoveEffectConfusion, // MOVE_EFFECT_CONFUSION
BattleScript_MoveEffectSleep, // MOVE_EFFECT_FLINCH
BattleScript_MoveEffectSleep, // MOVE_EFFECT_TRI_ATTACK
BattleScript_MoveEffectUproar, // MOVE_EFFECT_UPROAR
BattleScript_MoveEffectPayDay, // MOVE_EFFECT_PAYDAY
BattleScript_MoveEffectSleep, // MOVE_EFFECT_CHARGING
BattleScript_MoveEffectWrap, // MOVE_EFFECT_WRAP
BattleScript_MoveEffectRecoil, // MOVE_EFFECT_RECOIL_25
BattleScript_MoveEffectSleep, // MOVE_EFFECT_ATK_PLUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_DEF_PLUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_SPD_PLUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_SP_ATK_PLUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_SP_DEF_PLUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_ACC_PLUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_EVS_PLUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_ATK_MINUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_DEF_MINUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_SPD_MINUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_SP_ATK_MINUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_SP_DEF_MINUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_ACC_MINUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_EVS_MINUS_1
BattleScript_MoveEffectSleep, // MOVE_EFFECT_RECHARGE
BattleScript_MoveEffectSleep, // MOVE_EFFECT_RAGE
BattleScript_MoveEffectSleep, // MOVE_EFFECT_STEAL_ITEM
BattleScript_MoveEffectSleep, // MOVE_EFFECT_PREVENT_ESCAPE
BattleScript_MoveEffectSleep, // MOVE_EFFECT_NIGHTMARE
BattleScript_MoveEffectSleep, // MOVE_EFFECT_ALL_STATS_UP
BattleScript_MoveEffectSleep, // MOVE_EFFECT_RAPIDSPIN
BattleScript_MoveEffectSleep, // MOVE_EFFECT_REMOVE_STATUS
BattleScript_MoveEffectSleep, // MOVE_EFFECT_ATK_DEF_DOWN
BattleScript_MoveEffectRecoil, // MOVE_EFFECT_RECOIL_33
[MOVE_EFFECT_SLEEP] = BattleScript_MoveEffectSleep,
[MOVE_EFFECT_POISON] = BattleScript_MoveEffectPoison,
[MOVE_EFFECT_BURN] = BattleScript_MoveEffectBurn,
[MOVE_EFFECT_FREEZE] = BattleScript_MoveEffectFreeze,
[MOVE_EFFECT_PARALYSIS] = BattleScript_MoveEffectParalysis,
[MOVE_EFFECT_TOXIC] = BattleScript_MoveEffectToxic,
[MOVE_EFFECT_CONFUSION] = BattleScript_MoveEffectConfusion,
[MOVE_EFFECT_UPROAR] = BattleScript_MoveEffectUproar,
[MOVE_EFFECT_PAYDAY] = BattleScript_MoveEffectPayDay,
[MOVE_EFFECT_WRAP] = BattleScript_MoveEffectWrap,
[MOVE_EFFECT_RECOIL_25] = BattleScript_MoveEffectRecoil,
[MOVE_EFFECT_RECOIL_33] = BattleScript_MoveEffectRecoil,
};
static const struct WindowTemplate sUnusedWinTemplate = {0, 1, 3, 7, 0xF, 0x1F, 0x3F};
@ -778,36 +751,36 @@ static const u16 sProtectSuccessRates[] = {USHRT_MAX, USHRT_MAX / 2, USHRT_MAX /
static const u16 sMovesForbiddenToCopy[] =
{
MOVE_TRANSFORM,
MOVE_METRONOME,
MOVE_STRUGGLE,
MOVE_SKETCH,
MOVE_MIMIC,
MIMIC_FORBIDDEN_END,
MOVE_COUNTER,
MOVE_MIRROR_COAT,
MOVE_PROTECT,
MOVE_DETECT,
MOVE_ENDURE,
MOVE_DESTINY_BOND,
MOVE_SLEEP_TALK,
MOVE_THIEF,
MOVE_FOLLOW_ME,
MOVE_SNATCH,
MOVE_HELPING_HAND,
MOVE_COVET,
MOVE_TRICK,
MOVE_FOCUS_PUNCH,
MOVE_CIRCLE_THROW,
MOVE_DRAGON_TAIL,
MOVE_RAGE_POWDER,
MOVE_MAT_BLOCK,
MOVE_SPIKY_SHIELD,
MOVE_SHELL_TRAP,
MOVE_SPOTLIGHT,
MOVE_FEINT,
MOVE_KING_S_SHIELD,
METRONOME_FORBIDDEN_END
MOVE_TRANSFORM,
MOVE_METRONOME,
MOVE_STRUGGLE,
MOVE_SKETCH,
MOVE_MIMIC,
MIMIC_FORBIDDEN_END,
MOVE_COUNTER,
MOVE_MIRROR_COAT,
MOVE_PROTECT,
MOVE_DETECT,
MOVE_ENDURE,
MOVE_DESTINY_BOND,
MOVE_SLEEP_TALK,
MOVE_THIEF,
MOVE_FOLLOW_ME,
MOVE_SNATCH,
MOVE_HELPING_HAND,
MOVE_COVET,
MOVE_TRICK,
MOVE_FOCUS_PUNCH,
MOVE_CIRCLE_THROW,
MOVE_DRAGON_TAIL,
MOVE_RAGE_POWDER,
MOVE_MAT_BLOCK,
MOVE_SPIKY_SHIELD,
MOVE_SHELL_TRAP,
MOVE_SPOTLIGHT,
MOVE_FEINT,
MOVE_KING_S_SHIELD,
METRONOME_FORBIDDEN_END
};
static const u16 sNaturePowerMoves[] =
@ -827,38 +800,38 @@ static const u16 sNaturePowerMoves[] =
static const u16 sPickupItems[] =
{
ITEM_POTION,
ITEM_ANTIDOTE,
ITEM_SUPER_POTION,
ITEM_GREAT_BALL,
ITEM_REPEL,
ITEM_ESCAPE_ROPE,
ITEM_X_ATTACK,
ITEM_FULL_HEAL,
ITEM_ULTRA_BALL,
ITEM_HYPER_POTION,
ITEM_RARE_CANDY,
ITEM_PROTEIN,
ITEM_REVIVE,
ITEM_HP_UP,
ITEM_FULL_RESTORE,
ITEM_MAX_REVIVE,
ITEM_PP_UP,
ITEM_MAX_ELIXIR,
ITEM_ANTIDOTE,
ITEM_SUPER_POTION,
ITEM_GREAT_BALL,
ITEM_REPEL,
ITEM_ESCAPE_ROPE,
ITEM_X_ATTACK,
ITEM_FULL_HEAL,
ITEM_ULTRA_BALL,
ITEM_HYPER_POTION,
ITEM_RARE_CANDY,
ITEM_PROTEIN,
ITEM_REVIVE,
ITEM_HP_UP,
ITEM_FULL_RESTORE,
ITEM_MAX_REVIVE,
ITEM_PP_UP,
ITEM_MAX_ELIXIR,
};
static const u16 sRarePickupItems[] =
{
ITEM_HYPER_POTION,
ITEM_NUGGET,
ITEM_KINGS_ROCK,
ITEM_FULL_RESTORE,
ITEM_ETHER,
ITEM_WHITE_HERB,
ITEM_TM44_REST,
ITEM_ELIXIR,
ITEM_TM01_FOCUS_PUNCH,
ITEM_LEFTOVERS,
ITEM_TM26_EARTHQUAKE,
ITEM_NUGGET,
ITEM_KINGS_ROCK,
ITEM_FULL_RESTORE,
ITEM_ETHER,
ITEM_WHITE_HERB,
ITEM_TM44_REST,
ITEM_ELIXIR,
ITEM_TM01_FOCUS_PUNCH,
ITEM_LEFTOVERS,
ITEM_TM26_EARTHQUAKE,
};
static const u8 sPickupProbabilities[] =
@ -916,10 +889,10 @@ const ALIGNED(4) u8 gUnknown_0831C494[][4] =
static const u8 sUnknown_0831C4F8[] =
{
0x03, 0x00, 0x01, 0x00, 0x00, 0x01, 0x03, 0x00,
0x01, 0x02, 0x02, 0x00, 0x03, 0x01, 0x03, 0x01,
0x02, 0x03, 0x03, 0x02, 0x01, 0x00, 0x02, 0x02,
0x03, 0x00, 0x00, 0x00
0x03, 0x00, 0x01, 0x00, 0x00, 0x01, 0x03, 0x00,
0x01, 0x02, 0x02, 0x00, 0x03, 0x01, 0x03, 0x01,
0x02, 0x03, 0x03, 0x02, 0x01, 0x00, 0x02, 0x02,
0x03, 0x00, 0x00, 0x00
};
bool32 IsBattlerProtected(u8 battlerId, u16 move)
@ -3156,7 +3129,7 @@ static void atk23_getexp(void)
else
{
gBattleScripting.atk23_state++;
gBattleStruct->field_DF |= gBitTable[gBattlerPartyIndexes[gBattlerFainted]];
gBattleStruct->givenExpMons |= gBitTable[gBattlerPartyIndexes[gBattlerFainted]];
}
break;
case 1: // calculate experience points to redistribute
@ -3293,8 +3266,8 @@ static void atk23_getexp(void)
PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, gBattleStruct->expGetterMonId)
// buffer 'gained' or 'gained a boosted'
PREPARE_STRING_BUFFER(gBattleTextBuff2, i)
// buffer 'gained' or 'gained a boosted'
PREPARE_STRING_BUFFER(gBattleTextBuff2, i)
PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage)
@ -4118,25 +4091,25 @@ static void atk48_playstatchangeanimation(void)
enum
{
ATK49_RAGE,
ATK49_DEFROST,
ATK49_SYNCHRONIZE_TARGET,
ATK49_MOVE_END_ABILITIES,
ATK49_STATUS_IMMUNITY_ABILITIES,
ATK49_SYNCHRONIZE_ATTACKER,
ATK49_CHOICE_MOVE,
ATK49_CHANGED_ITEMS,
ATK49_ATTACKER_INVISIBLE,
ATK49_ATTACKER_VISIBLE,
ATK49_TARGET_VISIBLE,
ATK49_ITEM_EFFECTS_ALL,
ATK49_KINGSROCK_SHELLBELL,
ATK49_SUBSTITUTE,
ATK49_UPDATE_LAST_MOVES,
ATK49_MIRROR_MOVE,
ATK49_NEXT_TARGET,
ATK49_CLEAR_BITS,
ATK49_COUNT,
ATK49_RAGE,
ATK49_DEFROST,
ATK49_SYNCHRONIZE_TARGET,
ATK49_MOVE_END_ABILITIES,
ATK49_STATUS_IMMUNITY_ABILITIES,
ATK49_SYNCHRONIZE_ATTACKER,
ATK49_CHOICE_MOVE,
ATK49_CHANGED_ITEMS,
ATK49_ATTACKER_INVISIBLE,
ATK49_ATTACKER_VISIBLE,
ATK49_TARGET_VISIBLE,
ATK49_ITEM_EFFECTS_ALL,
ATK49_KINGSROCK_SHELLBELL,
ATK49_SUBSTITUTE,
ATK49_UPDATE_LAST_MOVES,
ATK49_MIRROR_MOVE,
ATK49_NEXT_TARGET,
ATK49_CLEAR_BITS,
ATK49_COUNT,
};
static void atk49_moveend(void)
@ -5192,7 +5165,7 @@ static void atk52_switchineffects(void)
gDisableStructs[gActiveBattler].truantUnknownBit = 0;
if (!AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0)
&& !ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gActiveBattler, FALSE))
&& !ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gActiveBattler, FALSE))
{
gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED | SIDE_STATUS_TOXIC_SPIKES_DAMAGED | SIDE_STATUS_STEALTH_ROCK_DAMAGED | SIDE_STATUS_STICKY_WEB_DAMAGED);

View File

@ -304,7 +304,7 @@ const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] =
{{TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5}, 0x0, 0x1b},
{{TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5}, 0x18, 0xc},
{{TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5}, 0x18, 0x3e},
{{TRAINER_WALLY_3, 0x292, 0x293, 0x294, 0x294}, 0x18, 0x2b},
{{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b},
{{TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5}, 0x0, 0x3},
{{TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5}, 0x0, 0xb},
{{TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5}, 0x0, 0x2},
@ -1094,7 +1094,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
{
case TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT:
TrainerBattleLoadArgs(sOrdinaryNoIntroBattleParams, data);
return EventScript_2713C2;
return EventScript_DoTainerBattle;
case TRAINER_BATTLE_DOUBLE:
TrainerBattleLoadArgs(sDoubleBattleParams, data);
SetMapVarsToTrainer();
@ -1109,11 +1109,11 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
{
TrainerBattleLoadArgs(sTrainerBContinueScriptBattleParams, data);
}
return EventScript_271362;
return EventScript_TryDoNormalTrainerBattle;
case TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC:
TrainerBattleLoadArgs(sContinueScriptBattleParams, data);
SetMapVarsToTrainer();
return EventScript_271362;
return EventScript_TryDoNormalTrainerBattle;
case TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE:
case TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC:
TrainerBattleLoadArgs(sContinueScriptDoubleBattleParams, data);
@ -1128,8 +1128,8 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
SetMapVarsToTrainer();
gTrainerBattleOpponent_A = GetRematchTrainerId(gTrainerBattleOpponent_A);
return EventScript_2713D1;
case TRAINER_BATTLE_9:
return EventScript_TryDoRematchBattle;
case TRAINER_BATTLE_PYRAMID:
if (gApproachingTrainerId == 0)
{
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
@ -1141,7 +1141,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
gTrainerBattleOpponent_B = LocalIdToPyramidTrainerId(gSpecialVar_LastTalked);
}
return EventScript_271362;
return EventScript_TryDoNormalTrainerBattle;
case TRAINER_BATTLE_SET_TRAINER_A:
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
return sTrainerBattleEndScript;
@ -1160,7 +1160,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
gTrainerBattleOpponent_B = sub_81D6180(gSpecialVar_LastTalked);
}
return EventScript_271362;
return EventScript_TryDoNormalTrainerBattle;
default:
if (gApproachingTrainerId == 0)
{
@ -1171,7 +1171,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
{
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
}
return EventScript_271362;
return EventScript_TryDoNormalTrainerBattle;
}
}
@ -1203,7 +1203,7 @@ bool32 GetTrainerFlagFromScriptPointer(const u8 *data)
return FlagGet(FLAG_TRAINER_FLAG_START + flag);
}
void sub_80B16D8(void)
void SetUpTrainerMovement(void)
{
struct EventObject *eventObject = &gEventObjects[gSelectedEventObject];

View File

@ -7,7 +7,7 @@
#include "field_effect.h"
#include "gpu_regs.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "overworld.h"
#include "palette.h"
#include "random.h"
@ -612,32 +612,32 @@ static const s16 gUnknown_085C8CF2[] = {4, 517, -1};
static const s16 *const gUnknown_085C8CF8[] =
{
gUnknown_085C8C90,
gUnknown_085C8CA4,
gUnknown_085C8C98,
gUnknown_085C8C9E,
gUnknown_085C8CEA,
gUnknown_085C8CE4,
gUnknown_085C8CF2,
gUnknown_085C8CDE
gUnknown_085C8C90,
gUnknown_085C8CA4,
gUnknown_085C8C98,
gUnknown_085C8C9E,
gUnknown_085C8CEA,
gUnknown_085C8CE4,
gUnknown_085C8CF2,
gUnknown_085C8CDE
};
static const s16 *const gUnknown_085C8D18[] =
{
gUnknown_085C8CBC,
gUnknown_085C8CB0,
gUnknown_085C8CB6,
gUnknown_085C8CAA,
gUnknown_085C8CCA,
gUnknown_085C8CD8,
gUnknown_085C8CC4,
gUnknown_085C8CD2
gUnknown_085C8CBC,
gUnknown_085C8CB0,
gUnknown_085C8CB6,
gUnknown_085C8CAA,
gUnknown_085C8CCA,
gUnknown_085C8CD8,
gUnknown_085C8CC4,
gUnknown_085C8CD2
};
static const s16 *const *const gUnknown_085C8D38[] =
{
gUnknown_085C8CF8,
gUnknown_085C8D18
gUnknown_085C8CF8,
gUnknown_085C8D18
};
static const TransitionStateFunc sPhase2_Groudon_Funcs[] =

View File

@ -815,324 +815,324 @@ void TryPutLinkBattleTvShowOnAir(void)
{
asm_unified(
"push {r4-r7,lr}\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x20\n\
movs r0, 0\n\
str r0, [sp]\n\
movs r1, 0\n\
str r1, [sp, 0x4]\n\
movs r2, 0\n\
str r2, [sp, 0x8]\n\
ldr r3, =0x00007fff\n\
str r3, [sp, 0xC]\n\
movs r4, 0\n\
str r4, [sp, 0x10]\n\
movs r7, 0\n\
str r7, [sp, 0x14]\n\
mov r8, r0\n\
ldr r0, =gBattleStruct\n\
ldr r1, [r0]\n\
adds r0, r1, 0\n\
adds r0, 0xB3\n\
ldrb r0, [r0]\n\
cmp r0, 0\n\
beq _0817E42A\n\
b _0817E670\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x20\n\
movs r0, 0\n\
str r0, [sp]\n\
movs r1, 0\n\
str r1, [sp, 0x4]\n\
movs r2, 0\n\
str r2, [sp, 0x8]\n\
ldr r3, =0x00007fff\n\
str r3, [sp, 0xC]\n\
movs r4, 0\n\
str r4, [sp, 0x10]\n\
movs r7, 0\n\
str r7, [sp, 0x14]\n\
mov r8, r0\n\
ldr r0, =gBattleStruct\n\
ldr r1, [r0]\n\
adds r0, r1, 0\n\
adds r0, 0xB3\n\
ldrb r0, [r0]\n\
cmp r0, 0\n\
beq _0817E42A\n\
b _0817E670\n\
_0817E42A:\n\
movs r2, 0xD2\n\
lsls r2, 1\n\
adds r2, r1\n\
mov r10, r2\n\
movs r6, 0\n\
movs r2, 0xD2\n\
lsls r2, 1\n\
adds r2, r1\n\
mov r10, r2\n\
movs r6, 0\n\
_0817E434:\n\
movs r0, 0x64\n\
adds r4, r6, 0\n\
muls r4, r0\n\
ldr r0, =gPlayerParty\n\
adds r0, r4, r0\n\
movs r1, 0xB\n\
movs r2, 0\n\
bl GetMonData\n\
cmp r0, 0\n\
beq _0817E454\n\
mov r0, r8\n\
adds r0, 0x1\n\
lsls r0, 24\n\
lsrs r0, 24\n\
mov r8, r0\n\
movs r0, 0x64\n\
adds r4, r6, 0\n\
muls r4, r0\n\
ldr r0, =gPlayerParty\n\
adds r0, r4, r0\n\
movs r1, 0xB\n\
movs r2, 0\n\
bl GetMonData\n\
cmp r0, 0\n\
beq _0817E454\n\
mov r0, r8\n\
adds r0, 0x1\n\
lsls r0, 24\n\
lsrs r0, 24\n\
mov r8, r0\n\
_0817E454:\n\
ldr r5, =gEnemyParty\n\
adds r0, r4, r5\n\
movs r1, 0xB\n\
movs r2, 0\n\
bl GetMonData\n\
cmp r0, 0\n\
beq _0817E46A\n\
adds r0, r7, 0x1\n\
lsls r0, 24\n\
lsrs r7, r0, 24\n\
ldr r5, =gEnemyParty\n\
adds r0, r4, r5\n\
movs r1, 0xB\n\
movs r2, 0\n\
bl GetMonData\n\
cmp r0, 0\n\
beq _0817E46A\n\
adds r0, r7, 0x1\n\
lsls r0, 24\n\
lsrs r7, r0, 24\n\
_0817E46A:\n\
adds r6, 0x1\n\
cmp r6, 0x5\n\
ble _0817E434\n\
ldr r0, =gBattleTypeFlags\n\
ldr r0, [r0]\n\
movs r1, 0x2\n\
ands r0, r1\n\
cmp r0, 0\n\
bne _0817E47E\n\
b _0817E670\n\
adds r6, 0x1\n\
cmp r6, 0x5\n\
ble _0817E434\n\
ldr r0, =gBattleTypeFlags\n\
ldr r0, [r0]\n\
movs r1, 0x2\n\
ands r0, r1\n\
cmp r0, 0\n\
bne _0817E47E\n\
b _0817E670\n\
_0817E47E:\n\
cmp r8, r7\n\
beq _0817E484\n\
b _0817E670\n\
cmp r8, r7\n\
beq _0817E484\n\
b _0817E670\n\
_0817E484:\n\
movs r6, 0\n\
lsls r3, r6, 1\n\
str r3, [sp, 0x18]\n\
movs r4, 0x64\n\
mov r8, r4\n\
movs r6, 0\n\
lsls r3, r6, 1\n\
str r3, [sp, 0x18]\n\
movs r4, 0x64\n\
mov r8, r4\n\
_0817E48E:\n\
mov r1, r8\n\
muls r1, r6\n\
ldr r0, =gPlayerParty\n\
adds r4, r1, r0\n\
adds r0, r4, 0\n\
movs r1, 0xB\n\
movs r2, 0\n\
bl GetMonData\n\
lsls r0, 16\n\
lsrs r7, r0, 16\n\
adds r0, r6, 0x1\n\
mov r9, r0\n\
cmp r7, 0\n\
beq _0817E4EE\n\
adds r0, r4, 0\n\
movs r1, 0x2D\n\
movs r2, 0\n\
bl GetMonData\n\
cmp r0, 0\n\
bne _0817E4EE\n\
movs r4, 0\n\
lsls r0, r6, 3\n\
mov r2, r10\n\
adds r1, r0, r2\n\
movs r3, 0x3\n\
mov r1, r8\n\
muls r1, r6\n\
ldr r0, =gPlayerParty\n\
adds r4, r1, r0\n\
adds r0, r4, 0\n\
movs r1, 0xB\n\
movs r2, 0\n\
bl GetMonData\n\
lsls r0, 16\n\
lsrs r7, r0, 16\n\
adds r0, r6, 0x1\n\
mov r9, r0\n\
cmp r7, 0\n\
beq _0817E4EE\n\
adds r0, r4, 0\n\
movs r1, 0x2D\n\
movs r2, 0\n\
bl GetMonData\n\
cmp r0, 0\n\
bne _0817E4EE\n\
movs r4, 0\n\
lsls r0, r6, 3\n\
mov r2, r10\n\
adds r1, r0, r2\n\
movs r3, 0x3\n\
_0817E4C4:\n\
lsls r0, r4, 16\n\
asrs r0, 16\n\
ldrh r4, [r1]\n\
adds r0, r4\n\
lsls r0, 16\n\
lsrs r4, r0, 16\n\
adds r1, 0x2\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _0817E4C4\n\
ldr r1, [sp, 0x8]\n\
lsls r0, r1, 16\n\
lsls r1, r4, 16\n\
cmp r0, r1\n\
bge _0817E4EE\n\
lsls r0, r6, 24\n\
lsrs r0, 24\n\
str r0, [sp, 0x10]\n\
lsrs r1, 16\n\
str r1, [sp, 0x8]\n\
str r7, [sp]\n\
lsls r0, r4, 16\n\
asrs r0, 16\n\
ldrh r4, [r1]\n\
adds r0, r4\n\
lsls r0, 16\n\
lsrs r4, r0, 16\n\
adds r1, 0x2\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _0817E4C4\n\
ldr r1, [sp, 0x8]\n\
lsls r0, r1, 16\n\
lsls r1, r4, 16\n\
cmp r0, r1\n\
bge _0817E4EE\n\
lsls r0, r6, 24\n\
lsrs r0, 24\n\
str r0, [sp, 0x10]\n\
lsrs r1, 16\n\
str r1, [sp, 0x8]\n\
str r7, [sp]\n\
_0817E4EE:\n\
mov r0, r8\n\
muls r0, r6\n\
ldr r2, =gEnemyParty\n\
adds r4, r0, r2\n\
adds r0, r4, 0\n\
movs r1, 0xB\n\
movs r2, 0\n\
bl GetMonData\n\
lsls r0, 16\n\
lsrs r7, r0, 16\n\
ldr r3, [sp, 0x8]\n\
lsls r3, 16\n\
str r3, [sp, 0x1C]\n\
cmp r7, 0\n\
beq _0817E5A0\n\
adds r0, r4, 0\n\
movs r1, 0x2D\n\
movs r2, 0\n\
bl GetMonData\n\
cmp r0, 0\n\
bne _0817E5A0\n\
movs r4, 0\n\
ldr r0, [sp, 0xC]\n\
lsls r2, r0, 16\n\
movs r3, 0x1\n\
lsls r1, r3, 1\n\
adds r1, 0x1\n\
lsls r1, 4\n\
lsls r0, r6, 3\n\
adds r0, r1\n\
mov r3, r10\n\
adds r1, r0, r3\n\
movs r3, 0x3\n\
mov r0, r8\n\
muls r0, r6\n\
ldr r2, =gEnemyParty\n\
adds r4, r0, r2\n\
adds r0, r4, 0\n\
movs r1, 0xB\n\
movs r2, 0\n\
bl GetMonData\n\
lsls r0, 16\n\
lsrs r7, r0, 16\n\
ldr r3, [sp, 0x8]\n\
lsls r3, 16\n\
str r3, [sp, 0x1C]\n\
cmp r7, 0\n\
beq _0817E5A0\n\
adds r0, r4, 0\n\
movs r1, 0x2D\n\
movs r2, 0\n\
bl GetMonData\n\
cmp r0, 0\n\
bne _0817E5A0\n\
movs r4, 0\n\
ldr r0, [sp, 0xC]\n\
lsls r2, r0, 16\n\
movs r3, 0x1\n\
lsls r1, r3, 1\n\
adds r1, 0x1\n\
lsls r1, 4\n\
lsls r0, r6, 3\n\
adds r0, r1\n\
mov r3, r10\n\
adds r1, r0, r3\n\
movs r3, 0x3\n\
_0817E534:\n\
lsls r0, r4, 16\n\
asrs r0, 16\n\
ldrh r4, [r1]\n\
adds r0, r4\n\
lsls r0, 16\n\
lsrs r4, r0, 16\n\
adds r1, 0x2\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _0817E534\n\
asrs r1, r2, 16\n\
lsls r5, r4, 16\n\
asrs r0, r5, 16\n\
cmp r1, r0\n\
bne _0817E590\n\
mov r0, r8\n\
muls r0, r6\n\
ldr r1, =gEnemyParty\n\
adds r0, r1\n\
movs r1, 0x19\n\
movs r2, 0\n\
bl GetMonData\n\
adds r4, r0, 0\n\
ldr r2, [sp, 0x14]\n\
mov r0, r8\n\
muls r0, r2\n\
ldr r3, =gEnemyParty\n\
adds r0, r3\n\
movs r1, 0x19\n\
movs r2, 0\n\
bl GetMonData\n\
cmp r4, r0\n\
bls _0817E5A0\n\
b _0817E594\n\
.pool\n\
lsls r0, r4, 16\n\
asrs r0, 16\n\
ldrh r4, [r1]\n\
adds r0, r4\n\
lsls r0, 16\n\
lsrs r4, r0, 16\n\
adds r1, 0x2\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _0817E534\n\
asrs r1, r2, 16\n\
lsls r5, r4, 16\n\
asrs r0, r5, 16\n\
cmp r1, r0\n\
bne _0817E590\n\
mov r0, r8\n\
muls r0, r6\n\
ldr r1, =gEnemyParty\n\
adds r0, r1\n\
movs r1, 0x19\n\
movs r2, 0\n\
bl GetMonData\n\
adds r4, r0, 0\n\
ldr r2, [sp, 0x14]\n\
mov r0, r8\n\
muls r0, r2\n\
ldr r3, =gEnemyParty\n\
adds r0, r3\n\
movs r1, 0x19\n\
movs r2, 0\n\
bl GetMonData\n\
cmp r4, r0\n\
bls _0817E5A0\n\
b _0817E594\n\
.pool\n\
_0817E590:\n\
cmp r1, r0\n\
ble _0817E5A0\n\
cmp r1, r0\n\
ble _0817E5A0\n\
_0817E594:\n\
lsls r0, r6, 24\n\
lsrs r0, 24\n\
str r0, [sp, 0x14]\n\
lsrs r5, 16\n\
str r5, [sp, 0xC]\n\
str r7, [sp, 0x4]\n\
lsls r0, r6, 24\n\
lsrs r0, 24\n\
str r0, [sp, 0x14]\n\
lsrs r5, 16\n\
str r5, [sp, 0xC]\n\
str r7, [sp, 0x4]\n\
_0817E5A0:\n\
mov r6, r9\n\
cmp r6, 0x5\n\
bgt _0817E5A8\n\
b _0817E48E\n\
mov r6, r9\n\
cmp r6, 0x5\n\
bgt _0817E5A8\n\
b _0817E48E\n\
_0817E5A8:\n\
movs r4, 0\n\
movs r6, 0\n\
movs r3, 0\n\
ldr r5, =gPlayerParty\n\
ldr r7, [sp, 0x10]\n\
lsls r0, r7, 3\n\
mov r1, r10\n\
adds r2, r0, r1\n\
movs r4, 0\n\
movs r6, 0\n\
movs r3, 0\n\
ldr r5, =gPlayerParty\n\
ldr r7, [sp, 0x10]\n\
lsls r0, r7, 3\n\
mov r1, r10\n\
adds r2, r0, r1\n\
_0817E5B8:\n\
lsls r0, r4, 16\n\
asrs r0, 16\n\
movs r7, 0\n\
ldrsh r1, [r2, r7]\n\
cmp r0, r1\n\
bge _0817E5C8\n\
ldrh r4, [r2]\n\
adds r6, r3, 0\n\
lsls r0, r4, 16\n\
asrs r0, 16\n\
movs r7, 0\n\
ldrsh r1, [r2, r7]\n\
cmp r0, r1\n\
bge _0817E5C8\n\
ldrh r4, [r2]\n\
adds r6, r3, 0\n\
_0817E5C8:\n\
adds r2, 0x2\n\
adds r3, 0x1\n\
cmp r3, 0x3\n\
ble _0817E5B8\n\
movs r0, 0x64\n\
ldr r1, [sp, 0x10]\n\
muls r0, r1\n\
adds r0, r5\n\
adds r1, r6, 0\n\
adds r1, 0xD\n\
movs r2, 0\n\
bl GetMonData\n\
lsls r0, 16\n\
lsrs r4, r0, 16\n\
ldr r2, [sp, 0x1C]\n\
cmp r2, 0\n\
beq _0817E670\n\
cmp r4, 0\n\
beq _0817E670\n\
ldr r0, =gBattleTypeFlags\n\
ldr r0, [r0]\n\
movs r1, 0x40\n\
ands r0, r1\n\
cmp r0, 0\n\
beq _0817E65C\n\
ldr r3, [sp, 0x10]\n\
cmp r3, 0x2\n\
bhi _0817E620\n\
ldr r0, =gBattleScripting\n\
adds r0, 0x25\n\
ldrb r0, [r0]\n\
bl GetLinkTrainerFlankId\n\
lsls r0, 16\n\
cmp r0, 0\n\
beq _0817E630\n\
b _0817E670\n\
.pool\n\
adds r2, 0x2\n\
adds r3, 0x1\n\
cmp r3, 0x3\n\
ble _0817E5B8\n\
movs r0, 0x64\n\
ldr r1, [sp, 0x10]\n\
muls r0, r1\n\
adds r0, r5\n\
adds r1, r6, 0\n\
adds r1, 0xD\n\
movs r2, 0\n\
bl GetMonData\n\
lsls r0, 16\n\
lsrs r4, r0, 16\n\
ldr r2, [sp, 0x1C]\n\
cmp r2, 0\n\
beq _0817E670\n\
cmp r4, 0\n\
beq _0817E670\n\
ldr r0, =gBattleTypeFlags\n\
ldr r0, [r0]\n\
movs r1, 0x40\n\
ands r0, r1\n\
cmp r0, 0\n\
beq _0817E65C\n\
ldr r3, [sp, 0x10]\n\
cmp r3, 0x2\n\
bhi _0817E620\n\
ldr r0, =gBattleScripting\n\
adds r0, 0x25\n\
ldrb r0, [r0]\n\
bl GetLinkTrainerFlankId\n\
lsls r0, 16\n\
cmp r0, 0\n\
beq _0817E630\n\
b _0817E670\n\
.pool\n\
_0817E620:\n\
ldr r0, =gBattleScripting\n\
adds r0, 0x25\n\
ldrb r0, [r0]\n\
bl GetLinkTrainerFlankId\n\
lsls r0, 16\n\
cmp r0, 0\n\
beq _0817E670\n\
ldr r0, =gBattleScripting\n\
adds r0, 0x25\n\
ldrb r0, [r0]\n\
bl GetLinkTrainerFlankId\n\
lsls r0, 16\n\
cmp r0, 0\n\
beq _0817E670\n\
_0817E630:\n\
movs r3, 0\n\
ldr r7, [sp, 0x14]\n\
cmp r7, 0x2\n\
bls _0817E63A\n\
movs r3, 0x1\n\
movs r3, 0\n\
ldr r7, [sp, 0x14]\n\
cmp r7, 0x2\n\
bls _0817E63A\n\
movs r3, 0x1\n\
_0817E63A:\n\
lsls r0, r3, 24\n\
lsrs r0, 24\n\
ldr r1, =gBattleScripting\n\
adds r1, 0x25\n\
ldrb r1, [r1]\n\
bl sub_806EF84\n\
lsls r0, 24\n\
lsrs r0, 24\n\
adds r1, r4, 0\n\
ldr r2, [sp]\n\
ldr r3, [sp, 0x4]\n\
bl PutBattleUpdateOnTheAir\n\
b _0817E670\n\
.pool\n\
lsls r0, r3, 24\n\
lsrs r0, 24\n\
ldr r1, =gBattleScripting\n\
adds r1, 0x25\n\
ldrb r1, [r1]\n\
bl sub_806EF84\n\
lsls r0, 24\n\
lsrs r0, 24\n\
adds r1, r4, 0\n\
ldr r2, [sp]\n\
ldr r3, [sp, 0x4]\n\
bl PutBattleUpdateOnTheAir\n\
b _0817E670\n\
.pool\n\
_0817E65C:\n\
ldr r0, =gBattleScripting\n\
adds r0, 0x25\n\
ldrb r1, [r0]\n\
movs r0, 0x1\n\
eors r0, r1\n\
adds r1, r4, 0\n\
ldr r2, [sp]\n\
ldr r3, [sp, 0x4]\n\
bl PutBattleUpdateOnTheAir\n\
ldr r0, =gBattleScripting\n\
adds r0, 0x25\n\
ldrb r1, [r0]\n\
movs r0, 0x1\n\
eors r0, r1\n\
adds r1, r4, 0\n\
ldr r2, [sp]\n\
ldr r3, [sp, 0x4]\n\
bl PutBattleUpdateOnTheAir\n\
_0817E670:\n\
add sp, 0x20\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.pool");
add sp, 0x20\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.pool");
}
#endif

View File

@ -891,12 +891,12 @@ u8 DoFieldEndTurnEffects(void)
}
gBattleStruct->turnCountersTracker++;
gBattleStruct->turnEffectsSide = 0;
gBattleStruct->turnSideTracker = 0;
// fall through
case ENDTURN_REFLECT:
while (gBattleStruct->turnEffectsSide < 2)
while (gBattleStruct->turnSideTracker < 2)
{
side = gBattleStruct->turnEffectsSide;
side = gBattleStruct->turnSideTracker;
gActiveBattler = gBattlerAttacker = gSideTimers[side].reflectBattlerId;
if (gSideStatuses[side] & SIDE_STATUS_REFLECT)
{
@ -908,20 +908,20 @@ u8 DoFieldEndTurnEffects(void)
effect++;
}
}
gBattleStruct->turnEffectsSide++;
gBattleStruct->turnSideTracker++;
if (effect)
break;
}
if (!effect)
{
gBattleStruct->turnCountersTracker++;
gBattleStruct->turnEffectsSide = 0;
gBattleStruct->turnSideTracker = 0;
}
break;
case ENDTURN_LIGHT_SCREEN:
while (gBattleStruct->turnEffectsSide < 2)
while (gBattleStruct->turnSideTracker < 2)
{
side = gBattleStruct->turnEffectsSide;
side = gBattleStruct->turnSideTracker;
gActiveBattler = gBattlerAttacker = gSideTimers[side].lightscreenBattlerId;
if (gSideStatuses[side] & SIDE_STATUS_LIGHTSCREEN)
{
@ -934,20 +934,20 @@ u8 DoFieldEndTurnEffects(void)
effect++;
}
}
gBattleStruct->turnEffectsSide++;
gBattleStruct->turnSideTracker++;
if (effect)
break;
}
if (!effect)
{
gBattleStruct->turnCountersTracker++;
gBattleStruct->turnEffectsSide = 0;
gBattleStruct->turnSideTracker = 0;
}
break;
case ENDTURN_AURORA_VEIL:
while (gBattleStruct->turnEffectsSide < 2)
while (gBattleStruct->turnSideTracker < 2)
{
side = gBattleStruct->turnEffectsSide;
side = gBattleStruct->turnSideTracker;
gActiveBattler = gBattlerAttacker = gSideTimers[side].auroraVeilBattlerId;
if (gSideStatuses[side] & SIDE_STATUS_AURORA_VEIL)
{
@ -960,20 +960,20 @@ u8 DoFieldEndTurnEffects(void)
effect++;
}
}
gBattleStruct->turnEffectsSide++;
gBattleStruct->turnSideTracker++;
if (effect)
break;
}
if (!effect)
{
gBattleStruct->turnCountersTracker++;
gBattleStruct->turnEffectsSide = 0;
gBattleStruct->turnSideTracker = 0;
}
break;
case ENDTURN_MIST:
while (gBattleStruct->turnEffectsSide < 2)
while (gBattleStruct->turnSideTracker < 2)
{
side = gBattleStruct->turnEffectsSide;
side = gBattleStruct->turnSideTracker;
gActiveBattler = gBattlerAttacker = gSideTimers[side].mistBattlerId;
if (gSideTimers[side].mistTimer != 0
&& --gSideTimers[side].mistTimer == 0)
@ -984,20 +984,20 @@ u8 DoFieldEndTurnEffects(void)
PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_MIST);
effect++;
}
gBattleStruct->turnEffectsSide++;
gBattleStruct->turnSideTracker++;
if (effect)
break;
}
if (!effect)
{
gBattleStruct->turnCountersTracker++;
gBattleStruct->turnEffectsSide = 0;
gBattleStruct->turnSideTracker = 0;
}
break;
case ENDTURN_SAFEGUARD:
while (gBattleStruct->turnEffectsSide < 2)
while (gBattleStruct->turnSideTracker < 2)
{
side = gBattleStruct->turnEffectsSide;
side = gBattleStruct->turnSideTracker;
gActiveBattler = gBattlerAttacker = gSideTimers[side].safeguardBattlerId;
if (gSideStatuses[side] & SIDE_STATUS_SAFEGUARD)
{
@ -1008,20 +1008,20 @@ u8 DoFieldEndTurnEffects(void)
effect++;
}
}
gBattleStruct->turnEffectsSide++;
gBattleStruct->turnSideTracker++;
if (effect)
break;
}
if (!effect)
{
gBattleStruct->turnCountersTracker++;
gBattleStruct->turnEffectsSide = 0;
gBattleStruct->turnSideTracker = 0;
}
break;
case ENDTURN_LUCKY_CHANT:
while (gBattleStruct->turnEffectsSide < 2)
while (gBattleStruct->turnSideTracker < 2)
{
side = gBattleStruct->turnEffectsSide;
side = gBattleStruct->turnSideTracker;
gActiveBattler = gBattlerAttacker = gSideTimers[side].luckyChantBattlerId;
if (gSideStatuses[side] & SIDE_STATUS_LUCKY_CHANT)
{
@ -1032,20 +1032,20 @@ u8 DoFieldEndTurnEffects(void)
effect++;
}
}
gBattleStruct->turnEffectsSide++;
gBattleStruct->turnSideTracker++;
if (effect)
break;
}
if (!effect)
{
gBattleStruct->turnCountersTracker++;
gBattleStruct->turnEffectsSide = 0;
gBattleStruct->turnSideTracker = 0;
}
break;
case ENDTURN_TAILWIND:
while (gBattleStruct->turnEffectsSide < 2)
while (gBattleStruct->turnSideTracker < 2)
{
side = gBattleStruct->turnEffectsSide;
side = gBattleStruct->turnSideTracker;
gActiveBattler = gBattlerAttacker = gSideTimers[side].tailwindBattlerId;
if (gSideStatuses[side] & SIDE_STATUS_TAILWIND)
{
@ -1056,20 +1056,20 @@ u8 DoFieldEndTurnEffects(void)
effect++;
}
}
gBattleStruct->turnEffectsSide++;
gBattleStruct->turnSideTracker++;
if (effect)
break;
}
if (!effect)
{
gBattleStruct->turnCountersTracker++;
gBattleStruct->turnEffectsSide = 0;
gBattleStruct->turnSideTracker = 0;
}
break;
case ENDTURN_WISH:
while (gBattleStruct->turnEffectsSide < gBattlersCount)
while (gBattleStruct->turnSideTracker < gBattlersCount)
{
gActiveBattler = gBattlerByTurnOrder[gBattleStruct->turnEffectsSide];
gActiveBattler = gBattlerByTurnOrder[gBattleStruct->turnSideTracker];
if (gWishFutureKnock.wishCounter[gActiveBattler] != 0
&& --gWishFutureKnock.wishCounter[gActiveBattler] == 0
&& gBattleMons[gActiveBattler].hp != 0)
@ -1078,7 +1078,7 @@ u8 DoFieldEndTurnEffects(void)
BattleScriptExecute(BattleScript_WishComesTrue);
effect++;
}
gBattleStruct->turnEffectsSide++;
gBattleStruct->turnSideTracker++;
if (effect)
break;
}
@ -1857,7 +1857,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
// fall through
case 2:
if ((gBattleTypeFlags & BATTLE_TYPE_ARENA)
&& gBattleStruct->field_DA == 2
&& gBattleStruct->arenaTurnCounter == 2
&& gBattleMons[0].hp != 0 && gBattleMons[1].hp != 0)
{
s32 i;
@ -1903,7 +1903,7 @@ bool8 HandleFaintedMonActions(void)
{
gBattlerFainted = gBattlerTarget = gBattleStruct->faintedActionsBattlerId;
if (gBattleMons[gBattleStruct->faintedActionsBattlerId].hp == 0
&& !(gBattleStruct->field_DF & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBattlerId]])
&& !(gBattleStruct->givenExpMons & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBattlerId]])
&& !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBattlerId]))
{
BattleScriptExecute(BattleScript_GiveExp);

View File

@ -1,7 +1,7 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
#include "malloc.h"
#include "alloc.h"
#include "pokemon.h"
#include "event_data.h"
#include "constants/abilities.h"

View File

@ -12,7 +12,7 @@
#include "bg.h"
#include "palette.h"
#include "decompress.h"
#include "malloc.h"
#include "alloc.h"
#include "gpu_regs.h"
#include "text.h"
#include "text_window.h"

View File

@ -1,7 +1,7 @@
#include "global.h"
#include "gpu_regs.h"
#include "multiboot.h"
#include "malloc.h"
#include "alloc.h"
#include "bg.h"
#include "graphics.h"
#include "main.h"

View File

@ -21,7 +21,7 @@
#include "string_util.h"
#include "strings.h"
#include "bg.h"
#include "malloc.h"
#include "alloc.h"
#include "scanline_effect.h"
#include "gpu_regs.h"
#include "graphics.h"

View File

@ -1,7 +1,7 @@
#include "global.h"
#include "gpu_regs.h"
#include "bg.h"
#include "malloc.h"
#include "alloc.h"
#include "constants/items.h"
#include "constants/event_objects.h"
#include "constants/moves.h"

View File

@ -3,7 +3,7 @@
#include "main.h"
#include "task.h"
#include "bg.h"
#include "malloc.h"
#include "alloc.h"
#include "window.h"
#include "text.h"
#include "menu.h"

File diff suppressed because it is too large Load Diff

View File

@ -247,253 +247,253 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldM
const struct EventObjectGraphicsInfo *const gEventObjectGraphicsInfoPointers[] = {
&gEventObjectGraphicsInfo_BrendanNormal,
&gEventObjectGraphicsInfo_BrendanMachBike,
&gEventObjectGraphicsInfo_BrendanSurfing,
&gEventObjectGraphicsInfo_BrendanFieldMove,
&gEventObjectGraphicsInfo_QuintyPlump,
&gEventObjectGraphicsInfo_NinjaBoy,
&gEventObjectGraphicsInfo_Twin,
&gEventObjectGraphicsInfo_Boy1,
&gEventObjectGraphicsInfo_Girl1,
&gEventObjectGraphicsInfo_Boy2,
&gEventObjectGraphicsInfo_Girl2,
&gEventObjectGraphicsInfo_LittleBoy,
&gEventObjectGraphicsInfo_LittleGirl,
&gEventObjectGraphicsInfo_Boy3,
&gEventObjectGraphicsInfo_Girl3,
&gEventObjectGraphicsInfo_RichBoy,
&gEventObjectGraphicsInfo_Woman1,
&gEventObjectGraphicsInfo_FatMan,
&gEventObjectGraphicsInfo_PokefanF,
&gEventObjectGraphicsInfo_Man1,
&gEventObjectGraphicsInfo_Woman2,
&gEventObjectGraphicsInfo_ExpertM,
&gEventObjectGraphicsInfo_ExpertF,
&gEventObjectGraphicsInfo_Man2,
&gEventObjectGraphicsInfo_Woman3,
&gEventObjectGraphicsInfo_PokefanM,
&gEventObjectGraphicsInfo_Woman4,
&gEventObjectGraphicsInfo_Cook,
&gEventObjectGraphicsInfo_LinkReceptionist,
&gEventObjectGraphicsInfo_OldMan,
&gEventObjectGraphicsInfo_OldWoman,
&gEventObjectGraphicsInfo_Camper,
&gEventObjectGraphicsInfo_Picnicker,
&gEventObjectGraphicsInfo_Man3,
&gEventObjectGraphicsInfo_Woman5,
&gEventObjectGraphicsInfo_Youngster,
&gEventObjectGraphicsInfo_BugCatcher,
&gEventObjectGraphicsInfo_PsychicM,
&gEventObjectGraphicsInfo_SchoolKidM,
&gEventObjectGraphicsInfo_Maniac,
&gEventObjectGraphicsInfo_HexManiac,
&gEventObjectGraphicsInfo_Rayquaza1,
&gEventObjectGraphicsInfo_SwimmerM,
&gEventObjectGraphicsInfo_SwimmerF,
&gEventObjectGraphicsInfo_BlackBelt,
&gEventObjectGraphicsInfo_Beauty,
&gEventObjectGraphicsInfo_Scientist1,
&gEventObjectGraphicsInfo_Lass,
&gEventObjectGraphicsInfo_Gentleman,
&gEventObjectGraphicsInfo_Sailor,
&gEventObjectGraphicsInfo_Fisherman,
&gEventObjectGraphicsInfo_RunningTriathleteM,
&gEventObjectGraphicsInfo_RunningTriathleteF,
&gEventObjectGraphicsInfo_TuberF,
&gEventObjectGraphicsInfo_TuberM,
&gEventObjectGraphicsInfo_Hiker,
&gEventObjectGraphicsInfo_CyclingTriathleteM,
&gEventObjectGraphicsInfo_CyclingTriathleteF,
&gEventObjectGraphicsInfo_Nurse,
&gEventObjectGraphicsInfo_ItemBall,
&gEventObjectGraphicsInfo_BerryTree,
&gEventObjectGraphicsInfo_BerryTreeEarlyStages,
&gEventObjectGraphicsInfo_BerryTreeLateStages,
&gEventObjectGraphicsInfo_BrendanAcroBike,
&gEventObjectGraphicsInfo_ProfBirch,
&gEventObjectGraphicsInfo_Man4,
&gEventObjectGraphicsInfo_Man5,
&gEventObjectGraphicsInfo_ReporterM,
&gEventObjectGraphicsInfo_ReporterF,
&gEventObjectGraphicsInfo_Bard,
&gEventObjectGraphicsInfo_Anabel,
&gEventObjectGraphicsInfo_Tucker,
&gEventObjectGraphicsInfo_Greta,
&gEventObjectGraphicsInfo_Spenser,
&gEventObjectGraphicsInfo_Noland,
&gEventObjectGraphicsInfo_Lucy,
&gEventObjectGraphicsInfo_UnusedNatuDoll,
&gEventObjectGraphicsInfo_UnusedMagnemiteDoll,
&gEventObjectGraphicsInfo_UnusedSquirtleDoll,
&gEventObjectGraphicsInfo_UnusedWooperDoll,
&gEventObjectGraphicsInfo_UnusedPikachuDoll,
&gEventObjectGraphicsInfo_UnusedPorygon2Doll,
&gEventObjectGraphicsInfo_CuttableTree,
&gEventObjectGraphicsInfo_MartEmployee,
&gEventObjectGraphicsInfo_RooftopSaleWoman,
&gEventObjectGraphicsInfo_Teala,
&gEventObjectGraphicsInfo_BreakableRock,
&gEventObjectGraphicsInfo_PushableBoulder,
&gEventObjectGraphicsInfo_MrBrineysBoat,
&gEventObjectGraphicsInfo_MayNormal,
&gEventObjectGraphicsInfo_MayMachBike,
&gEventObjectGraphicsInfo_MayAcroBike,
&gEventObjectGraphicsInfo_MaySurfing,
&gEventObjectGraphicsInfo_MayFieldMove,
&gEventObjectGraphicsInfo_Truck,
&gEventObjectGraphicsInfo_VigorothCarryingBox,
&gEventObjectGraphicsInfo_VigorothFacingAway,
&gEventObjectGraphicsInfo_BirchsBag,
&gEventObjectGraphicsInfo_EnemyZigzagoon,
&gEventObjectGraphicsInfo_Artist,
&gEventObjectGraphicsInfo_RivalBrendanNormal,
&gEventObjectGraphicsInfo_RivalBrendanMachBike,
&gEventObjectGraphicsInfo_RivalBrendanAcroBike,
&gEventObjectGraphicsInfo_RivalBrendanSurfing,
&gEventObjectGraphicsInfo_RivalBrendanFieldMove,
&gEventObjectGraphicsInfo_RivalMayNormal,
&gEventObjectGraphicsInfo_RivalMayMachBike,
&gEventObjectGraphicsInfo_RivalMayAcroBike,
&gEventObjectGraphicsInfo_RivalMaySurfing,
&gEventObjectGraphicsInfo_RivalMayFieldMove,
&gEventObjectGraphicsInfo_Cameraman,
&gEventObjectGraphicsInfo_BrendanUnderwater,
&gEventObjectGraphicsInfo_MayUnderwater,
&gEventObjectGraphicsInfo_MovingBox,
&gEventObjectGraphicsInfo_CableCar,
&gEventObjectGraphicsInfo_Scientist2,
&gEventObjectGraphicsInfo_DevonEmployee,
&gEventObjectGraphicsInfo_AquaMemberM,
&gEventObjectGraphicsInfo_AquaMemberF,
&gEventObjectGraphicsInfo_MagmaMemberM,
&gEventObjectGraphicsInfo_MagmaMemberF,
&gEventObjectGraphicsInfo_Sidney,
&gEventObjectGraphicsInfo_Phoebe,
&gEventObjectGraphicsInfo_Glacia,
&gEventObjectGraphicsInfo_Drake,
&gEventObjectGraphicsInfo_Roxanne,
&gEventObjectGraphicsInfo_Brawly,
&gEventObjectGraphicsInfo_Wattson,
&gEventObjectGraphicsInfo_Flannery,
&gEventObjectGraphicsInfo_Norman,
&gEventObjectGraphicsInfo_Winona,
&gEventObjectGraphicsInfo_Liza,
&gEventObjectGraphicsInfo_Tate,
&gEventObjectGraphicsInfo_Wallace,
&gEventObjectGraphicsInfo_Steven,
&gEventObjectGraphicsInfo_Wally,
&gEventObjectGraphicsInfo_RubySapphireLittleBoy,
&gEventObjectGraphicsInfo_BrendanFishing,
&gEventObjectGraphicsInfo_MayFishing,
&gEventObjectGraphicsInfo_HotSpringsOldWoman,
&gEventObjectGraphicsInfo_SSTidal,
&gEventObjectGraphicsInfo_SubmarineShadow,
&gEventObjectGraphicsInfo_PichuDoll,
&gEventObjectGraphicsInfo_PikachuDoll,
&gEventObjectGraphicsInfo_MarillDoll,
&gEventObjectGraphicsInfo_TogepiDoll,
&gEventObjectGraphicsInfo_CyndaquilDoll,
&gEventObjectGraphicsInfo_ChikoritaDoll,
&gEventObjectGraphicsInfo_TotodileDoll,
&gEventObjectGraphicsInfo_JigglypuffDoll,
&gEventObjectGraphicsInfo_MeowthDoll,
&gEventObjectGraphicsInfo_ClefairyDoll,
&gEventObjectGraphicsInfo_DittoDoll,
&gEventObjectGraphicsInfo_SmoochumDoll,
&gEventObjectGraphicsInfo_TreeckoDoll,
&gEventObjectGraphicsInfo_TorchicDoll,
&gEventObjectGraphicsInfo_MudkipDoll,
&gEventObjectGraphicsInfo_DuskullDoll,
&gEventObjectGraphicsInfo_WynautDoll,
&gEventObjectGraphicsInfo_BaltoyDoll,
&gEventObjectGraphicsInfo_KecleonDoll,
&gEventObjectGraphicsInfo_AzurillDoll,
&gEventObjectGraphicsInfo_SkittyDoll,
&gEventObjectGraphicsInfo_SwabluDoll,
&gEventObjectGraphicsInfo_GulpinDoll,
&gEventObjectGraphicsInfo_LotadDoll,
&gEventObjectGraphicsInfo_SeedotDoll,
&gEventObjectGraphicsInfo_PikaCushion,
&gEventObjectGraphicsInfo_RoundCushion,
&gEventObjectGraphicsInfo_KissCushion,
&gEventObjectGraphicsInfo_ZigzagCushion,
&gEventObjectGraphicsInfo_SpinCushion,
&gEventObjectGraphicsInfo_DiamondCushion,
&gEventObjectGraphicsInfo_BallCushion,
&gEventObjectGraphicsInfo_GrassCushion,
&gEventObjectGraphicsInfo_FireCushion,
&gEventObjectGraphicsInfo_WaterCushion,
&gEventObjectGraphicsInfo_BigSnorlaxDoll,
&gEventObjectGraphicsInfo_BigRhydonDoll,
&gEventObjectGraphicsInfo_BigLaprasDoll,
&gEventObjectGraphicsInfo_BigVenusaurDoll,
&gEventObjectGraphicsInfo_BigCharizardDoll,
&gEventObjectGraphicsInfo_BigBlastoiseDoll,
&gEventObjectGraphicsInfo_BigWailmerDoll,
&gEventObjectGraphicsInfo_BigRegirockDoll,
&gEventObjectGraphicsInfo_BigRegiceDoll,
&gEventObjectGraphicsInfo_BigRegisteelDoll,
&gEventObjectGraphicsInfo_Latias,
&gEventObjectGraphicsInfo_Latios,
&gEventObjectGraphicsInfo_GameboyKid,
&gEventObjectGraphicsInfo_ContestJudge,
&gEventObjectGraphicsInfo_BrendanWatering,
&gEventObjectGraphicsInfo_MayWatering,
&gEventObjectGraphicsInfo_BrendanDecorating,
&gEventObjectGraphicsInfo_MayDecorating,
&gEventObjectGraphicsInfo_Archie,
&gEventObjectGraphicsInfo_Maxie,
&gEventObjectGraphicsInfo_Kyogre1,
&gEventObjectGraphicsInfo_Groudon1,
&gEventObjectGraphicsInfo_Fossil,
&gEventObjectGraphicsInfo_Regirock,
&gEventObjectGraphicsInfo_Regice,
&gEventObjectGraphicsInfo_Registeel,
&gEventObjectGraphicsInfo_Skitty,
&gEventObjectGraphicsInfo_Kecleon1,
&gEventObjectGraphicsInfo_Kyogre2,
&gEventObjectGraphicsInfo_Groudon2,
&gEventObjectGraphicsInfo_Rayquaza2,
&gEventObjectGraphicsInfo_Zigzagoon,
&gEventObjectGraphicsInfo_Pikachu,
&gEventObjectGraphicsInfo_Azumarill,
&gEventObjectGraphicsInfo_Wingull,
&gEventObjectGraphicsInfo_Kecleon2,
&gEventObjectGraphicsInfo_TuberMSwimming,
&gEventObjectGraphicsInfo_Azurill,
&gEventObjectGraphicsInfo_Mom,
&gEventObjectGraphicsInfo_LinkBrendan,
&gEventObjectGraphicsInfo_LinkMay,
&gEventObjectGraphicsInfo_Juan,
&gEventObjectGraphicsInfo_Scott,
&gEventObjectGraphicsInfo_Poochyena,
&gEventObjectGraphicsInfo_Kyogre3,
&gEventObjectGraphicsInfo_Groudon3,
&gEventObjectGraphicsInfo_MysteryEventDeliveryman,
&gEventObjectGraphicsInfo_Statue,
&gEventObjectGraphicsInfo_Kirlia,
&gEventObjectGraphicsInfo_Dusclops,
&gEventObjectGraphicsInfo_UnionRoomAttendant,
&gEventObjectGraphicsInfo_Sudowoodo,
&gEventObjectGraphicsInfo_Mew,
&gEventObjectGraphicsInfo_Red,
&gEventObjectGraphicsInfo_Leaf,
&gEventObjectGraphicsInfo_Deoxys,
&gEventObjectGraphicsInfo_BirthIslandStone,
&gEventObjectGraphicsInfo_Brandon,
&gEventObjectGraphicsInfo_RubySapphireBrendan,
&gEventObjectGraphicsInfo_RubySapphireMay,
&gEventObjectGraphicsInfo_Lugia,
&gEventObjectGraphicsInfo_HoOh,
&gEventObjectGraphicsInfo_BrendanNormal,
&gEventObjectGraphicsInfo_BrendanMachBike,
&gEventObjectGraphicsInfo_BrendanSurfing,
&gEventObjectGraphicsInfo_BrendanFieldMove,
&gEventObjectGraphicsInfo_QuintyPlump,
&gEventObjectGraphicsInfo_NinjaBoy,
&gEventObjectGraphicsInfo_Twin,
&gEventObjectGraphicsInfo_Boy1,
&gEventObjectGraphicsInfo_Girl1,
&gEventObjectGraphicsInfo_Boy2,
&gEventObjectGraphicsInfo_Girl2,
&gEventObjectGraphicsInfo_LittleBoy,
&gEventObjectGraphicsInfo_LittleGirl,
&gEventObjectGraphicsInfo_Boy3,
&gEventObjectGraphicsInfo_Girl3,
&gEventObjectGraphicsInfo_RichBoy,
&gEventObjectGraphicsInfo_Woman1,
&gEventObjectGraphicsInfo_FatMan,
&gEventObjectGraphicsInfo_PokefanF,
&gEventObjectGraphicsInfo_Man1,
&gEventObjectGraphicsInfo_Woman2,
&gEventObjectGraphicsInfo_ExpertM,
&gEventObjectGraphicsInfo_ExpertF,
&gEventObjectGraphicsInfo_Man2,
&gEventObjectGraphicsInfo_Woman3,
&gEventObjectGraphicsInfo_PokefanM,
&gEventObjectGraphicsInfo_Woman4,
&gEventObjectGraphicsInfo_Cook,
&gEventObjectGraphicsInfo_LinkReceptionist,
&gEventObjectGraphicsInfo_OldMan,
&gEventObjectGraphicsInfo_OldWoman,
&gEventObjectGraphicsInfo_Camper,
&gEventObjectGraphicsInfo_Picnicker,
&gEventObjectGraphicsInfo_Man3,
&gEventObjectGraphicsInfo_Woman5,
&gEventObjectGraphicsInfo_Youngster,
&gEventObjectGraphicsInfo_BugCatcher,
&gEventObjectGraphicsInfo_PsychicM,
&gEventObjectGraphicsInfo_SchoolKidM,
&gEventObjectGraphicsInfo_Maniac,
&gEventObjectGraphicsInfo_HexManiac,
&gEventObjectGraphicsInfo_Rayquaza1,
&gEventObjectGraphicsInfo_SwimmerM,
&gEventObjectGraphicsInfo_SwimmerF,
&gEventObjectGraphicsInfo_BlackBelt,
&gEventObjectGraphicsInfo_Beauty,
&gEventObjectGraphicsInfo_Scientist1,
&gEventObjectGraphicsInfo_Lass,
&gEventObjectGraphicsInfo_Gentleman,
&gEventObjectGraphicsInfo_Sailor,
&gEventObjectGraphicsInfo_Fisherman,
&gEventObjectGraphicsInfo_RunningTriathleteM,
&gEventObjectGraphicsInfo_RunningTriathleteF,
&gEventObjectGraphicsInfo_TuberF,
&gEventObjectGraphicsInfo_TuberM,
&gEventObjectGraphicsInfo_Hiker,
&gEventObjectGraphicsInfo_CyclingTriathleteM,
&gEventObjectGraphicsInfo_CyclingTriathleteF,
&gEventObjectGraphicsInfo_Nurse,
&gEventObjectGraphicsInfo_ItemBall,
&gEventObjectGraphicsInfo_BerryTree,
&gEventObjectGraphicsInfo_BerryTreeEarlyStages,
&gEventObjectGraphicsInfo_BerryTreeLateStages,
&gEventObjectGraphicsInfo_BrendanAcroBike,
&gEventObjectGraphicsInfo_ProfBirch,
&gEventObjectGraphicsInfo_Man4,
&gEventObjectGraphicsInfo_Man5,
&gEventObjectGraphicsInfo_ReporterM,
&gEventObjectGraphicsInfo_ReporterF,
&gEventObjectGraphicsInfo_Bard,
&gEventObjectGraphicsInfo_Anabel,
&gEventObjectGraphicsInfo_Tucker,
&gEventObjectGraphicsInfo_Greta,
&gEventObjectGraphicsInfo_Spenser,
&gEventObjectGraphicsInfo_Noland,
&gEventObjectGraphicsInfo_Lucy,
&gEventObjectGraphicsInfo_UnusedNatuDoll,
&gEventObjectGraphicsInfo_UnusedMagnemiteDoll,
&gEventObjectGraphicsInfo_UnusedSquirtleDoll,
&gEventObjectGraphicsInfo_UnusedWooperDoll,
&gEventObjectGraphicsInfo_UnusedPikachuDoll,
&gEventObjectGraphicsInfo_UnusedPorygon2Doll,
&gEventObjectGraphicsInfo_CuttableTree,
&gEventObjectGraphicsInfo_MartEmployee,
&gEventObjectGraphicsInfo_RooftopSaleWoman,
&gEventObjectGraphicsInfo_Teala,
&gEventObjectGraphicsInfo_BreakableRock,
&gEventObjectGraphicsInfo_PushableBoulder,
&gEventObjectGraphicsInfo_MrBrineysBoat,
&gEventObjectGraphicsInfo_MayNormal,
&gEventObjectGraphicsInfo_MayMachBike,
&gEventObjectGraphicsInfo_MayAcroBike,
&gEventObjectGraphicsInfo_MaySurfing,
&gEventObjectGraphicsInfo_MayFieldMove,
&gEventObjectGraphicsInfo_Truck,
&gEventObjectGraphicsInfo_VigorothCarryingBox,
&gEventObjectGraphicsInfo_VigorothFacingAway,
&gEventObjectGraphicsInfo_BirchsBag,
&gEventObjectGraphicsInfo_EnemyZigzagoon,
&gEventObjectGraphicsInfo_Artist,
&gEventObjectGraphicsInfo_RivalBrendanNormal,
&gEventObjectGraphicsInfo_RivalBrendanMachBike,
&gEventObjectGraphicsInfo_RivalBrendanAcroBike,
&gEventObjectGraphicsInfo_RivalBrendanSurfing,
&gEventObjectGraphicsInfo_RivalBrendanFieldMove,
&gEventObjectGraphicsInfo_RivalMayNormal,
&gEventObjectGraphicsInfo_RivalMayMachBike,
&gEventObjectGraphicsInfo_RivalMayAcroBike,
&gEventObjectGraphicsInfo_RivalMaySurfing,
&gEventObjectGraphicsInfo_RivalMayFieldMove,
&gEventObjectGraphicsInfo_Cameraman,
&gEventObjectGraphicsInfo_BrendanUnderwater,
&gEventObjectGraphicsInfo_MayUnderwater,
&gEventObjectGraphicsInfo_MovingBox,
&gEventObjectGraphicsInfo_CableCar,
&gEventObjectGraphicsInfo_Scientist2,
&gEventObjectGraphicsInfo_DevonEmployee,
&gEventObjectGraphicsInfo_AquaMemberM,
&gEventObjectGraphicsInfo_AquaMemberF,
&gEventObjectGraphicsInfo_MagmaMemberM,
&gEventObjectGraphicsInfo_MagmaMemberF,
&gEventObjectGraphicsInfo_Sidney,
&gEventObjectGraphicsInfo_Phoebe,
&gEventObjectGraphicsInfo_Glacia,
&gEventObjectGraphicsInfo_Drake,
&gEventObjectGraphicsInfo_Roxanne,
&gEventObjectGraphicsInfo_Brawly,
&gEventObjectGraphicsInfo_Wattson,
&gEventObjectGraphicsInfo_Flannery,
&gEventObjectGraphicsInfo_Norman,
&gEventObjectGraphicsInfo_Winona,
&gEventObjectGraphicsInfo_Liza,
&gEventObjectGraphicsInfo_Tate,
&gEventObjectGraphicsInfo_Wallace,
&gEventObjectGraphicsInfo_Steven,
&gEventObjectGraphicsInfo_Wally,
&gEventObjectGraphicsInfo_RubySapphireLittleBoy,
&gEventObjectGraphicsInfo_BrendanFishing,
&gEventObjectGraphicsInfo_MayFishing,
&gEventObjectGraphicsInfo_HotSpringsOldWoman,
&gEventObjectGraphicsInfo_SSTidal,
&gEventObjectGraphicsInfo_SubmarineShadow,
&gEventObjectGraphicsInfo_PichuDoll,
&gEventObjectGraphicsInfo_PikachuDoll,
&gEventObjectGraphicsInfo_MarillDoll,
&gEventObjectGraphicsInfo_TogepiDoll,
&gEventObjectGraphicsInfo_CyndaquilDoll,
&gEventObjectGraphicsInfo_ChikoritaDoll,
&gEventObjectGraphicsInfo_TotodileDoll,
&gEventObjectGraphicsInfo_JigglypuffDoll,
&gEventObjectGraphicsInfo_MeowthDoll,
&gEventObjectGraphicsInfo_ClefairyDoll,
&gEventObjectGraphicsInfo_DittoDoll,
&gEventObjectGraphicsInfo_SmoochumDoll,
&gEventObjectGraphicsInfo_TreeckoDoll,
&gEventObjectGraphicsInfo_TorchicDoll,
&gEventObjectGraphicsInfo_MudkipDoll,
&gEventObjectGraphicsInfo_DuskullDoll,
&gEventObjectGraphicsInfo_WynautDoll,
&gEventObjectGraphicsInfo_BaltoyDoll,
&gEventObjectGraphicsInfo_KecleonDoll,
&gEventObjectGraphicsInfo_AzurillDoll,
&gEventObjectGraphicsInfo_SkittyDoll,
&gEventObjectGraphicsInfo_SwabluDoll,
&gEventObjectGraphicsInfo_GulpinDoll,
&gEventObjectGraphicsInfo_LotadDoll,
&gEventObjectGraphicsInfo_SeedotDoll,
&gEventObjectGraphicsInfo_PikaCushion,
&gEventObjectGraphicsInfo_RoundCushion,
&gEventObjectGraphicsInfo_KissCushion,
&gEventObjectGraphicsInfo_ZigzagCushion,
&gEventObjectGraphicsInfo_SpinCushion,
&gEventObjectGraphicsInfo_DiamondCushion,
&gEventObjectGraphicsInfo_BallCushion,
&gEventObjectGraphicsInfo_GrassCushion,
&gEventObjectGraphicsInfo_FireCushion,
&gEventObjectGraphicsInfo_WaterCushion,
&gEventObjectGraphicsInfo_BigSnorlaxDoll,
&gEventObjectGraphicsInfo_BigRhydonDoll,
&gEventObjectGraphicsInfo_BigLaprasDoll,
&gEventObjectGraphicsInfo_BigVenusaurDoll,
&gEventObjectGraphicsInfo_BigCharizardDoll,
&gEventObjectGraphicsInfo_BigBlastoiseDoll,
&gEventObjectGraphicsInfo_BigWailmerDoll,
&gEventObjectGraphicsInfo_BigRegirockDoll,
&gEventObjectGraphicsInfo_BigRegiceDoll,
&gEventObjectGraphicsInfo_BigRegisteelDoll,
&gEventObjectGraphicsInfo_Latias,
&gEventObjectGraphicsInfo_Latios,
&gEventObjectGraphicsInfo_GameboyKid,
&gEventObjectGraphicsInfo_ContestJudge,
&gEventObjectGraphicsInfo_BrendanWatering,
&gEventObjectGraphicsInfo_MayWatering,
&gEventObjectGraphicsInfo_BrendanDecorating,
&gEventObjectGraphicsInfo_MayDecorating,
&gEventObjectGraphicsInfo_Archie,
&gEventObjectGraphicsInfo_Maxie,
&gEventObjectGraphicsInfo_Kyogre1,
&gEventObjectGraphicsInfo_Groudon1,
&gEventObjectGraphicsInfo_Fossil,
&gEventObjectGraphicsInfo_Regirock,
&gEventObjectGraphicsInfo_Regice,
&gEventObjectGraphicsInfo_Registeel,
&gEventObjectGraphicsInfo_Skitty,
&gEventObjectGraphicsInfo_Kecleon1,
&gEventObjectGraphicsInfo_Kyogre2,
&gEventObjectGraphicsInfo_Groudon2,
&gEventObjectGraphicsInfo_Rayquaza2,
&gEventObjectGraphicsInfo_Zigzagoon,
&gEventObjectGraphicsInfo_Pikachu,
&gEventObjectGraphicsInfo_Azumarill,
&gEventObjectGraphicsInfo_Wingull,
&gEventObjectGraphicsInfo_Kecleon2,
&gEventObjectGraphicsInfo_TuberMSwimming,
&gEventObjectGraphicsInfo_Azurill,
&gEventObjectGraphicsInfo_Mom,
&gEventObjectGraphicsInfo_LinkBrendan,
&gEventObjectGraphicsInfo_LinkMay,
&gEventObjectGraphicsInfo_Juan,
&gEventObjectGraphicsInfo_Scott,
&gEventObjectGraphicsInfo_Poochyena,
&gEventObjectGraphicsInfo_Kyogre3,
&gEventObjectGraphicsInfo_Groudon3,
&gEventObjectGraphicsInfo_MysteryEventDeliveryman,
&gEventObjectGraphicsInfo_Statue,
&gEventObjectGraphicsInfo_Kirlia,
&gEventObjectGraphicsInfo_Dusclops,
&gEventObjectGraphicsInfo_UnionRoomAttendant,
&gEventObjectGraphicsInfo_Sudowoodo,
&gEventObjectGraphicsInfo_Mew,
&gEventObjectGraphicsInfo_Red,
&gEventObjectGraphicsInfo_Leaf,
&gEventObjectGraphicsInfo_Deoxys,
&gEventObjectGraphicsInfo_BirthIslandStone,
&gEventObjectGraphicsInfo_Brandon,
&gEventObjectGraphicsInfo_RubySapphireBrendan,
&gEventObjectGraphicsInfo_RubySapphireMay,
&gEventObjectGraphicsInfo_Lugia,
&gEventObjectGraphicsInfo_HoOh,
};
const struct EventObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = {
&gEventObjectGraphicsInfo_Bard,
&gEventObjectGraphicsInfo_Hipster,
&gEventObjectGraphicsInfo_Trader,
&gEventObjectGraphicsInfo_Storyteller,
&gEventObjectGraphicsInfo_Giddy,
&gEventObjectGraphicsInfo_UnusedMauvilleOldMan1,
&gEventObjectGraphicsInfo_UnusedMauvilleOldMan2,
&gEventObjectGraphicsInfo_Bard,
&gEventObjectGraphicsInfo_Hipster,
&gEventObjectGraphicsInfo_Trader,
&gEventObjectGraphicsInfo_Storyteller,
&gEventObjectGraphicsInfo_Giddy,
&gEventObjectGraphicsInfo_UnusedMauvilleOldMan1,
&gEventObjectGraphicsInfo_UnusedMauvilleOldMan2,
};

File diff suppressed because it is too large Load Diff

View File

@ -134,7 +134,7 @@ const u32 gItemIconPalette_GreenShard[] = INCBIN_U32("graphics/items/icon_palett
const u32 gItemIcon_HPUp[] = INCBIN_U32("graphics/items/icons/hp_up.4bpp.lz");
const u32 gItemIconPalette_HPUp[] = INCBIN_U32("graphics/items/icon_palettes/hp_up.gbapal.lz");
const u32 gItemIcon_Vitamin[] = INCBIN_U32("graphics/items/icons/vitamin.4bpp.lz");
const u32 gItemIcon_Vitamin[] = INCBIN_U32("graphics/items/icons/vitamin.4bpp.lz");
const u32 gItemIconPalette_Protein[] = INCBIN_U32("graphics/items/icon_palettes/protein.gbapal.lz");
const u32 gItemIconPalette_Iron[] = INCBIN_U32("graphics/items/icon_palettes/iron.gbapal.lz");
const u32 gItemIconPalette_Carbos[] = INCBIN_U32("graphics/items/icon_palettes/carbos.gbapal.lz");

View File

@ -311,64 +311,64 @@ const u32 *const gItemIconTable[][2] =
[ITEM_CLAW_FOSSIL] = {gItemIcon_ClawFossil, gItemIconPalette_HoennFossil},
[ITEM_DEVON_SCOPE] = {gItemIcon_DevonScope, gItemIconPalette_DevonScope},
// TMs / HMs
[ITEM_TM01] = {gItemIcon_TM, gItemIconPalette_FightingTMHM}, // TM01
[ITEM_TM02] = {gItemIcon_TM, gItemIconPalette_DragonTMHM}, // TM02
[ITEM_TM03] = {gItemIcon_TM, gItemIconPalette_WaterTMHM}, // TM03
[ITEM_TM04] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM04
[ITEM_TM05] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM05
[ITEM_TM06] = {gItemIcon_TM, gItemIconPalette_PoisonTMHM}, // TM06
[ITEM_TM07] = {gItemIcon_TM, gItemIconPalette_IceTMHM}, // TM07
[ITEM_TM08] = {gItemIcon_TM, gItemIconPalette_FightingTMHM}, // TM08
[ITEM_TM09] = {gItemIcon_TM, gItemIconPalette_GrassTMHM}, // TM09
[ITEM_TM10] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM10
[ITEM_TM11] = {gItemIcon_TM, gItemIconPalette_FireTMHM}, // TM11
[ITEM_TM12] = {gItemIcon_TM, gItemIconPalette_DarkTMHM}, // TM12
[ITEM_TM13] = {gItemIcon_TM, gItemIconPalette_IceTMHM}, // TM13
[ITEM_TM14] = {gItemIcon_TM, gItemIconPalette_IceTMHM}, // TM14
[ITEM_TM15] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM15
[ITEM_TM16] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM16
[ITEM_TM17] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM17
[ITEM_TM18] = {gItemIcon_TM, gItemIconPalette_WaterTMHM}, // TM18
[ITEM_TM19] = {gItemIcon_TM, gItemIconPalette_GrassTMHM}, // TM19
[ITEM_TM20] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM20
[ITEM_TM21] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM21
[ITEM_TM22] = {gItemIcon_TM, gItemIconPalette_GrassTMHM}, // TM22
[ITEM_TM23] = {gItemIcon_TM, gItemIconPalette_SteelTMHM}, // TM23
[ITEM_TM24] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM}, // TM24
[ITEM_TM25] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM}, // TM25
[ITEM_TM26] = {gItemIcon_TM, gItemIconPalette_GroundTMHM}, // TM26
[ITEM_TM27] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM27
[ITEM_TM28] = {gItemIcon_TM, gItemIconPalette_GroundTMHM}, // TM28
[ITEM_TM29] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM29
[ITEM_TM30] = {gItemIcon_TM, gItemIconPalette_GhostTMHM}, // TM30
[ITEM_TM31] = {gItemIcon_TM, gItemIconPalette_FightingTMHM}, // TM31
[ITEM_TM32] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM32
[ITEM_TM33] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM33
[ITEM_TM34] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM}, // TM34
[ITEM_TM35] = {gItemIcon_TM, gItemIconPalette_FireTMHM}, // TM35
[ITEM_TM36] = {gItemIcon_TM, gItemIconPalette_PoisonTMHM}, // TM36
[ITEM_TM37] = {gItemIcon_TM, gItemIconPalette_RockTMHM}, // TM37
[ITEM_TM38] = {gItemIcon_TM, gItemIconPalette_FireTMHM}, // TM38
[ITEM_TM39] = {gItemIcon_TM, gItemIconPalette_RockTMHM}, // TM39
[ITEM_TM40] = {gItemIcon_TM, gItemIconPalette_FlyingTMHM}, // TM40
[ITEM_TM41] = {gItemIcon_TM, gItemIconPalette_DarkTMHM}, // TM41
[ITEM_TM42] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM42
[ITEM_TM43] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM43
[ITEM_TM44] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM44
[ITEM_TM45] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM45
[ITEM_TM46] = {gItemIcon_TM, gItemIconPalette_DarkTMHM}, // TM46
[ITEM_TM47] = {gItemIcon_TM, gItemIconPalette_SteelTMHM}, // TM47
[ITEM_TM48] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM48
[ITEM_TM49] = {gItemIcon_TM, gItemIconPalette_DarkTMHM}, // TM49
[ITEM_TM50] = {gItemIcon_TM, gItemIconPalette_FireTMHM}, // TM50
[ITEM_HM01] = {gItemIcon_HM, gItemIconPalette_NormalTMHM}, // HM01
[ITEM_HM02] = {gItemIcon_HM, gItemIconPalette_FlyingTMHM}, // HM02
[ITEM_HM03] = {gItemIcon_HM, gItemIconPalette_WaterTMHM}, // HM03
[ITEM_HM04] = {gItemIcon_HM, gItemIconPalette_NormalTMHM}, // HM04
[ITEM_HM05] = {gItemIcon_HM, gItemIconPalette_NormalTMHM}, // HM05
[ITEM_HM06] = {gItemIcon_HM, gItemIconPalette_FightingTMHM}, // HM06
[ITEM_HM07] = {gItemIcon_HM, gItemIconPalette_WaterTMHM}, // HM07
[ITEM_HM08] = {gItemIcon_HM, gItemIconPalette_WaterTMHM}, // HM08
[ITEM_TM01] = {gItemIcon_TM, gItemIconPalette_FightingTMHM},
[ITEM_TM02] = {gItemIcon_TM, gItemIconPalette_DragonTMHM},
[ITEM_TM03] = {gItemIcon_TM, gItemIconPalette_WaterTMHM},
[ITEM_TM04] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
[ITEM_TM05] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
[ITEM_TM06] = {gItemIcon_TM, gItemIconPalette_PoisonTMHM},
[ITEM_TM07] = {gItemIcon_TM, gItemIconPalette_IceTMHM},
[ITEM_TM08] = {gItemIcon_TM, gItemIconPalette_FightingTMHM},
[ITEM_TM09] = {gItemIcon_TM, gItemIconPalette_GrassTMHM},
[ITEM_TM10] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
[ITEM_TM11] = {gItemIcon_TM, gItemIconPalette_FireTMHM},
[ITEM_TM12] = {gItemIcon_TM, gItemIconPalette_DarkTMHM},
[ITEM_TM13] = {gItemIcon_TM, gItemIconPalette_IceTMHM},
[ITEM_TM14] = {gItemIcon_TM, gItemIconPalette_IceTMHM},
[ITEM_TM15] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
[ITEM_TM16] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
[ITEM_TM17] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
[ITEM_TM18] = {gItemIcon_TM, gItemIconPalette_WaterTMHM},
[ITEM_TM19] = {gItemIcon_TM, gItemIconPalette_GrassTMHM},
[ITEM_TM20] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
[ITEM_TM21] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
[ITEM_TM22] = {gItemIcon_TM, gItemIconPalette_GrassTMHM},
[ITEM_TM23] = {gItemIcon_TM, gItemIconPalette_SteelTMHM},
[ITEM_TM24] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM},
[ITEM_TM25] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM},
[ITEM_TM26] = {gItemIcon_TM, gItemIconPalette_GroundTMHM},
[ITEM_TM27] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
[ITEM_TM28] = {gItemIcon_TM, gItemIconPalette_GroundTMHM},
[ITEM_TM29] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
[ITEM_TM30] = {gItemIcon_TM, gItemIconPalette_GhostTMHM},
[ITEM_TM31] = {gItemIcon_TM, gItemIconPalette_FightingTMHM},
[ITEM_TM32] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
[ITEM_TM33] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
[ITEM_TM34] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM},
[ITEM_TM35] = {gItemIcon_TM, gItemIconPalette_FireTMHM},
[ITEM_TM36] = {gItemIcon_TM, gItemIconPalette_PoisonTMHM},
[ITEM_TM37] = {gItemIcon_TM, gItemIconPalette_RockTMHM},
[ITEM_TM38] = {gItemIcon_TM, gItemIconPalette_FireTMHM},
[ITEM_TM39] = {gItemIcon_TM, gItemIconPalette_RockTMHM},
[ITEM_TM40] = {gItemIcon_TM, gItemIconPalette_FlyingTMHM},
[ITEM_TM41] = {gItemIcon_TM, gItemIconPalette_DarkTMHM},
[ITEM_TM42] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
[ITEM_TM43] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
[ITEM_TM44] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
[ITEM_TM45] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
[ITEM_TM46] = {gItemIcon_TM, gItemIconPalette_DarkTMHM},
[ITEM_TM47] = {gItemIcon_TM, gItemIconPalette_SteelTMHM},
[ITEM_TM48] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
[ITEM_TM49] = {gItemIcon_TM, gItemIconPalette_DarkTMHM},
[ITEM_TM50] = {gItemIcon_TM, gItemIconPalette_FireTMHM},
[ITEM_HM01] = {gItemIcon_HM, gItemIconPalette_NormalTMHM},
[ITEM_HM02] = {gItemIcon_HM, gItemIconPalette_FlyingTMHM},
[ITEM_HM03] = {gItemIcon_HM, gItemIconPalette_WaterTMHM},
[ITEM_HM04] = {gItemIcon_HM, gItemIconPalette_NormalTMHM},
[ITEM_HM05] = {gItemIcon_HM, gItemIconPalette_NormalTMHM},
[ITEM_HM06] = {gItemIcon_HM, gItemIconPalette_FightingTMHM},
[ITEM_HM07] = {gItemIcon_HM, gItemIconPalette_WaterTMHM},
[ITEM_HM08] = {gItemIcon_HM, gItemIconPalette_WaterTMHM},
// ????????
[ITEM_15B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_15C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},

View File

@ -1,138 +1,138 @@
const u16 gSpeciesIdToCryId[] =
{
273, // TREECKO
274, // GROVYLE
275, // SCEPTILE
270, // TORCHIC
271, // COMBUSKEN
272, // BLAZIKEN
276, // MUDKIP
277, // MARSHTOMP
278, // SWAMPERT
359, // POOCHYENA
360, // MIGHTYENA
378, // ZIGZAGOON
375, // LINOONE
290, // WURMPLE
291, // SILCOON
292, // BEAUTIFLY
293, // CASCOON
294, // DUSTOX
283, // LOTAD
284, // LOMBRE
285, // LUDICOLO
286, // SEEDOT
287, // NUZLEAF
288, // SHIFTRY
301, // NINCADA
302, // NINJASK
303, // SHEDINJA
266, // TAILLOW
267, // SWELLOW
374, // SHROOMISH
373, // BRELOOM
269, // SPINDA
280, // WINGULL
279, // PELIPPER
310, // SURSKIT
311, // MASQUERAIN
377, // WAILMER
381, // WAILORD
312, // SKITTY
313, // DELCATTY
251, // KECLEON
329, // BALTOY
330, // CLAYDOL
306, // NOSEPASS
253, // TORKOAL
362, // SABLEYE
318, // BARBOACH
319, // WHISCASH
368, // LUVDISC
320, // CORPHISH
321, // CRAWDAUNT
333, // FEEBAS
334, // MILOTIC
289, // CARVANHA
260, // SHARPEDO
324, // TRAPINCH
325, // VIBRAVA
326, // FLYGON
304, // MAKUHITA
305, // HARIYAMA
254, // ELECTRIKE
255, // MANECTRIC
316, // NUMEL
317, // CAMERUPT
338, // SPHEAL
339, // SEALEO
340, // WALREIN
327, // CACNEA
328, // CACTURNE
383, // SNORUNT
307, // GLALIE
331, // LUNATONE
332, // SOLROCK
262, // AZURILL
322, // SPOINK
323, // GRUMPIG
308, // PLUSLE
309, // MINUN
363, // MAWILE
336, // MEDITITE
337, // MEDICHAM
263, // SWABLU
264, // ALTARIA
258, // WYNAUT
256, // DUSKULL
361, // DUSCLOPS
252, // ROSELIA
298, // SLAKOTH
299, // VIGOROTH
300, // SLAKING
314, // GULPIN
315, // SWALOT
376, // TROPIUS
382, // WHISMUR
380, // LOUDRED
379, // EXPLOUD
341, // CLAMPERL
342, // HUNTAIL
343, // GOREBYSS
335, // ABSOL
282, // SHUPPET
281, // BANETTE
259, // SEVIPER
261, // ZANGOOSE
367, // RELICANTH
364, // ARON
365, // LAIRON
366, // AGGRON
356, // CASTFORM
357, // VOLBEAT
358, // ILLUMISE
344, // LILEEP
345, // CRADILY
346, // ANORITH
347, // ARMALDO
295, // RALTS
296, // KIRLIA
297, // GARDEVOIR
351, // BAGON
352, // SHELGON
372, // SALAMENCE
348, // BELDUM
349, // METANG
350, // METAGROSS
353, // REGIROCK
354, // REGICE
355, // REGISTEEL
370, // KYOGRE
369, // GROUDON
371, // RAYQUAZA
257, // LATIAS
384, // LATIOS
385, // JIRACHI
386, // DEOXYS
387 // CHIMECHO
[SPECIES_TREECKO - 277] = 273,
[SPECIES_GROVYLE - 277] = 274,
[SPECIES_SCEPTILE - 277] = 275,
[SPECIES_TORCHIC - 277] = 270,
[SPECIES_COMBUSKEN - 277] = 271,
[SPECIES_BLAZIKEN - 277] = 272,
[SPECIES_MUDKIP - 277] = 276,
[SPECIES_MARSHTOMP - 277] = 277,
[SPECIES_SWAMPERT - 277] = 278,
[SPECIES_POOCHYENA - 277] = 359,
[SPECIES_MIGHTYENA - 277] = 360,
[SPECIES_ZIGZAGOON - 277] = 378,
[SPECIES_LINOONE - 277] = 375,
[SPECIES_WURMPLE - 277] = 290,
[SPECIES_SILCOON - 277] = 291,
[SPECIES_BEAUTIFLY - 277] = 292,
[SPECIES_CASCOON - 277] = 293,
[SPECIES_DUSTOX - 277] = 294,
[SPECIES_LOTAD - 277] = 283,
[SPECIES_LOMBRE - 277] = 284,
[SPECIES_LUDICOLO - 277] = 285,
[SPECIES_SEEDOT - 277] = 286,
[SPECIES_NUZLEAF - 277] = 287,
[SPECIES_SHIFTRY - 277] = 288,
[SPECIES_NINCADA - 277] = 301,
[SPECIES_NINJASK - 277] = 302,
[SPECIES_SHEDINJA - 277] = 303,
[SPECIES_TAILLOW - 277] = 266,
[SPECIES_SWELLOW - 277] = 267,
[SPECIES_SHROOMISH - 277] = 374,
[SPECIES_BRELOOM - 277] = 373,
[SPECIES_SPINDA - 277] = 269,
[SPECIES_WINGULL - 277] = 280,
[SPECIES_PELIPPER - 277] = 279,
[SPECIES_SURSKIT - 277] = 310,
[SPECIES_MASQUERAIN - 277] = 311,
[SPECIES_WAILMER - 277] = 377,
[SPECIES_WAILORD - 277] = 381,
[SPECIES_SKITTY - 277] = 312,
[SPECIES_DELCATTY - 277] = 313,
[SPECIES_KECLEON - 277] = 251,
[SPECIES_BALTOY - 277] = 329,
[SPECIES_CLAYDOL - 277] = 330,
[SPECIES_NOSEPASS - 277] = 306,
[SPECIES_TORKOAL - 277] = 253,
[SPECIES_SABLEYE - 277] = 362,
[SPECIES_BARBOACH - 277] = 318,
[SPECIES_WHISCASH - 277] = 319,
[SPECIES_LUVDISC - 277] = 368,
[SPECIES_CORPHISH - 277] = 320,
[SPECIES_CRAWDAUNT - 277] = 321,
[SPECIES_FEEBAS - 277] = 333,
[SPECIES_MILOTIC - 277] = 334,
[SPECIES_CARVANHA - 277] = 289,
[SPECIES_SHARPEDO - 277] = 260,
[SPECIES_TRAPINCH - 277] = 324,
[SPECIES_VIBRAVA - 277] = 325,
[SPECIES_FLYGON - 277] = 326,
[SPECIES_MAKUHITA - 277] = 304,
[SPECIES_HARIYAMA - 277] = 305,
[SPECIES_ELECTRIKE - 277] = 254,
[SPECIES_MANECTRIC - 277] = 255,
[SPECIES_NUMEL - 277] = 316,
[SPECIES_CAMERUPT - 277] = 317,
[SPECIES_SPHEAL - 277] = 338,
[SPECIES_SEALEO - 277] = 339,
[SPECIES_WALREIN - 277] = 340,
[SPECIES_CACNEA - 277] = 327,
[SPECIES_CACTURNE - 277] = 328,
[SPECIES_SNORUNT - 277] = 383,
[SPECIES_GLALIE - 277] = 307,
[SPECIES_LUNATONE - 277] = 331,
[SPECIES_SOLROCK - 277] = 332,
[SPECIES_AZURILL - 277] = 262,
[SPECIES_SPOINK - 277] = 322,
[SPECIES_GRUMPIG - 277] = 323,
[SPECIES_PLUSLE - 277] = 308,
[SPECIES_MINUN - 277] = 309,
[SPECIES_MAWILE - 277] = 363,
[SPECIES_MEDITITE - 277] = 336,
[SPECIES_MEDICHAM - 277] = 337,
[SPECIES_SWABLU - 277] = 263,
[SPECIES_ALTARIA - 277] = 264,
[SPECIES_WYNAUT - 277] = 258,
[SPECIES_DUSKULL - 277] = 256,
[SPECIES_DUSCLOPS - 277] = 361,
[SPECIES_ROSELIA - 277] = 252,
[SPECIES_SLAKOTH - 277] = 298,
[SPECIES_VIGOROTH - 277] = 299,
[SPECIES_SLAKING - 277] = 300,
[SPECIES_GULPIN - 277] = 314,
[SPECIES_SWALOT - 277] = 315,
[SPECIES_TROPIUS - 277] = 376,
[SPECIES_WHISMUR - 277] = 382,
[SPECIES_LOUDRED - 277] = 380,
[SPECIES_EXPLOUD - 277] = 379,
[SPECIES_CLAMPERL - 277] = 341,
[SPECIES_HUNTAIL - 277] = 342,
[SPECIES_GOREBYSS - 277] = 343,
[SPECIES_ABSOL - 277] = 335,
[SPECIES_SHUPPET - 277] = 282,
[SPECIES_BANETTE - 277] = 281,
[SPECIES_SEVIPER - 277] = 259,
[SPECIES_ZANGOOSE - 277] = 261,
[SPECIES_RELICANTH - 277] = 367,
[SPECIES_ARON - 277] = 364,
[SPECIES_LAIRON - 277] = 365,
[SPECIES_AGGRON - 277] = 366,
[SPECIES_CASTFORM - 277] = 356,
[SPECIES_VOLBEAT - 277] = 357,
[SPECIES_ILLUMISE - 277] = 358,
[SPECIES_LILEEP - 277] = 344,
[SPECIES_CRADILY - 277] = 345,
[SPECIES_ANORITH - 277] = 346,
[SPECIES_ARMALDO - 277] = 347,
[SPECIES_RALTS - 277] = 295,
[SPECIES_KIRLIA - 277] = 296,
[SPECIES_GARDEVOIR - 277] = 297,
[SPECIES_BAGON - 277] = 351,
[SPECIES_SHELGON - 277] = 352,
[SPECIES_SALAMENCE - 277] = 372,
[SPECIES_BELDUM - 277] = 348,
[SPECIES_METANG - 277] = 349,
[SPECIES_METAGROSS - 277] = 350,
[SPECIES_REGIROCK - 277] = 353,
[SPECIES_REGICE - 277] = 354,
[SPECIES_REGISTEEL - 277] = 355,
[SPECIES_KYOGRE - 277] = 370,
[SPECIES_GROUDON - 277] = 369,
[SPECIES_RAYQUAZA - 277] = 371,
[SPECIES_LATIAS - 277] = 257,
[SPECIES_LATIOS - 277] = 384,
[SPECIES_JIRACHI - 277] = 385,
[SPECIES_DEOXYS - 277] = 386,
[SPECIES_CHIMECHO - 277] = 387,
};

File diff suppressed because it is too large Load Diff

View File

@ -1,417 +1,419 @@
#include "constants/species.h"
// This determines how much higher above the usual position the enemy Pokémon
// is during battle. Species that float or fly have nonzero values.
const u8 gEnemyMonElevation[] =
{
0, // 0
0, // SPECIES_BULBASAUR
0, // SPECIES_IVYSAUR
0, // SPECIES_VENUSAUR
0, // SPECIES_CHARMANDER
0, // SPECIES_CHARMELEON
0, // SPECIES_CHARIZARD
0, // SPECIES_SQUIRTLE
0, // SPECIES_WARTORTLE
0, // SPECIES_BLASTOISE
0, // SPECIES_CATERPIE
0, // SPECIES_METAPOD
8, // SPECIES_BUTTERFREE
0, // SPECIES_WEEDLE
0, // SPECIES_KAKUNA
8, // SPECIES_BEEDRILL
16, // SPECIES_PIDGEY
0, // SPECIES_PIDGEOTTO
4, // SPECIES_PIDGEOT
0, // SPECIES_RATTATA
0, // SPECIES_RATICATE
0, // SPECIES_SPEAROW
6, // SPECIES_FEAROW
0, // SPECIES_EKANS
0, // SPECIES_ARBOK
0, // SPECIES_PIKACHU
0, // SPECIES_RAICHU
0, // SPECIES_SANDSHREW
0, // SPECIES_SANDSLASH
0, // SPECIES_NIDORAN_F
0, // SPECIES_NIDORINA
0, // SPECIES_NIDOQUEEN
0, // SPECIES_NIDORAN_M
0, // SPECIES_NIDORINO
0, // SPECIES_NIDOKING
0, // SPECIES_CLEFAIRY
0, // SPECIES_CLEFABLE
0, // SPECIES_VULPIX
0, // SPECIES_NINETALES
0, // SPECIES_JIGGLYPUFF
0, // SPECIES_WIGGLYTUFF
8, // SPECIES_ZUBAT
8, // SPECIES_GOLBAT
0, // SPECIES_ODDISH
0, // SPECIES_GLOOM
0, // SPECIES_VILEPLUME
0, // SPECIES_PARAS
0, // SPECIES_PARASECT
0, // SPECIES_VENONAT
8, // SPECIES_VENOMOTH
0, // SPECIES_DIGLETT
0, // SPECIES_DUGTRIO
0, // SPECIES_MEOWTH
0, // SPECIES_PERSIAN
0, // SPECIES_PSYDUCK
0, // SPECIES_GOLDUCK
0, // SPECIES_MANKEY
0, // SPECIES_PRIMEAPE
0, // SPECIES_GROWLITHE
0, // SPECIES_ARCANINE
0, // SPECIES_POLIWAG
0, // SPECIES_POLIWHIRL
0, // SPECIES_POLIWRATH
0, // SPECIES_ABRA
0, // SPECIES_KADABRA
0, // SPECIES_ALAKAZAM
0, // SPECIES_MACHOP
0, // SPECIES_MACHOKE
0, // SPECIES_MACHAMP
0, // SPECIES_BELLSPROUT
0, // SPECIES_WEEPINBELL
0, // SPECIES_VICTREEBEL
0, // SPECIES_TENTACOOL
0, // SPECIES_TENTACRUEL
16, // SPECIES_GEODUDE
0, // SPECIES_GRAVELER
0, // SPECIES_GOLEM
0, // SPECIES_PONYTA
0, // SPECIES_RAPIDASH
0, // SPECIES_SLOWPOKE
0, // SPECIES_SLOWBRO
16, // SPECIES_MAGNEMITE
8, // SPECIES_MAGNETON
0, // SPECIES_FARFETCHD
0, // SPECIES_DODUO
0, // SPECIES_DODRIO
0, // SPECIES_SEEL
0, // SPECIES_DEWGONG
0, // SPECIES_GRIMER
0, // SPECIES_MUK
0, // SPECIES_SHELLDER
0, // SPECIES_CLOYSTER
4, // SPECIES_GASTLY
4, // SPECIES_HAUNTER
0, // SPECIES_GENGAR
0, // SPECIES_ONIX
0, // SPECIES_DROWZEE
0, // SPECIES_HYPNO
0, // SPECIES_KRABBY
0, // SPECIES_KINGLER
10, // SPECIES_VOLTORB
12, // SPECIES_ELECTRODE
0, // SPECIES_EXEGGCUTE
0, // SPECIES_EXEGGUTOR
0, // SPECIES_CUBONE
0, // SPECIES_MAROWAK
0, // SPECIES_HITMONLEE
0, // SPECIES_HITMONCHAN
0, // SPECIES_LICKITUNG
8, // SPECIES_KOFFING
6, // SPECIES_WEEZING
0, // SPECIES_RHYHORN
0, // SPECIES_RHYDON
0, // SPECIES_CHANSEY
0, // SPECIES_TANGELA
0, // SPECIES_KANGASKHAN
0, // SPECIES_HORSEA
0, // SPECIES_SEADRA
0, // SPECIES_GOLDEEN
0, // SPECIES_SEAKING
0, // SPECIES_STARYU
0, // SPECIES_STARMIE
0, // SPECIES_MR_MIME
0, // SPECIES_SCYTHER
0, // SPECIES_JYNX
0, // SPECIES_ELECTABUZZ
0, // SPECIES_MAGMAR
0, // SPECIES_PINSIR
0, // SPECIES_TAUROS
0, // SPECIES_MAGIKARP
0, // SPECIES_GYARADOS
0, // SPECIES_LAPRAS
0, // SPECIES_DITTO
0, // SPECIES_EEVEE
0, // SPECIES_VAPOREON
0, // SPECIES_JOLTEON
0, // SPECIES_FLAREON
0, // SPECIES_PORYGON
0, // SPECIES_OMANYTE
0, // SPECIES_OMASTAR
0, // SPECIES_KABUTO
0, // SPECIES_KABUTOPS
7, // SPECIES_AERODACTYL
0, // SPECIES_SNORLAX
6, // SPECIES_ARTICUNO
8, // SPECIES_ZAPDOS
5, // SPECIES_MOLTRES
0, // SPECIES_DRATINI
0, // SPECIES_DRAGONAIR
6, // SPECIES_DRAGONITE
0, // SPECIES_MEWTWO
8, // SPECIES_MEW
0, // SPECIES_CHIKORITA
0, // SPECIES_BAYLEEF
0, // SPECIES_MEGANIUM
0, // SPECIES_CYNDAQUIL
0, // SPECIES_QUILAVA
0, // SPECIES_TYPHLOSION
0, // SPECIES_TOTODILE
0, // SPECIES_CROCONAW
0, // SPECIES_FERALIGATR
0, // SPECIES_SENTRET
0, // SPECIES_FURRET
0, // SPECIES_HOOTHOOT
0, // SPECIES_NOCTOWL
0, // SPECIES_LEDYBA
8, // SPECIES_LEDIAN
0, // SPECIES_SPINARAK
0, // SPECIES_ARIADOS
6, // SPECIES_CROBAT
0, // SPECIES_CHINCHOU
0, // SPECIES_LANTURN
0, // SPECIES_PICHU
0, // SPECIES_CLEFFA
0, // SPECIES_IGGLYBUFF
0, // SPECIES_TOGEPI
0, // SPECIES_TOGETIC
0, // SPECIES_NATU
0, // SPECIES_XATU
0, // SPECIES_MAREEP
0, // SPECIES_FLAAFFY
0, // SPECIES_AMPHAROS
0, // SPECIES_BELLOSSOM
0, // SPECIES_MARILL
0, // SPECIES_AZUMARILL
0, // SPECIES_SUDOWOODO
0, // SPECIES_POLITOED
11, // SPECIES_HOPPIP
12, // SPECIES_SKIPLOOM
9, // SPECIES_JUMPLUFF
0, // SPECIES_AIPOM
0, // SPECIES_SUNKERN
0, // SPECIES_SUNFLORA
8, // SPECIES_YANMA
0, // SPECIES_WOOPER
0, // SPECIES_QUAGSIRE
0, // SPECIES_ESPEON
0, // SPECIES_UMBREON
0, // SPECIES_MURKROW
0, // SPECIES_SLOWKING
8, // SPECIES_MISDREAVUS
8, // SPECIES_UNOWN
0, // SPECIES_WOBBUFFET
0, // SPECIES_GIRAFARIG
0, // SPECIES_PINECO
0, // SPECIES_FORRETRESS
0, // SPECIES_DUNSPARCE
6, // SPECIES_GLIGAR
0, // SPECIES_STEELIX
0, // SPECIES_SNUBBULL
0, // SPECIES_GRANBULL
0, // SPECIES_QWILFISH
0, // SPECIES_SCIZOR
0, // SPECIES_SHUCKLE
0, // SPECIES_HERACROSS
0, // SPECIES_SNEASEL
0, // SPECIES_TEDDIURSA
0, // SPECIES_URSARING
0, // SPECIES_SLUGMA
0, // SPECIES_MAGCARGO
0, // SPECIES_SWINUB
0, // SPECIES_PILOSWINE
0, // SPECIES_CORSOLA
0, // SPECIES_REMORAID
0, // SPECIES_OCTILLERY
0, // SPECIES_DELIBIRD
0, // SPECIES_MANTINE
0, // SPECIES_SKARMORY
0, // SPECIES_HOUNDOUR
0, // SPECIES_HOUNDOOM
0, // SPECIES_KINGDRA
0, // SPECIES_PHANPY
0, // SPECIES_DONPHAN
0, // SPECIES_PORYGON2
0, // SPECIES_STANTLER
0, // SPECIES_SMEARGLE
0, // SPECIES_TYROGUE
0, // SPECIES_HITMONTOP
0, // SPECIES_SMOOCHUM
0, // SPECIES_ELEKID
0, // SPECIES_MAGBY
0, // SPECIES_MILTANK
0, // SPECIES_BLISSEY
0, // SPECIES_RAIKOU
0, // SPECIES_ENTEI
0, // SPECIES_SUICUNE
0, // SPECIES_LARVITAR
0, // SPECIES_PUPITAR
0, // SPECIES_TYRANITAR
6, // SPECIES_LUGIA
6, // SPECIES_HO_OH
15, // SPECIES_CELEBI
0, // 252
0, // 253
0, // 254
0, // 255
0, // 256
0, // 257
0, // 258
0, // 259
0, // 260
0, // 261
0, // 262
0, // 263
0, // 264
0, // 265
0, // 266
0, // 267
0, // 268
0, // 269
0, // 270
0, // 271
0, // 272
0, // 273
0, // 274
0, // 275
0, // 276
0, // SPECIES_TREECKO
0, // SPECIES_GROVYLE
0, // SPECIES_SCEPTILE
0, // SPECIES_TORCHIC
0, // SPECIES_COMBUSKEN
0, // SPECIES_BLAZIKEN
0, // SPECIES_MUDKIP
0, // SPECIES_MARSHTOMP
0, // SPECIES_SWAMPERT
0, // SPECIES_POOCHYENA
0, // SPECIES_MIGHTYENA
0, // SPECIES_ZIGZAGOON
0, // SPECIES_LINOONE
0, // SPECIES_WURMPLE
0, // SPECIES_SILCOON
8, // SPECIES_BEAUTIFLY
0, // SPECIES_CASCOON
10, // SPECIES_DUSTOX
0, // SPECIES_LOTAD
0, // SPECIES_LOMBRE
0, // SPECIES_LUDICOLO
0, // SPECIES_SEEDOT
0, // SPECIES_NUZLEAF
0, // SPECIES_SHIFTRY
0, // SPECIES_NINCADA
10, // SPECIES_NINJASK
8, // SPECIES_SHEDINJA
0, // SPECIES_TAILLOW
0, // SPECIES_SWELLOW
0, // SPECIES_SHROOMISH
0, // SPECIES_BRELOOM
0, // SPECIES_SPINDA
16, // SPECIES_WINGULL
8, // SPECIES_PELIPPER
0, // SPECIES_SURSKIT
10, // SPECIES_MASQUERAIN
0, // SPECIES_WAILMER
0, // SPECIES_WAILORD
0, // SPECIES_SKITTY
0, // SPECIES_DELCATTY
0, // SPECIES_KECLEON
4, // SPECIES_BALTOY
10, // SPECIES_CLAYDOL
0, // SPECIES_NOSEPASS
0, // SPECIES_TORKOAL
0, // SPECIES_SABLEYE
0, // SPECIES_BARBOACH
0, // SPECIES_WHISCASH
0, // SPECIES_LUVDISC
0, // SPECIES_CORPHISH
0, // SPECIES_CRAWDAUNT
0, // SPECIES_FEEBAS
0, // SPECIES_MILOTIC
0, // SPECIES_CARVANHA
0, // SPECIES_SHARPEDO
0, // SPECIES_TRAPINCH
0, // SPECIES_VIBRAVA
7, // SPECIES_FLYGON
0, // SPECIES_MAKUHITA
0, // SPECIES_HARIYAMA
0, // SPECIES_ELECTRIKE
0, // SPECIES_MANECTRIC
0, // SPECIES_NUMEL
0, // SPECIES_CAMERUPT
0, // SPECIES_SPHEAL
0, // SPECIES_SEALEO
0, // SPECIES_WALREIN
0, // SPECIES_CACNEA
0, // SPECIES_CACTURNE
0, // SPECIES_SNORUNT
12, // SPECIES_GLALIE
13, // SPECIES_LUNATONE
4, // SPECIES_SOLROCK
0, // SPECIES_AZURILL
0, // SPECIES_SPOINK
0, // SPECIES_GRUMPIG
0, // SPECIES_PLUSLE
0, // SPECIES_MINUN
0, // SPECIES_MAWILE
0, // SPECIES_MEDITITE
0, // SPECIES_MEDICHAM
12, // SPECIES_SWABLU
8, // SPECIES_ALTARIA
0, // SPECIES_WYNAUT
9, // SPECIES_DUSKULL
0, // SPECIES_DUSCLOPS
0, // SPECIES_ROSELIA
0, // SPECIES_SLAKOTH
0, // SPECIES_VIGOROTH
0, // SPECIES_SLAKING
0, // SPECIES_GULPIN
0, // SPECIES_SWALOT
0, // SPECIES_TROPIUS
0, // SPECIES_WHISMUR
0, // SPECIES_LOUDRED
0, // SPECIES_EXPLOUD
0, // SPECIES_CLAMPERL
0, // SPECIES_HUNTAIL
0, // SPECIES_GOREBYSS
0, // SPECIES_ABSOL
12, // SPECIES_SHUPPET
8, // SPECIES_BANETTE
0, // SPECIES_SEVIPER
0, // SPECIES_ZANGOOSE
0, // SPECIES_RELICANTH
0, // SPECIES_ARON
0, // SPECIES_LAIRON
0, // SPECIES_AGGRON
16, // SPECIES_CASTFORM
0, // SPECIES_VOLBEAT
0, // SPECIES_ILLUMISE
0, // SPECIES_LILEEP
0, // SPECIES_CRADILY
0, // SPECIES_ANORITH
0, // SPECIES_ARMALDO
0, // SPECIES_RALTS
0, // SPECIES_KIRLIA
0, // SPECIES_GARDEVOIR
0, // SPECIES_BAGON
0, // SPECIES_SHELGON
0, // SPECIES_SALAMENCE
8, // SPECIES_BELDUM
0, // SPECIES_METANG
0, // SPECIES_METAGROSS
0, // SPECIES_REGIROCK
0, // SPECIES_REGICE
0, // SPECIES_REGISTEEL
0, // SPECIES_KYOGRE
0, // SPECIES_GROUDON
6, // SPECIES_RAYQUAZA
6, // SPECIES_LATIAS
6, // SPECIES_LATIOS
12, // SPECIES_JIRACHI
8, // SPECIES_DEOXYS
12, // SPECIES_CHIMECHO
[SPECIES_NONE] = 0,
[SPECIES_BULBASAUR] = 0,
[SPECIES_IVYSAUR] = 0,
[SPECIES_VENUSAUR] = 0,
[SPECIES_CHARMANDER] = 0,
[SPECIES_CHARMELEON] = 0,
[SPECIES_CHARIZARD] = 0,
[SPECIES_SQUIRTLE] = 0,
[SPECIES_WARTORTLE] = 0,
[SPECIES_BLASTOISE] = 0,
[SPECIES_CATERPIE] = 0,
[SPECIES_METAPOD] = 0,
[SPECIES_BUTTERFREE] = 8,
[SPECIES_WEEDLE] = 0,
[SPECIES_KAKUNA] = 0,
[SPECIES_BEEDRILL] = 8,
[SPECIES_PIDGEY] = 16,
[SPECIES_PIDGEOTTO] = 0,
[SPECIES_PIDGEOT] = 4,
[SPECIES_RATTATA] = 0,
[SPECIES_RATICATE] = 0,
[SPECIES_SPEAROW] = 0,
[SPECIES_FEAROW] = 6,
[SPECIES_EKANS] = 0,
[SPECIES_ARBOK] = 0,
[SPECIES_PIKACHU] = 0,
[SPECIES_RAICHU] = 0,
[SPECIES_SANDSHREW] = 0,
[SPECIES_SANDSLASH] = 0,
[SPECIES_NIDORAN_F] = 0,
[SPECIES_NIDORINA] = 0,
[SPECIES_NIDOQUEEN] = 0,
[SPECIES_NIDORAN_M] = 0,
[SPECIES_NIDORINO] = 0,
[SPECIES_NIDOKING] = 0,
[SPECIES_CLEFAIRY] = 0,
[SPECIES_CLEFABLE] = 0,
[SPECIES_VULPIX] = 0,
[SPECIES_NINETALES] = 0,
[SPECIES_JIGGLYPUFF] = 0,
[SPECIES_WIGGLYTUFF] = 0,
[SPECIES_ZUBAT] = 8,
[SPECIES_GOLBAT] = 8,
[SPECIES_ODDISH] = 0,
[SPECIES_GLOOM] = 0,
[SPECIES_VILEPLUME] = 0,
[SPECIES_PARAS] = 0,
[SPECIES_PARASECT] = 0,
[SPECIES_VENONAT] = 0,
[SPECIES_VENOMOTH] = 8,
[SPECIES_DIGLETT] = 0,
[SPECIES_DUGTRIO] = 0,
[SPECIES_MEOWTH] = 0,
[SPECIES_PERSIAN] = 0,
[SPECIES_PSYDUCK] = 0,
[SPECIES_GOLDUCK] = 0,
[SPECIES_MANKEY] = 0,
[SPECIES_PRIMEAPE] = 0,
[SPECIES_GROWLITHE] = 0,
[SPECIES_ARCANINE] = 0,
[SPECIES_POLIWAG] = 0,
[SPECIES_POLIWHIRL] = 0,
[SPECIES_POLIWRATH] = 0,
[SPECIES_ABRA] = 0,
[SPECIES_KADABRA] = 0,
[SPECIES_ALAKAZAM] = 0,
[SPECIES_MACHOP] = 0,
[SPECIES_MACHOKE] = 0,
[SPECIES_MACHAMP] = 0,
[SPECIES_BELLSPROUT] = 0,
[SPECIES_WEEPINBELL] = 0,
[SPECIES_VICTREEBEL] = 0,
[SPECIES_TENTACOOL] = 0,
[SPECIES_TENTACRUEL] = 0,
[SPECIES_GEODUDE] = 16,
[SPECIES_GRAVELER] = 0,
[SPECIES_GOLEM] = 0,
[SPECIES_PONYTA] = 0,
[SPECIES_RAPIDASH] = 0,
[SPECIES_SLOWPOKE] = 0,
[SPECIES_SLOWBRO] = 0,
[SPECIES_MAGNEMITE] = 16,
[SPECIES_MAGNETON] = 8,
[SPECIES_FARFETCHD] = 0,
[SPECIES_DODUO] = 0,
[SPECIES_DODRIO] = 0,
[SPECIES_SEEL] = 0,
[SPECIES_DEWGONG] = 0,
[SPECIES_GRIMER] = 0,
[SPECIES_MUK] = 0,
[SPECIES_SHELLDER] = 0,
[SPECIES_CLOYSTER] = 0,
[SPECIES_GASTLY] = 4,
[SPECIES_HAUNTER] = 4,
[SPECIES_GENGAR] = 0,
[SPECIES_ONIX] = 0,
[SPECIES_DROWZEE] = 0,
[SPECIES_HYPNO] = 0,
[SPECIES_KRABBY] = 0,
[SPECIES_KINGLER] = 0,
[SPECIES_VOLTORB] = 10,
[SPECIES_ELECTRODE] = 12,
[SPECIES_EXEGGCUTE] = 0,
[SPECIES_EXEGGUTOR] = 0,
[SPECIES_CUBONE] = 0,
[SPECIES_MAROWAK] = 0,
[SPECIES_HITMONLEE] = 0,
[SPECIES_HITMONCHAN] = 0,
[SPECIES_LICKITUNG] = 0,
[SPECIES_KOFFING] = 8,
[SPECIES_WEEZING] = 6,
[SPECIES_RHYHORN] = 0,
[SPECIES_RHYDON] = 0,
[SPECIES_CHANSEY] = 0,
[SPECIES_TANGELA] = 0,
[SPECIES_KANGASKHAN] = 0,
[SPECIES_HORSEA] = 0,
[SPECIES_SEADRA] = 0,
[SPECIES_GOLDEEN] = 0,
[SPECIES_SEAKING] = 0,
[SPECIES_STARYU] = 0,
[SPECIES_STARMIE] = 0,
[SPECIES_MR_MIME] = 0,
[SPECIES_SCYTHER] = 0,
[SPECIES_JYNX] = 0,
[SPECIES_ELECTABUZZ] = 0,
[SPECIES_MAGMAR] = 0,
[SPECIES_PINSIR] = 0,
[SPECIES_TAUROS] = 0,
[SPECIES_MAGIKARP] = 0,
[SPECIES_GYARADOS] = 0,
[SPECIES_LAPRAS] = 0,
[SPECIES_DITTO] = 0,
[SPECIES_EEVEE] = 0,
[SPECIES_VAPOREON] = 0,
[SPECIES_JOLTEON] = 0,
[SPECIES_FLAREON] = 0,
[SPECIES_PORYGON] = 0,
[SPECIES_OMANYTE] = 0,
[SPECIES_OMASTAR] = 0,
[SPECIES_KABUTO] = 0,
[SPECIES_KABUTOPS] = 0,
[SPECIES_AERODACTYL] = 7,
[SPECIES_SNORLAX] = 0,
[SPECIES_ARTICUNO] = 6,
[SPECIES_ZAPDOS] = 8,
[SPECIES_MOLTRES] = 5,
[SPECIES_DRATINI] = 0,
[SPECIES_DRAGONAIR] = 0,
[SPECIES_DRAGONITE] = 6,
[SPECIES_MEWTWO] = 0,
[SPECIES_MEW] = 8,
[SPECIES_CHIKORITA] = 0,
[SPECIES_BAYLEEF] = 0,
[SPECIES_MEGANIUM] = 0,
[SPECIES_CYNDAQUIL] = 0,
[SPECIES_QUILAVA] = 0,
[SPECIES_TYPHLOSION] = 0,
[SPECIES_TOTODILE] = 0,
[SPECIES_CROCONAW] = 0,
[SPECIES_FERALIGATR] = 0,
[SPECIES_SENTRET] = 0,
[SPECIES_FURRET] = 0,
[SPECIES_HOOTHOOT] = 0,
[SPECIES_NOCTOWL] = 0,
[SPECIES_LEDYBA] = 0,
[SPECIES_LEDIAN] = 8,
[SPECIES_SPINARAK] = 0,
[SPECIES_ARIADOS] = 0,
[SPECIES_CROBAT] = 6,
[SPECIES_CHINCHOU] = 0,
[SPECIES_LANTURN] = 0,
[SPECIES_PICHU] = 0,
[SPECIES_CLEFFA] = 0,
[SPECIES_IGGLYBUFF] = 0,
[SPECIES_TOGEPI] = 0,
[SPECIES_TOGETIC] = 0,
[SPECIES_NATU] = 0,
[SPECIES_XATU] = 0,
[SPECIES_MAREEP] = 0,
[SPECIES_FLAAFFY] = 0,
[SPECIES_AMPHAROS] = 0,
[SPECIES_BELLOSSOM] = 0,
[SPECIES_MARILL] = 0,
[SPECIES_AZUMARILL] = 0,
[SPECIES_SUDOWOODO] = 0,
[SPECIES_POLITOED] = 0,
[SPECIES_HOPPIP] = 11,
[SPECIES_SKIPLOOM] = 12,
[SPECIES_JUMPLUFF] = 9,
[SPECIES_AIPOM] = 0,
[SPECIES_SUNKERN] = 0,
[SPECIES_SUNFLORA] = 0,
[SPECIES_YANMA] = 8,
[SPECIES_WOOPER] = 0,
[SPECIES_QUAGSIRE] = 0,
[SPECIES_ESPEON] = 0,
[SPECIES_UMBREON] = 0,
[SPECIES_MURKROW] = 0,
[SPECIES_SLOWKING] = 0,
[SPECIES_MISDREAVUS] = 8,
[SPECIES_UNOWN] = 8,
[SPECIES_WOBBUFFET] = 0,
[SPECIES_GIRAFARIG] = 0,
[SPECIES_PINECO] = 0,
[SPECIES_FORRETRESS] = 0,
[SPECIES_DUNSPARCE] = 0,
[SPECIES_GLIGAR] = 6,
[SPECIES_STEELIX] = 0,
[SPECIES_SNUBBULL] = 0,
[SPECIES_GRANBULL] = 0,
[SPECIES_QWILFISH] = 0,
[SPECIES_SCIZOR] = 0,
[SPECIES_SHUCKLE] = 0,
[SPECIES_HERACROSS] = 0,
[SPECIES_SNEASEL] = 0,
[SPECIES_TEDDIURSA] = 0,
[SPECIES_URSARING] = 0,
[SPECIES_SLUGMA] = 0,
[SPECIES_MAGCARGO] = 0,
[SPECIES_SWINUB] = 0,
[SPECIES_PILOSWINE] = 0,
[SPECIES_CORSOLA] = 0,
[SPECIES_REMORAID] = 0,
[SPECIES_OCTILLERY] = 0,
[SPECIES_DELIBIRD] = 0,
[SPECIES_MANTINE] = 0,
[SPECIES_SKARMORY] = 0,
[SPECIES_HOUNDOUR] = 0,
[SPECIES_HOUNDOOM] = 0,
[SPECIES_KINGDRA] = 0,
[SPECIES_PHANPY] = 0,
[SPECIES_DONPHAN] = 0,
[SPECIES_PORYGON2] = 0,
[SPECIES_STANTLER] = 0,
[SPECIES_SMEARGLE] = 0,
[SPECIES_TYROGUE] = 0,
[SPECIES_HITMONTOP] = 0,
[SPECIES_SMOOCHUM] = 0,
[SPECIES_ELEKID] = 0,
[SPECIES_MAGBY] = 0,
[SPECIES_MILTANK] = 0,
[SPECIES_BLISSEY] = 0,
[SPECIES_RAIKOU] = 0,
[SPECIES_ENTEI] = 0,
[SPECIES_SUICUNE] = 0,
[SPECIES_LARVITAR] = 0,
[SPECIES_PUPITAR] = 0,
[SPECIES_TYRANITAR] = 0,
[SPECIES_LUGIA] = 6,
[SPECIES_HO_OH] = 6,
[SPECIES_CELEBI] = 15,
[SPECIES_OLD_UNOWN_B] = 0,
[SPECIES_OLD_UNOWN_C] = 0,
[SPECIES_OLD_UNOWN_D] = 0,
[SPECIES_OLD_UNOWN_E] = 0,
[SPECIES_OLD_UNOWN_F] = 0,
[SPECIES_OLD_UNOWN_G] = 0,
[SPECIES_OLD_UNOWN_H] = 0,
[SPECIES_OLD_UNOWN_I] = 0,
[SPECIES_OLD_UNOWN_J] = 0,
[SPECIES_OLD_UNOWN_K] = 0,
[SPECIES_OLD_UNOWN_L] = 0,
[SPECIES_OLD_UNOWN_M] = 0,
[SPECIES_OLD_UNOWN_N] = 0,
[SPECIES_OLD_UNOWN_O] = 0,
[SPECIES_OLD_UNOWN_P] = 0,
[SPECIES_OLD_UNOWN_Q] = 0,
[SPECIES_OLD_UNOWN_R] = 0,
[SPECIES_OLD_UNOWN_S] = 0,
[SPECIES_OLD_UNOWN_T] = 0,
[SPECIES_OLD_UNOWN_U] = 0,
[SPECIES_OLD_UNOWN_V] = 0,
[SPECIES_OLD_UNOWN_W] = 0,
[SPECIES_OLD_UNOWN_X] = 0,
[SPECIES_OLD_UNOWN_Y] = 0,
[SPECIES_OLD_UNOWN_Z] = 0,
[SPECIES_TREECKO] = 0,
[SPECIES_GROVYLE] = 0,
[SPECIES_SCEPTILE] = 0,
[SPECIES_TORCHIC] = 0,
[SPECIES_COMBUSKEN] = 0,
[SPECIES_BLAZIKEN] = 0,
[SPECIES_MUDKIP] = 0,
[SPECIES_MARSHTOMP] = 0,
[SPECIES_SWAMPERT] = 0,
[SPECIES_POOCHYENA] = 0,
[SPECIES_MIGHTYENA] = 0,
[SPECIES_ZIGZAGOON] = 0,
[SPECIES_LINOONE] = 0,
[SPECIES_WURMPLE] = 0,
[SPECIES_SILCOON] = 0,
[SPECIES_BEAUTIFLY] = 8,
[SPECIES_CASCOON] = 0,
[SPECIES_DUSTOX] = 10,
[SPECIES_LOTAD] = 0,
[SPECIES_LOMBRE] = 0,
[SPECIES_LUDICOLO] = 0,
[SPECIES_SEEDOT] = 0,
[SPECIES_NUZLEAF] = 0,
[SPECIES_SHIFTRY] = 0,
[SPECIES_NINCADA] = 0,
[SPECIES_NINJASK] = 10,
[SPECIES_SHEDINJA] = 8,
[SPECIES_TAILLOW] = 0,
[SPECIES_SWELLOW] = 0,
[SPECIES_SHROOMISH] = 0,
[SPECIES_BRELOOM] = 0,
[SPECIES_SPINDA] = 0,
[SPECIES_WINGULL] = 16,
[SPECIES_PELIPPER] = 8,
[SPECIES_SURSKIT] = 0,
[SPECIES_MASQUERAIN] = 10,
[SPECIES_WAILMER] = 0,
[SPECIES_WAILORD] = 0,
[SPECIES_SKITTY] = 0,
[SPECIES_DELCATTY] = 0,
[SPECIES_KECLEON] = 0,
[SPECIES_BALTOY] = 4,
[SPECIES_CLAYDOL] = 10,
[SPECIES_NOSEPASS] = 0,
[SPECIES_TORKOAL] = 0,
[SPECIES_SABLEYE] = 0,
[SPECIES_BARBOACH] = 0,
[SPECIES_WHISCASH] = 0,
[SPECIES_LUVDISC] = 0,
[SPECIES_CORPHISH] = 0,
[SPECIES_CRAWDAUNT] = 0,
[SPECIES_FEEBAS] = 0,
[SPECIES_MILOTIC] = 0,
[SPECIES_CARVANHA] = 0,
[SPECIES_SHARPEDO] = 0,
[SPECIES_TRAPINCH] = 0,
[SPECIES_VIBRAVA] = 0,
[SPECIES_FLYGON] = 7,
[SPECIES_MAKUHITA] = 0,
[SPECIES_HARIYAMA] = 0,
[SPECIES_ELECTRIKE] = 0,
[SPECIES_MANECTRIC] = 0,
[SPECIES_NUMEL] = 0,
[SPECIES_CAMERUPT] = 0,
[SPECIES_SPHEAL] = 0,
[SPECIES_SEALEO] = 0,
[SPECIES_WALREIN] = 0,
[SPECIES_CACNEA] = 0,
[SPECIES_CACTURNE] = 0,
[SPECIES_SNORUNT] = 0,
[SPECIES_GLALIE] = 12,
[SPECIES_LUNATONE] = 13,
[SPECIES_SOLROCK] = 4,
[SPECIES_AZURILL] = 0,
[SPECIES_SPOINK] = 0,
[SPECIES_GRUMPIG] = 0,
[SPECIES_PLUSLE] = 0,
[SPECIES_MINUN] = 0,
[SPECIES_MAWILE] = 0,
[SPECIES_MEDITITE] = 0,
[SPECIES_MEDICHAM] = 0,
[SPECIES_SWABLU] = 12,
[SPECIES_ALTARIA] = 8,
[SPECIES_WYNAUT] = 0,
[SPECIES_DUSKULL] = 9,
[SPECIES_DUSCLOPS] = 0,
[SPECIES_ROSELIA] = 0,
[SPECIES_SLAKOTH] = 0,
[SPECIES_VIGOROTH] = 0,
[SPECIES_SLAKING] = 0,
[SPECIES_GULPIN] = 0,
[SPECIES_SWALOT] = 0,
[SPECIES_TROPIUS] = 0,
[SPECIES_WHISMUR] = 0,
[SPECIES_LOUDRED] = 0,
[SPECIES_EXPLOUD] = 0,
[SPECIES_CLAMPERL] = 0,
[SPECIES_HUNTAIL] = 0,
[SPECIES_GOREBYSS] = 0,
[SPECIES_ABSOL] = 0,
[SPECIES_SHUPPET] = 12,
[SPECIES_BANETTE] = 8,
[SPECIES_SEVIPER] = 0,
[SPECIES_ZANGOOSE] = 0,
[SPECIES_RELICANTH] = 0,
[SPECIES_ARON] = 0,
[SPECIES_LAIRON] = 0,
[SPECIES_AGGRON] = 0,
[SPECIES_CASTFORM] = 16,
[SPECIES_VOLBEAT] = 0,
[SPECIES_ILLUMISE] = 0,
[SPECIES_LILEEP] = 0,
[SPECIES_CRADILY] = 0,
[SPECIES_ANORITH] = 0,
[SPECIES_ARMALDO] = 0,
[SPECIES_RALTS] = 0,
[SPECIES_KIRLIA] = 0,
[SPECIES_GARDEVOIR] = 0,
[SPECIES_BAGON] = 0,
[SPECIES_SHELGON] = 0,
[SPECIES_SALAMENCE] = 0,
[SPECIES_BELDUM] = 8,
[SPECIES_METANG] = 0,
[SPECIES_METAGROSS] = 0,
[SPECIES_REGIROCK] = 0,
[SPECIES_REGICE] = 0,
[SPECIES_REGISTEEL] = 0,
[SPECIES_KYOGRE] = 0,
[SPECIES_GROUDON] = 0,
[SPECIES_RAYQUAZA] = 6,
[SPECIES_LATIAS] = 6,
[SPECIES_LATIOS] = 6,
[SPECIES_JIRACHI] = 12,
[SPECIES_DEOXYS] = 8,
[SPECIES_CHIMECHO] = 12,
};

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ const u8 gPokeBallItemDescription[] = _("A tool used for\ncatching wild\nPOKéMO
const u8 gSafariBallItemDescription[] = _("A special BALL that\nis used only in the\nSAFARI ZONE.");
const u8 gNetBallItemDescription[] = _("A BALL that works\nwell on WATER- and\nBUG-type POKéMON.");
const u8 gDiveBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\non the ocean floor.");
const u8 gNestBallItemDescription[] = _("A BALL that works\nbetter on weaker\nPOKéMON.");
const u8 gNestBallItemDescription[] = _("A BALL that works\nbetter on weaker\nPOKéMON.");
const u8 gRepeatBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\ncaught before.");
const u8 gTimerBallItemDescription[] = _("A BALL that gains\npower in battles\ntaking many turns.");
const u8 gLuxuryBallItemDescription[] = _("A cozy BALL that\nmakes POKéMON\nmore friendly.");

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
#include "global.h"
#include "data2.h"
#include "graphics.h"
#include "malloc.h"
#include "alloc.h"
#include "constants/species.h"
const u16 gUnknown_082FF1D8[] = INCBIN_U16("graphics/link/minigame_digits.gbapal");

View File

@ -19,6 +19,7 @@
#include "task.h"
#include "window.h"
#include "list_menu.h"
#include "overworld.h"
#define EGG_MOVES_ARRAY_COUNT 10
#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50
@ -39,12 +40,8 @@ extern const u8 gDaycareText_PlayOther[];
extern u8 GetCursorSelectionMonId(void);
extern u16 ItemIdToBattleMoveId(u16);
extern s32 ListMenuHandleInputGetItemId(u8);
extern void DestroyListMenuTask(u8, u16*, u16*);
extern void sub_819746C(u8, bool8);
extern void NewMenuHelpers_DrawStdWindowFrame(u8, bool8);
extern void sub_81B9328(void);
extern void CB2_ReturnToField(void);
// this file's functions
static void ClearDaycareMonMail(struct DayCareMail *mail);
@ -535,7 +532,7 @@ static void RemoveIVIndexFromList(u8 *ivs, u8 selectedIv)
s32 i, j;
u8 temp[NUM_STATS];
ivs[selectedIv] = 0xff;
ivs[selectedIv] = 0xFF;
for (i = 0; i < NUM_STATS; i++)
{
temp[i] = ivs[i];
@ -544,7 +541,7 @@ static void RemoveIVIndexFromList(u8 *ivs, u8 selectedIv)
j = 0;
for (i = 0; i < NUM_STATS; i++)
{
if (temp[i] != 0xff)
if (temp[i] != 0xFF)
ivs[j++] = temp[i];
}
}
@ -684,7 +681,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
{
if (sHatchedEggFatherMoves[i] == sHatchedEggEggMoves[j])
{
if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xffff)
if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xFFFF)
DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]);
break;
}
@ -703,7 +700,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
{
if (sHatchedEggFatherMoves[i] == ItemIdToBattleMoveId(ITEM_TM01_FOCUS_PUNCH + j) && CanMonLearnTMHM(egg, j))
{
if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xffff)
if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xFFFF)
DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]);
}
}
@ -728,7 +725,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
{
if (sHatchedEggLevelUpMoves[j] != MOVE_NONE && sHatchedEggFinalMoves[i] == sHatchedEggLevelUpMoves[j])
{
if (GiveMoveToMon(egg, sHatchedEggFinalMoves[i]) == 0xffff)
if (GiveMoveToMon(egg, sHatchedEggFinalMoves[i]) == 0xFFFF)
DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFinalMoves[i]);
break;
}

View File

@ -2,7 +2,7 @@
#include "decompress.h"
#include "constants/species.h"
#include "text.h"
#include "malloc.h"
#include "alloc.h"
#include "pokemon.h"
EWRAM_DATA ALIGNED(4) u8 gDecompressionBuffer[0x4000] = {0};
@ -122,346 +122,346 @@ void sub_803471C()
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x24\n\
mov r9, r0\n\
str r1, [sp]\n\
str r2, [sp, 0x4]\n\
adds r5, r3, 0\n\
movs r0, 0x1\n\
mov r1, r9\n\
ands r0, r1\n\
cmp r0, 0\n\
bne _0803473C\n\
b _080348D4\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x24\n\
mov r9, r0\n\
str r1, [sp]\n\
str r2, [sp, 0x4]\n\
adds r5, r3, 0\n\
movs r0, 0x1\n\
mov r1, r9\n\
ands r0, r1\n\
cmp r0, 0\n\
bne _0803473C\n\
b _080348D4\n\
_0803473C:\n\
asrs r0, r1, 1\n\
adds r0, 0x4\n\
lsls r0, 24\n\
lsrs r0, 24\n\
str r0, [sp, 0x8]\n\
movs r0, 0\n\
ldr r2, [sp]\n\
cmp r0, r2\n\
blt _08034750\n\
b _08034964\n\
asrs r0, r1, 1\n\
adds r0, 0x4\n\
lsls r0, 24\n\
lsrs r0, 24\n\
str r0, [sp, 0x8]\n\
movs r0, 0\n\
ldr r2, [sp]\n\
cmp r0, r2\n\
blt _08034750\n\
b _08034964\n\
_08034750:\n\
movs r4, 0x8\n\
subs r1, r4, r1\n\
str r1, [sp, 0x10]\n\
movs r4, 0x8\n\
subs r1, r4, r1\n\
str r1, [sp, 0x10]\n\
_08034756:\n\
movs r7, 0\n\
adds r0, 0x1\n\
str r0, [sp, 0x14]\n\
ldr r0, [sp, 0x10]\n\
cmp r7, r0\n\
bge _080347D2\n\
ldr r1, [sp, 0x8]\n\
lsls r1, 8\n\
str r1, [sp, 0x18]\n\
movs r2, 0\n\
mov r10, r2\n\
mov r0, r9\n\
movs r4, 0x8\n\
subs r0, r4, r0\n\
str r0, [sp, 0xC]\n\
movs r7, 0\n\
adds r0, 0x1\n\
str r0, [sp, 0x14]\n\
ldr r0, [sp, 0x10]\n\
cmp r7, r0\n\
bge _080347D2\n\
ldr r1, [sp, 0x8]\n\
lsls r1, 8\n\
str r1, [sp, 0x18]\n\
movs r2, 0\n\
mov r10, r2\n\
mov r0, r9\n\
movs r4, 0x8\n\
subs r0, r4, r0\n\
str r0, [sp, 0xC]\n\
_08034774:\n\
movs r3, 0\n\
asrs r0, r7, 1\n\
adds r1, r7, 0\n\
movs r2, 0x1\n\
ands r1, r2\n\
str r1, [sp, 0x20]\n\
lsls r0, 8\n\
mov r8, r0\n\
mov r12, r5\n\
movs r3, 0\n\
asrs r0, r7, 1\n\
adds r1, r7, 0\n\
movs r2, 0x1\n\
ands r1, r2\n\
str r1, [sp, 0x20]\n\
lsls r0, 8\n\
mov r8, r0\n\
mov r12, r5\n\
_08034786:\n\
lsls r1, r3, 5\n\
ldr r4, [sp, 0x18]\n\
adds r0, r5, r4\n\
adds r0, r1\n\
mov r1, r8\n\
adds r2, r0, r1\n\
mov r1, r12\n\
add r1, r8\n\
movs r6, 0xF\n\
lsls r1, r3, 5\n\
ldr r4, [sp, 0x18]\n\
adds r0, r5, r4\n\
adds r0, r1\n\
mov r1, r8\n\
adds r2, r0, r1\n\
mov r1, r12\n\
add r1, r8\n\
movs r6, 0xF\n\
_08034798:\n\
ldr r4, [sp, 0x20]\n\
cmp r4, 0\n\
bne _080347A8\n\
strb r4, [r1]\n\
add r4, sp, 0x20\n\
ldrb r4, [r4]\n\
strb r4, [r2, 0x10]\n\
b _080347B6\n\
ldr r4, [sp, 0x20]\n\
cmp r4, 0\n\
bne _080347A8\n\
strb r4, [r1]\n\
add r4, sp, 0x20\n\
ldrb r4, [r4]\n\
strb r4, [r2, 0x10]\n\
b _080347B6\n\
_080347A8:\n\
mov r0, r10\n\
strb r0, [r1, 0x10]\n\
movs r4, 0x80\n\
lsls r4, 1\n\
adds r4, r2, r4\n\
str r4, [sp, 0x1C]\n\
strb r0, [r4]\n\
mov r0, r10\n\
strb r0, [r1, 0x10]\n\
movs r4, 0x80\n\
lsls r4, 1\n\
adds r4, r2, r4\n\
str r4, [sp, 0x1C]\n\
strb r0, [r4]\n\
_080347B6:\n\
adds r2, 0x1\n\
adds r1, 0x1\n\
subs r6, 0x1\n\
cmp r6, 0\n\
bge _08034798\n\
movs r0, 0x20\n\
add r12, r0\n\
adds r3, 0x1\n\
cmp r3, 0x7\n\
ble _08034786\n\
adds r7, 0x1\n\
ldr r1, [sp, 0xC]\n\
cmp r7, r1\n\
blt _08034774\n\
adds r2, 0x1\n\
adds r1, 0x1\n\
subs r6, 0x1\n\
cmp r6, 0\n\
bge _08034798\n\
movs r0, 0x20\n\
add r12, r0\n\
adds r3, 0x1\n\
cmp r3, 0x7\n\
ble _08034786\n\
adds r7, 0x1\n\
ldr r1, [sp, 0xC]\n\
cmp r7, r1\n\
blt _08034774\n\
_080347D2:\n\
movs r7, 0\n\
movs r2, 0\n\
movs r7, 0\n\
movs r2, 0\n\
_080347D6:\n\
movs r6, 0\n\
adds r4, r7, 0x1\n\
mov r8, r4\n\
lsls r4, r7, 5\n\
movs r6, 0\n\
adds r4, r7, 0x1\n\
mov r8, r4\n\
lsls r4, r7, 5\n\
_080347DE:\n\
adds r0, r6, 0x1\n\
mov r10, r0\n\
lsls r1, r6, 8\n\
adds r0, r1, 0\n\
adds r0, 0xC0\n\
adds r0, r5, r0\n\
adds r0, r4\n\
adds r1, r5, r1\n\
adds r1, r4\n\
movs r3, 0x1F\n\
adds r0, r6, 0x1\n\
mov r10, r0\n\
lsls r1, r6, 8\n\
adds r0, r1, 0\n\
adds r0, 0xC0\n\
adds r0, r5, r0\n\
adds r0, r4\n\
adds r1, r5, r1\n\
adds r1, r4\n\
movs r3, 0x1F\n\
_080347F2:\n\
strb r2, [r1]\n\
strb r2, [r0]\n\
adds r0, 0x1\n\
adds r1, 0x1\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _080347F2\n\
mov r6, r10\n\
cmp r6, 0x7\n\
ble _080347DE\n\
mov r7, r8\n\
cmp r7, 0x1\n\
ble _080347D6\n\
mov r1, r9\n\
cmp r1, 0x5\n\
bne _08034818\n\
movs r2, 0x90\n\
lsls r2, 1\n\
adds r5, r2\n\
strb r2, [r1]\n\
strb r2, [r0]\n\
adds r0, 0x1\n\
adds r1, 0x1\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _080347F2\n\
mov r6, r10\n\
cmp r6, 0x7\n\
ble _080347DE\n\
mov r7, r8\n\
cmp r7, 0x1\n\
ble _080347D6\n\
mov r1, r9\n\
cmp r1, 0x5\n\
bne _08034818\n\
movs r2, 0x90\n\
lsls r2, 1\n\
adds r5, r2\n\
_08034818:\n\
movs r7, 0\n\
cmp r7, r9\n\
bge _080348AE\n\
movs r7, 0\n\
cmp r7, r9\n\
bge _080348AE\n\
_0803481E:\n\
movs r3, 0\n\
adds r7, 0x1\n\
mov r8, r7\n\
cmp r3, r9\n\
bge _0803488E\n\
movs r3, 0\n\
adds r7, 0x1\n\
mov r8, r7\n\
cmp r3, r9\n\
bge _0803488E\n\
_08034828:\n\
adds r3, 0x1\n\
mov r10, r3\n\
ldr r4, [sp, 0x4]\n\
adds r4, 0x20\n\
adds r7, r5, 0\n\
adds r7, 0x20\n\
movs r0, 0x12\n\
adds r0, r5\n\
mov r12, r0\n\
ldr r2, [sp, 0x4]\n\
adds r3, r5, 0\n\
movs r6, 0x3\n\
adds r3, 0x1\n\
mov r10, r3\n\
ldr r4, [sp, 0x4]\n\
adds r4, 0x20\n\
adds r7, r5, 0\n\
adds r7, 0x20\n\
movs r0, 0x12\n\
adds r0, r5\n\
mov r12, r0\n\
ldr r2, [sp, 0x4]\n\
adds r3, r5, 0\n\
movs r6, 0x3\n\
_08034840:\n\
ldrb r0, [r2]\n\
mov r1, r12\n\
strb r0, [r1]\n\
ldrb r0, [r2, 0x1]\n\
strb r0, [r1, 0x1]\n\
ldrb r0, [r2, 0x2]\n\
strb r0, [r1, 0x1E]\n\
ldrb r0, [r2, 0x3]\n\
strb r0, [r1, 0x1F]\n\
movs r0, 0x81\n\
lsls r0, 1\n\
adds r1, r3, r0\n\
ldrb r0, [r2, 0x10]\n\
strb r0, [r1]\n\
ldr r0, =0x00000103\n\
adds r1, r3, r0\n\
ldrb r0, [r2, 0x11]\n\
strb r0, [r1]\n\
movs r0, 0x90\n\
lsls r0, 1\n\
adds r1, r3, r0\n\
ldrb r0, [r2, 0x12]\n\
strb r0, [r1]\n\
ldr r0, =0x00000121\n\
adds r1, r3, r0\n\
ldrb r0, [r2, 0x13]\n\
strb r0, [r1]\n\
movs r1, 0x4\n\
add r12, r1\n\
adds r2, 0x4\n\
adds r3, 0x4\n\
subs r6, 0x1\n\
cmp r6, 0\n\
bge _08034840\n\
str r4, [sp, 0x4]\n\
adds r5, r7, 0\n\
mov r3, r10\n\
cmp r3, r9\n\
blt _08034828\n\
ldrb r0, [r2]\n\
mov r1, r12\n\
strb r0, [r1]\n\
ldrb r0, [r2, 0x1]\n\
strb r0, [r1, 0x1]\n\
ldrb r0, [r2, 0x2]\n\
strb r0, [r1, 0x1E]\n\
ldrb r0, [r2, 0x3]\n\
strb r0, [r1, 0x1F]\n\
movs r0, 0x81\n\
lsls r0, 1\n\
adds r1, r3, r0\n\
ldrb r0, [r2, 0x10]\n\
strb r0, [r1]\n\
ldr r0, =0x00000103\n\
adds r1, r3, r0\n\
ldrb r0, [r2, 0x11]\n\
strb r0, [r1]\n\
movs r0, 0x90\n\
lsls r0, 1\n\
adds r1, r3, r0\n\
ldrb r0, [r2, 0x12]\n\
strb r0, [r1]\n\
ldr r0, =0x00000121\n\
adds r1, r3, r0\n\
ldrb r0, [r2, 0x13]\n\
strb r0, [r1]\n\
movs r1, 0x4\n\
add r12, r1\n\
adds r2, 0x4\n\
adds r3, 0x4\n\
subs r6, 0x1\n\
cmp r6, 0\n\
bge _08034840\n\
str r4, [sp, 0x4]\n\
adds r5, r7, 0\n\
mov r3, r10\n\
cmp r3, r9\n\
blt _08034828\n\
_0803488E:\n\
mov r2, r9\n\
cmp r2, 0x7\n\
bne _080348A0\n\
adds r5, 0x20\n\
b _080348A8\n\
.pool\n\
mov r2, r9\n\
cmp r2, 0x7\n\
bne _080348A0\n\
adds r5, 0x20\n\
b _080348A8\n\
.pool\n\
_080348A0:\n\
mov r4, r9\n\
cmp r4, 0x5\n\
bne _080348A8\n\
adds r5, 0x60\n\
mov r4, r9\n\
cmp r4, 0x5\n\
bne _080348A8\n\
adds r5, 0x60\n\
_080348A8:\n\
mov r7, r8\n\
cmp r7, r9\n\
blt _0803481E\n\
mov r7, r8\n\
cmp r7, r9\n\
blt _0803481E\n\
_080348AE:\n\
mov r0, r9\n\
cmp r0, 0x7\n\
bne _080348BC\n\
movs r1, 0x80\n\
lsls r1, 1\n\
adds r5, r1\n\
b _080348C8\n\
mov r0, r9\n\
cmp r0, 0x7\n\
bne _080348BC\n\
movs r1, 0x80\n\
lsls r1, 1\n\
adds r5, r1\n\
b _080348C8\n\
_080348BC:\n\
mov r2, r9\n\
cmp r2, 0x5\n\
bne _080348C8\n\
movs r4, 0xF0\n\
lsls r4, 1\n\
adds r5, r4\n\
mov r2, r9\n\
cmp r2, 0x5\n\
bne _080348C8\n\
movs r4, 0xF0\n\
lsls r4, 1\n\
adds r5, r4\n\
_080348C8:\n\
ldr r0, [sp, 0x14]\n\
ldr r1, [sp]\n\
cmp r0, r1\n\
bge _080348D2\n\
b _08034756\n\
ldr r0, [sp, 0x14]\n\
ldr r1, [sp]\n\
cmp r0, r1\n\
bge _080348D2\n\
b _08034756\n\
_080348D2:\n\
b _08034964\n\
b _08034964\n\
_080348D4:\n\
movs r6, 0\n\
ldr r2, [sp]\n\
cmp r6, r2\n\
bge _08034964\n\
movs r6, 0\n\
ldr r2, [sp]\n\
cmp r6, r2\n\
bge _08034964\n\
_080348DC:\n\
adds r6, 0x1\n\
mov r10, r6\n\
mov r4, r9\n\
cmp r4, 0x6\n\
bne _080348F4\n\
movs r0, 0\n\
movs r3, 0xFF\n\
adds r6, 0x1\n\
mov r10, r6\n\
mov r4, r9\n\
cmp r4, 0x6\n\
bne _080348F4\n\
movs r0, 0\n\
movs r3, 0xFF\n\
_080348EA:\n\
strb r0, [r5]\n\
adds r5, 0x1\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _080348EA\n\
strb r0, [r5]\n\
adds r5, 0x1\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _080348EA\n\
_080348F4:\n\
movs r7, 0\n\
cmp r7, r9\n\
bge _08034948\n\
movs r7, 0\n\
cmp r7, r9\n\
bge _08034948\n\
_080348FA:\n\
adds r7, 0x1\n\
mov r8, r7\n\
mov r1, r9\n\
lsls r0, r1, 5\n\
cmp r1, 0x6\n\
bne _08034914\n\
movs r1, 0\n\
movs r3, 0x1F\n\
adds r7, 0x1\n\
mov r8, r7\n\
mov r1, r9\n\
lsls r0, r1, 5\n\
cmp r1, 0x6\n\
bne _08034914\n\
movs r1, 0\n\
movs r3, 0x1F\n\
_0803490A:\n\
strb r1, [r5]\n\
adds r5, 0x1\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _0803490A\n\
strb r1, [r5]\n\
adds r5, 0x1\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _0803490A\n\
_08034914:\n\
adds r1, r0, 0\n\
cmp r1, 0\n\
ble _0803492E\n\
adds r3, r1, 0\n\
adds r1, r0, 0\n\
cmp r1, 0\n\
ble _0803492E\n\
adds r3, r1, 0\n\
_0803491C:\n\
ldr r2, [sp, 0x4]\n\
ldrb r0, [r2]\n\
strb r0, [r5]\n\
adds r2, 0x1\n\
str r2, [sp, 0x4]\n\
adds r5, 0x1\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bne _0803491C\n\
ldr r2, [sp, 0x4]\n\
ldrb r0, [r2]\n\
strb r0, [r5]\n\
adds r2, 0x1\n\
str r2, [sp, 0x4]\n\
adds r5, 0x1\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bne _0803491C\n\
_0803492E:\n\
mov r4, r9\n\
cmp r4, 0x6\n\
bne _08034942\n\
movs r0, 0\n\
movs r3, 0x1F\n\
mov r4, r9\n\
cmp r4, 0x6\n\
bne _08034942\n\
movs r0, 0\n\
movs r3, 0x1F\n\
_08034938:\n\
strb r0, [r5]\n\
adds r5, 0x1\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _08034938\n\
strb r0, [r5]\n\
adds r5, 0x1\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _08034938\n\
_08034942:\n\
mov r7, r8\n\
cmp r7, r9\n\
blt _080348FA\n\
mov r7, r8\n\
cmp r7, r9\n\
blt _080348FA\n\
_08034948:\n\
mov r0, r9\n\
cmp r0, 0x6\n\
bne _0803495C\n\
movs r0, 0\n\
movs r3, 0xFF\n\
mov r0, r9\n\
cmp r0, 0x6\n\
bne _0803495C\n\
movs r0, 0\n\
movs r3, 0xFF\n\
_08034952:\n\
strb r0, [r5]\n\
adds r5, 0x1\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _08034952\n\
strb r0, [r5]\n\
adds r5, 0x1\n\
subs r3, 0x1\n\
cmp r3, 0\n\
bge _08034952\n\
_0803495C:\n\
mov r6, r10\n\
ldr r1, [sp]\n\
cmp r6, r1\n\
blt _080348DC\n\
mov r6, r10\n\
ldr r1, [sp]\n\
cmp r6, r1\n\
blt _080348DC\n\
_08034964:\n\
add sp, 0x24\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
add sp, 0x24\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.syntax divided");
}
u32 GetDecompressedDataSize(const u32 *ptr)
{
const u8 *ptr8 = (const u8 *)ptr;
const u8 *ptr8 = (const u8 *)ptr;
return (ptr8[3] << 16) | (ptr8[2] << 8) | (ptr8[1]);
}

View File

@ -1,7 +1,7 @@
#include "global.h"
#include "constants/decorations.h"
#include "decompress.h"
#include "malloc.h"
#include "alloc.h"
#include "text.h"
#include "string_util.h"
#include "international_string_util.h"
@ -312,7 +312,7 @@ const struct SpriteFrameImage sDecorSelectorSpriteFrameImages = {
};
const struct SpriteTemplate sDecorSelectorSpriteTemplate = {
0xffff,
0xFFFF,
OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG,
&sDecorSelectorOam,
sDecorSelectorAnims,

View File

@ -3,7 +3,7 @@
#include "easy_chat.h"
#include "event_data.h"
#include "link.h"
#include "malloc.h"
#include "alloc.h"
#include "random.h"
#include "text.h"
#include "tv.h"

View File

@ -5,7 +5,7 @@
#include "gpu_regs.h"
#include "scanline_effect.h"
#include "task.h"
#include "malloc.h"
#include "alloc.h"
#include "decompress.h"
#include "bg.h"
#include "window.h"

View File

@ -1,7 +1,7 @@
// Includes
#include "global.h"
#include "malloc.h"
#include "alloc.h"
#include "constants/songs.h"
#include "sound.h"
#include "overworld.h"

View File

@ -17,7 +17,7 @@
#include "menu.h"
#include "trig.h"
#include "random.h"
#include "malloc.h"
#include "alloc.h"
#include "dma3.h"
#include "gpu_regs.h"
#include "bg.h"

View File

@ -9,7 +9,7 @@
#include "field_effect_helpers.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
#include "malloc.h"
#include "alloc.h"
#include "mauville_old_man.h"
#include "metatile_behavior.h"
#include "overworld.h"
@ -142,255 +142,255 @@ void (*const gCameraObjectFuncs[])(struct Sprite *) = {
// movement type callbacks
static void (*const sMovementTypeCallbacks[])(struct Sprite *) =
{
MovementType_None, // MOVEMENT_TYPE_NONE
MovementType_LookAround, // MOVEMENT_TYPE_LOOK_AROUND
MovementType_WanderAround, // MOVEMENT_TYPE_WANDER_AROUND
MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN
MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP
MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT
MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT
MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_UP
MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_DOWN
MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_LEFT
MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_RIGHT
MovementType_Player, // MOVEMENT_TYPE_PLAYER
MovementType_BerryTreeGrowth, // MOVEMENT_TYPE_BERRY_TREE_GROWTH
MovementType_FaceDownAndUp, // MOVEMENT_TYPE_FACE_DOWN_AND_UP
MovementType_FaceLeftAndRight, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT
MovementType_FaceUpAndLeft, // MOVEMENT_TYPE_FACE_UP_AND_LEFT
MovementType_FaceUpAndRight, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT
MovementType_FaceDownAndLeft, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT
MovementType_FaceDownAndRight, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT
MovementType_FaceDownUpAndLeft, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT
MovementType_FaceDownUpAndRight, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT
MovementType_FaceUpRightAndLeft, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT
MovementType_FaceDownRightAndLeft, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT
MovementType_RotateCounterclockwise, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE
MovementType_RotateClockwise, // MOVEMENT_TYPE_ROTATE_CLOCKWISE
MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_UP_AND_DOWN
MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_DOWN_AND_UP
MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT
MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT
MovementType_WalkSequenceUpRightLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN
MovementType_WalkSequenceRightLeftDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP
MovementType_WalkSequenceDownUpRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT
MovementType_WalkSequenceLeftDownUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT
MovementType_WalkSequenceUpLeftRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN
MovementType_WalkSequenceLeftRightDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP
MovementType_WalkSequenceDownUpLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT
MovementType_WalkSequenceRightDownUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT
MovementType_WalkSequenceLeftUpDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT
MovementType_WalkSequenceUpDownRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT
MovementType_WalkSequenceRightLeftUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN
MovementType_WalkSequenceDownRightLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP
MovementType_WalkSequenceRightUpDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT
MovementType_WalkSequenceUpDownLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT
MovementType_WalkSequenceLeftRightUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN
MovementType_WalkSequenceDownLeftRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP
MovementType_WalkSequenceUpLeftDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT
MovementType_WalkSequenceDownRightUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT
MovementType_WalkSequenceLeftDownRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP
MovementType_WalkSequenceRightUpLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN
MovementType_WalkSequenceUpRightDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT
MovementType_WalkSequenceDownLeftUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT
MovementType_WalkSequenceLeftUpRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN
MovementType_WalkSequenceRightDownLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP
MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER
MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE
MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE
MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE
MovementType_TreeDisguise, // MOVEMENT_TYPE_TREE_DISGUISE
MovementType_MountainDisguise, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE
MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS
MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS
MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS
MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS
MovementType_Hidden, // MOVEMENT_TYPE_HIDDEN
MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN
MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_UP
MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT
MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT
MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN
MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_UP
MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT
MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT
MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN
MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_UP
MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT
MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT
MovementType_Invisible, // MOVEMENT_TYPE_INVISIBLE
MovementType_WalkSlowlyInPlace, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN
MovementType_WalkSlowlyInPlace, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP
MovementType_WalkSlowlyInPlace, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT
MovementType_WalkSlowlyInPlace, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT
[MOVEMENT_TYPE_NONE] = MovementType_None,
[MOVEMENT_TYPE_LOOK_AROUND] = MovementType_LookAround,
[MOVEMENT_TYPE_WANDER_AROUND] = MovementType_WanderAround,
[MOVEMENT_TYPE_WANDER_UP_AND_DOWN] = MovementType_WanderUpAndDown,
[MOVEMENT_TYPE_WANDER_DOWN_AND_UP] = MovementType_WanderUpAndDown,
[MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT] = MovementType_WanderLeftAndRight,
[MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT] = MovementType_WanderLeftAndRight,
[MOVEMENT_TYPE_FACE_UP] = MovementType_FaceDirection,
[MOVEMENT_TYPE_FACE_DOWN] = MovementType_FaceDirection,
[MOVEMENT_TYPE_FACE_LEFT] = MovementType_FaceDirection,
[MOVEMENT_TYPE_FACE_RIGHT] = MovementType_FaceDirection,
[MOVEMENT_TYPE_PLAYER] = MovementType_Player,
[MOVEMENT_TYPE_BERRY_TREE_GROWTH] = MovementType_BerryTreeGrowth,
[MOVEMENT_TYPE_FACE_DOWN_AND_UP] = MovementType_FaceDownAndUp,
[MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT] = MovementType_FaceLeftAndRight,
[MOVEMENT_TYPE_FACE_UP_AND_LEFT] = MovementType_FaceUpAndLeft,
[MOVEMENT_TYPE_FACE_UP_AND_RIGHT] = MovementType_FaceUpAndRight,
[MOVEMENT_TYPE_FACE_DOWN_AND_LEFT] = MovementType_FaceDownAndLeft,
[MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT] = MovementType_FaceDownAndRight,
[MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT] = MovementType_FaceDownUpAndLeft,
[MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT] = MovementType_FaceDownUpAndRight,
[MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT] = MovementType_FaceUpRightAndLeft,
[MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT] = MovementType_FaceDownRightAndLeft,
[MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE] = MovementType_RotateCounterclockwise,
[MOVEMENT_TYPE_ROTATE_CLOCKWISE] = MovementType_RotateClockwise,
[MOVEMENT_TYPE_WALK_UP_AND_DOWN] = MovementType_WalkBackAndForth,
[MOVEMENT_TYPE_WALK_DOWN_AND_UP] = MovementType_WalkBackAndForth,
[MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT] = MovementType_WalkBackAndForth,
[MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT] = MovementType_WalkBackAndForth,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN] = MovementType_WalkSequenceUpRightLeftDown,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP] = MovementType_WalkSequenceRightLeftDownUp,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT] = MovementType_WalkSequenceDownUpRightLeft,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT] = MovementType_WalkSequenceLeftDownUpRight,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN] = MovementType_WalkSequenceUpLeftRightDown,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP] = MovementType_WalkSequenceLeftRightDownUp,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT] = MovementType_WalkSequenceDownUpLeftRight,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT] = MovementType_WalkSequenceRightDownUpLeft,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT] = MovementType_WalkSequenceLeftUpDownRight,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT] = MovementType_WalkSequenceUpDownRightLeft,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN] = MovementType_WalkSequenceRightLeftUpDown,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP] = MovementType_WalkSequenceDownRightLeftUp,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT] = MovementType_WalkSequenceRightUpDownLeft,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT] = MovementType_WalkSequenceUpDownLeftRight,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN] = MovementType_WalkSequenceLeftRightUpDown,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP] = MovementType_WalkSequenceDownLeftRightUp,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT] = MovementType_WalkSequenceUpLeftDownRight,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT] = MovementType_WalkSequenceDownRightUpLeft,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP] = MovementType_WalkSequenceLeftDownRightUp,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN] = MovementType_WalkSequenceRightUpLeftDown,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT] = MovementType_WalkSequenceUpRightDownLeft,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT] = MovementType_WalkSequenceDownLeftUpRight,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN] = MovementType_WalkSequenceLeftUpRightDown,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP] = MovementType_WalkSequenceRightDownLeftUp,
[MOVEMENT_TYPE_COPY_PLAYER] = MovementType_CopyPlayer,
[MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE] = MovementType_CopyPlayer,
[MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE] = MovementType_CopyPlayer,
[MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE] = MovementType_CopyPlayer,
[MOVEMENT_TYPE_TREE_DISGUISE] = MovementType_TreeDisguise,
[MOVEMENT_TYPE_MOUNTAIN_DISGUISE] = MovementType_MountainDisguise,
[MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS] = MovementType_CopyPlayerInGrass,
[MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS] = MovementType_CopyPlayerInGrass,
[MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS] = MovementType_CopyPlayerInGrass,
[MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS] = MovementType_CopyPlayerInGrass,
[MOVEMENT_TYPE_HIDDEN] = MovementType_Hidden,
[MOVEMENT_TYPE_WALK_IN_PLACE_DOWN] = MovementType_WalkInPlace,
[MOVEMENT_TYPE_WALK_IN_PLACE_UP] = MovementType_WalkInPlace,
[MOVEMENT_TYPE_WALK_IN_PLACE_LEFT] = MovementType_WalkInPlace,
[MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT] = MovementType_WalkInPlace,
[MOVEMENT_TYPE_JOG_IN_PLACE_DOWN] = MovementType_JogInPlace,
[MOVEMENT_TYPE_JOG_IN_PLACE_UP] = MovementType_JogInPlace,
[MOVEMENT_TYPE_JOG_IN_PLACE_LEFT] = MovementType_JogInPlace,
[MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT] = MovementType_JogInPlace,
[MOVEMENT_TYPE_RUN_IN_PLACE_DOWN] = MovementType_RunInPlace,
[MOVEMENT_TYPE_RUN_IN_PLACE_UP] = MovementType_RunInPlace,
[MOVEMENT_TYPE_RUN_IN_PLACE_LEFT] = MovementType_RunInPlace,
[MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT] = MovementType_RunInPlace,
[MOVEMENT_TYPE_INVISIBLE] = MovementType_Invisible,
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN] = MovementType_WalkSlowlyInPlace,
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP] = MovementType_WalkSlowlyInPlace,
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT] = MovementType_WalkSlowlyInPlace,
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = MovementType_WalkSlowlyInPlace,
};
const u8 gRangedMovementTypes[] = {
0, // MOVEMENT_TYPE_NONE
0, // MOVEMENT_TYPE_LOOK_AROUND
1, // MOVEMENT_TYPE_WANDER_AROUND
1, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN
1, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP
1, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT
1, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT
0, // MOVEMENT_TYPE_FACE_UP
0, // MOVEMENT_TYPE_FACE_DOWN
0, // MOVEMENT_TYPE_FACE_LEFT
0, // MOVEMENT_TYPE_FACE_RIGHT
0, // MOVEMENT_TYPE_PLAYER
0, // MOVEMENT_TYPE_BERRY_TREE_GROWTH
0, // MOVEMENT_TYPE_FACE_DOWN_AND_UP
0, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT
0, // MOVEMENT_TYPE_FACE_UP_AND_LEFT
0, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT
0, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT
0, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT
0, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT
0, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT
0, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT
0, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT
0, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE
0, // MOVEMENT_TYPE_ROTATE_CLOCKWISE
1, // MOVEMENT_TYPE_WALK_UP_AND_DOWN
1, // MOVEMENT_TYPE_WALK_DOWN_AND_UP
1, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT
1, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN
1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP
1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN
1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP
1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN
1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP
1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN
1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP
1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP
1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN
1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT
1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN
1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP
1, // MOVEMENT_TYPE_COPY_PLAYER
1, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE
1, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE
1, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE
0, // MOVEMENT_TYPE_TREE_DISGUISE
0, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE
1, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS
1, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS
1, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS
1, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS
0, // MOVEMENT_TYPE_HIDDEN
0, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN
0, // MOVEMENT_TYPE_WALK_IN_PLACE_UP
0, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT
0, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT
0, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN
0, // MOVEMENT_TYPE_JOG_IN_PLACE_UP
0, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT
0, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT
0, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN
0, // MOVEMENT_TYPE_RUN_IN_PLACE_UP
0, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT
0, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT
0, // MOVEMENT_TYPE_INVISIBLE
0, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN
0, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP
0, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT
0, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT
[MOVEMENT_TYPE_NONE] = 0,
[MOVEMENT_TYPE_LOOK_AROUND] = 0,
[MOVEMENT_TYPE_WANDER_AROUND] = 1,
[MOVEMENT_TYPE_WANDER_UP_AND_DOWN] = 1,
[MOVEMENT_TYPE_WANDER_DOWN_AND_UP] = 1,
[MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT] = 1,
[MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT] = 1,
[MOVEMENT_TYPE_FACE_UP] = 0,
[MOVEMENT_TYPE_FACE_DOWN] = 0,
[MOVEMENT_TYPE_FACE_LEFT] = 0,
[MOVEMENT_TYPE_FACE_RIGHT] = 0,
[MOVEMENT_TYPE_PLAYER] = 0,
[MOVEMENT_TYPE_BERRY_TREE_GROWTH] = 0,
[MOVEMENT_TYPE_FACE_DOWN_AND_UP] = 0,
[MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT] = 0,
[MOVEMENT_TYPE_FACE_UP_AND_LEFT] = 0,
[MOVEMENT_TYPE_FACE_UP_AND_RIGHT] = 0,
[MOVEMENT_TYPE_FACE_DOWN_AND_LEFT] = 0,
[MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT] = 0,
[MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT] = 0,
[MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT] = 0,
[MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT] = 0,
[MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT] = 0,
[MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE] = 0,
[MOVEMENT_TYPE_ROTATE_CLOCKWISE] = 0,
[MOVEMENT_TYPE_WALK_UP_AND_DOWN] = 1,
[MOVEMENT_TYPE_WALK_DOWN_AND_UP] = 1,
[MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT] = 1,
[MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN] = 1,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP] = 1,
[MOVEMENT_TYPE_COPY_PLAYER] = 1,
[MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE] = 1,
[MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE] = 1,
[MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE] = 1,
[MOVEMENT_TYPE_TREE_DISGUISE] = 0,
[MOVEMENT_TYPE_MOUNTAIN_DISGUISE] = 0,
[MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS] = 1,
[MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS] = 1,
[MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS] = 1,
[MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS] = 1,
[MOVEMENT_TYPE_HIDDEN] = 0,
[MOVEMENT_TYPE_WALK_IN_PLACE_DOWN] = 0,
[MOVEMENT_TYPE_WALK_IN_PLACE_UP] = 0,
[MOVEMENT_TYPE_WALK_IN_PLACE_LEFT] = 0,
[MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT] = 0,
[MOVEMENT_TYPE_JOG_IN_PLACE_DOWN] = 0,
[MOVEMENT_TYPE_JOG_IN_PLACE_UP] = 0,
[MOVEMENT_TYPE_JOG_IN_PLACE_LEFT] = 0,
[MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT] = 0,
[MOVEMENT_TYPE_RUN_IN_PLACE_DOWN] = 0,
[MOVEMENT_TYPE_RUN_IN_PLACE_UP] = 0,
[MOVEMENT_TYPE_RUN_IN_PLACE_LEFT] = 0,
[MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT] = 0,
[MOVEMENT_TYPE_INVISIBLE] = 0,
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN] = 0,
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP] = 0,
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT] = 0,
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = 0,
};
const u8 gInitialMovementTypeFacingDirections[] = {
DIR_SOUTH, // MOVEMENT_TYPE_NONE
DIR_SOUTH, // MOVEMENT_TYPE_LOOK_AROUND
DIR_SOUTH, // MOVEMENT_TYPE_WANDER_AROUND
DIR_NORTH, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN
DIR_SOUTH, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP
DIR_WEST, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT
DIR_EAST, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT
DIR_NORTH, // MOVEMENT_TYPE_FACE_UP
DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN
DIR_WEST, // MOVEMENT_TYPE_FACE_LEFT
DIR_EAST, // MOVEMENT_TYPE_FACE_RIGHT
DIR_SOUTH, // MOVEMENT_TYPE_PLAYER
DIR_SOUTH, // MOVEMENT_TYPE_BERRY_TREE_GROWTH
DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_UP
DIR_WEST, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT
DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_AND_LEFT
DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT
DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT
DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT
DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT
DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT
DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT
DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT
DIR_SOUTH, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE
DIR_SOUTH, // MOVEMENT_TYPE_ROTATE_CLOCKWISE
DIR_NORTH, // MOVEMENT_TYPE_WALK_UP_AND_DOWN
DIR_SOUTH, // MOVEMENT_TYPE_WALK_DOWN_AND_UP
DIR_WEST, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT
DIR_EAST, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT
DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN
DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP
DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT
DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT
DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN
DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP
DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT
DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT
DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT
DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT
DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN
DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP
DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT
DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT
DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN
DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP
DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT
DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT
DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP
DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN
DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT
DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT
DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN
DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP
DIR_NORTH, // MOVEMENT_TYPE_COPY_PLAYER
DIR_SOUTH, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE
DIR_WEST, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE
DIR_EAST, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE
DIR_SOUTH, // MOVEMENT_TYPE_TREE_DISGUISE
DIR_SOUTH, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE
DIR_NORTH, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS
DIR_SOUTH, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS
DIR_WEST, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS
DIR_EAST, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS
DIR_SOUTH, // MOVEMENT_TYPE_HIDDEN
DIR_SOUTH, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN
DIR_NORTH, // MOVEMENT_TYPE_WALK_IN_PLACE_UP
DIR_WEST, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT
DIR_EAST, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT
DIR_SOUTH, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN
DIR_NORTH, // MOVEMENT_TYPE_JOG_IN_PLACE_UP
DIR_WEST, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT
DIR_EAST, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT
DIR_SOUTH, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN
DIR_NORTH, // MOVEMENT_TYPE_RUN_IN_PLACE_UP
DIR_WEST, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT
DIR_EAST, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT
DIR_SOUTH, // MOVEMENT_TYPE_INVISIBLE
DIR_SOUTH, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN
DIR_NORTH, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP
DIR_WEST, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT
DIR_EAST, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT
[MOVEMENT_TYPE_NONE] = DIR_SOUTH,
[MOVEMENT_TYPE_LOOK_AROUND] = DIR_SOUTH,
[MOVEMENT_TYPE_WANDER_AROUND] = DIR_SOUTH,
[MOVEMENT_TYPE_WANDER_UP_AND_DOWN] = DIR_NORTH,
[MOVEMENT_TYPE_WANDER_DOWN_AND_UP] = DIR_SOUTH,
[MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT] = DIR_WEST,
[MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT] = DIR_EAST,
[MOVEMENT_TYPE_FACE_UP] = DIR_NORTH,
[MOVEMENT_TYPE_FACE_DOWN] = DIR_SOUTH,
[MOVEMENT_TYPE_FACE_LEFT] = DIR_WEST,
[MOVEMENT_TYPE_FACE_RIGHT] = DIR_EAST,
[MOVEMENT_TYPE_PLAYER] = DIR_SOUTH,
[MOVEMENT_TYPE_BERRY_TREE_GROWTH] = DIR_SOUTH,
[MOVEMENT_TYPE_FACE_DOWN_AND_UP] = DIR_SOUTH,
[MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT] = DIR_WEST,
[MOVEMENT_TYPE_FACE_UP_AND_LEFT] = DIR_NORTH,
[MOVEMENT_TYPE_FACE_UP_AND_RIGHT] = DIR_NORTH,
[MOVEMENT_TYPE_FACE_DOWN_AND_LEFT] = DIR_SOUTH,
[MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT] = DIR_SOUTH,
[MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT] = DIR_SOUTH,
[MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT] = DIR_SOUTH,
[MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT] = DIR_NORTH,
[MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT] = DIR_SOUTH,
[MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE] = DIR_SOUTH,
[MOVEMENT_TYPE_ROTATE_CLOCKWISE] = DIR_SOUTH,
[MOVEMENT_TYPE_WALK_UP_AND_DOWN] = DIR_NORTH,
[MOVEMENT_TYPE_WALK_DOWN_AND_UP] = DIR_SOUTH,
[MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT] = DIR_WEST,
[MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT] = DIR_EAST,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN] = DIR_NORTH,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP] = DIR_EAST,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT] = DIR_SOUTH,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT] = DIR_WEST,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN] = DIR_NORTH,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP] = DIR_WEST,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT] = DIR_SOUTH,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT] = DIR_EAST,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT] = DIR_WEST,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT] = DIR_NORTH,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN] = DIR_EAST,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP] = DIR_SOUTH,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT] = DIR_EAST,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT] = DIR_NORTH,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN] = DIR_WEST,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP] = DIR_SOUTH,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT] = DIR_NORTH,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT] = DIR_SOUTH,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP] = DIR_WEST,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN] = DIR_EAST,
[MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT] = DIR_NORTH,
[MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT] = DIR_SOUTH,
[MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN] = DIR_WEST,
[MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP] = DIR_EAST,
[MOVEMENT_TYPE_COPY_PLAYER] = DIR_NORTH,
[MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE] = DIR_SOUTH,
[MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE] = DIR_WEST,
[MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE] = DIR_EAST,
[MOVEMENT_TYPE_TREE_DISGUISE] = DIR_SOUTH,
[MOVEMENT_TYPE_MOUNTAIN_DISGUISE] = DIR_SOUTH,
[MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS] = DIR_NORTH,
[MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS] = DIR_SOUTH,
[MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS] = DIR_WEST,
[MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS] = DIR_EAST,
[MOVEMENT_TYPE_HIDDEN] = DIR_SOUTH,
[MOVEMENT_TYPE_WALK_IN_PLACE_DOWN] = DIR_SOUTH,
[MOVEMENT_TYPE_WALK_IN_PLACE_UP] = DIR_NORTH,
[MOVEMENT_TYPE_WALK_IN_PLACE_LEFT] = DIR_WEST,
[MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT] = DIR_EAST,
[MOVEMENT_TYPE_JOG_IN_PLACE_DOWN] = DIR_SOUTH,
[MOVEMENT_TYPE_JOG_IN_PLACE_UP] = DIR_NORTH,
[MOVEMENT_TYPE_JOG_IN_PLACE_LEFT] = DIR_WEST,
[MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT] = DIR_EAST,
[MOVEMENT_TYPE_RUN_IN_PLACE_DOWN] = DIR_SOUTH,
[MOVEMENT_TYPE_RUN_IN_PLACE_UP] = DIR_NORTH,
[MOVEMENT_TYPE_RUN_IN_PLACE_LEFT] = DIR_WEST,
[MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT] = DIR_EAST,
[MOVEMENT_TYPE_INVISIBLE] = DIR_SOUTH,
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN] = DIR_SOUTH,
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP] = DIR_NORTH,
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT] = DIR_WEST,
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = DIR_EAST,
};
#define EVENT_OBJ_PAL_TAG_0 0x1103
@ -668,181 +668,181 @@ const s16 gMovementDelaysShort[] = {32, 48, 64, 80};
#include "data/field_event_obj/movement_type_func_tables.h"
const u8 gFaceDirectionAnimNums[] = {
0, // DIR_NONE
0, // DIR_SOUTH
1, // DIR_NORTH
2, // DIR_WEST
3, // DIR_EAST
0, // DIR_SOUTHWEST
0, // DIR_SOUTHEAST
1, // DIR_NORTHWEST
1, // DIR_NORTHEAST
[DIR_NONE] = 0,
[DIR_SOUTH] = 0,
[DIR_NORTH] = 1,
[DIR_WEST] = 2,
[DIR_EAST] = 3,
[DIR_SOUTHWEST] = 0,
[DIR_SOUTHEAST] = 0,
[DIR_NORTHWEST] = 1,
[DIR_NORTHEAST] = 1,
};
const u8 gMoveDirectionAnimNums[] = {
4, // DIR_NONE
4, // DIR_SOUTH
5, // DIR_NORTH
6, // DIR_WEST
7, // DIR_EAST
4, // DIR_SOUTHWEST
4, // DIR_SOUTHEAST
5, // DIR_NORTHWEST
5, // DIR_NORTHEAST
[DIR_NONE] = 4,
[DIR_SOUTH] = 4,
[DIR_NORTH] = 5,
[DIR_WEST] = 6,
[DIR_EAST] = 7,
[DIR_SOUTHWEST] = 4,
[DIR_SOUTHEAST] = 4,
[DIR_NORTHWEST] = 5,
[DIR_NORTHEAST] = 5,
};
const u8 gMoveDirectionFastAnimNums[] = {
8, // DIR_NONE
8, // DIR_SOUTH
9, // DIR_NORTH
10, // DIR_WEST
11, // DIR_EAST
8, // DIR_SOUTHWEST
8, // DIR_SOUTHEAST
9, // DIR_NORTHWEST
9, // DIR_NORTHEAST
[DIR_NONE] = 8,
[DIR_SOUTH] = 8,
[DIR_NORTH] = 9,
[DIR_WEST] = 10,
[DIR_EAST] = 11,
[DIR_SOUTHWEST] = 8,
[DIR_SOUTHEAST] = 8,
[DIR_NORTHWEST] = 9,
[DIR_NORTHEAST] = 9,
};
const u8 gMoveDirectionFasterAnimNums[] = {
12, // DIR_NONE
12, // DIR_SOUTH
13, // DIR_NORTH
14, // DIR_WEST
15, // DIR_EAST
12, // DIR_SOUTHWEST
12, // DIR_SOUTHEAST
13, // DIR_NORTHWEST
13, // DIR_NORTHEAST
[DIR_NONE] = 12,
[DIR_SOUTH] = 12,
[DIR_NORTH] = 13,
[DIR_WEST] = 14,
[DIR_EAST] = 15,
[DIR_SOUTHWEST] = 12,
[DIR_SOUTHEAST] = 12,
[DIR_NORTHWEST] = 13,
[DIR_NORTHEAST] = 13,
};
const u8 gMoveDirectionFastestAnimNums[] = {
16, // DIR_NONE
16, // DIR_SOUTH
17, // DIR_NORTH
18, // DIR_WEST
19, // DIR_EAST
16, // DIR_SOUTHWEST
16, // DIR_SOUTHEAST
17, // DIR_NORTHWEST
17, // DIR_NORTHEAST
[DIR_NONE] = 16,
[DIR_SOUTH] = 16,
[DIR_NORTH] = 17,
[DIR_WEST] = 18,
[DIR_EAST] = 19,
[DIR_SOUTHWEST] = 16,
[DIR_SOUTHEAST] = 16,
[DIR_NORTHWEST] = 17,
[DIR_NORTHEAST] = 17,
};
const u8 gJumpSpecialDirectionAnimNums[] = { // used for jumping onto surf mon
20, // DIR_NONE
20, // DIR_SOUTH
21, // DIR_NORTH
22, // DIR_WEST
23, // DIR_EAST
20, // DIR_SOUTHWEST
20, // DIR_SOUTHEAST
21, // DIR_NORTHWEST
21, // DIR_NORTHEAST
[DIR_NONE] = 20,
[DIR_SOUTH] = 20,
[DIR_NORTH] = 21,
[DIR_WEST] = 22,
[DIR_EAST] = 23,
[DIR_SOUTHWEST] = 20,
[DIR_SOUTHEAST] = 20,
[DIR_NORTHWEST] = 21,
[DIR_NORTHEAST] = 21,
};
const u8 gAcroWheelieDirectionAnimNums[] = {
20, // DIR_NONE
20, // DIR_SOUTH
21, // DIR_NORTH
22, // DIR_WEST
23, // DIR_EAST
20, // DIR_SOUTHWEST
20, // DIR_SOUTHEAST
21, // DIR_NORTHWEST
21, // DIR_NORTHEAST
[DIR_NONE] = 20,
[DIR_SOUTH] = 20,
[DIR_NORTH] = 21,
[DIR_WEST] = 22,
[DIR_EAST] = 23,
[DIR_SOUTHWEST] = 20,
[DIR_SOUTHEAST] = 20,
[DIR_NORTHWEST] = 21,
[DIR_NORTHEAST] = 21,
};
const u8 gUnrefAnimNums_08375633[] = {
24, // DIR_NONE
24, // DIR_SOUTH
25, // DIR_NORTH
26, // DIR_WEST
27, // DIR_EAST
24, // DIR_SOUTHWEST
24, // DIR_SOUTHEAST
25, // DIR_NORTHWEST
25, // DIR_NORTHEAST
[DIR_NONE] = 24,
[DIR_SOUTH] = 24,
[DIR_NORTH] = 25,
[DIR_WEST] = 26,
[DIR_EAST] = 27,
[DIR_SOUTHWEST] = 24,
[DIR_SOUTHEAST] = 24,
[DIR_NORTHWEST] = 25,
[DIR_NORTHEAST] = 25,
};
const u8 gAcroEndWheelieDirectionAnimNums[] = {
28, // DIR_NONE
28, // DIR_SOUTH
29, // DIR_NORTH
30, // DIR_WEST
31, // DIR_EAST
28, // DIR_SOUTHWEST
28, // DIR_SOUTHEAST
29, // DIR_NORTHWEST
29, // DIR_NORTHEAST
[DIR_NONE] = 28,
[DIR_SOUTH] = 28,
[DIR_NORTH] = 29,
[DIR_WEST] = 30,
[DIR_EAST] = 31,
[DIR_SOUTHWEST] = 28,
[DIR_SOUTHEAST] = 28,
[DIR_NORTHWEST] = 29,
[DIR_NORTHEAST] = 29,
};
const u8 gAcroUnusedActionDirectionAnimNums[] = {
32, // DIR_NONE
32, // DIR_SOUTH
33, // DIR_NORTH
34, // DIR_WEST
35, // DIR_EAST
32, // DIR_SOUTHWEST
32, // DIR_SOUTHEAST
33, // DIR_NORTHWEST
33, // DIR_NORTHEAST
[DIR_NONE] = 32,
[DIR_SOUTH] = 32,
[DIR_NORTH] = 33,
[DIR_WEST] = 34,
[DIR_EAST] = 35,
[DIR_SOUTHWEST] = 32,
[DIR_SOUTHEAST] = 32,
[DIR_NORTHWEST] = 33,
[DIR_NORTHEAST] = 33,
};
const u8 gAcroWheeliePedalDirectionAnimNums[] = {
36, // DIR_NONE
36, // DIR_SOUTH
37, // DIR_NORTH
38, // DIR_WEST
39, // DIR_EAST
36, // DIR_SOUTHWEST
36, // DIR_SOUTHEAST
37, // DIR_NORTHWEST
37, // DIR_NORTHEAST
[DIR_NONE] = 36,
[DIR_SOUTH] = 36,
[DIR_NORTH] = 37,
[DIR_WEST] = 38,
[DIR_EAST] = 39,
[DIR_SOUTHWEST] = 36,
[DIR_SOUTHEAST] = 36,
[DIR_NORTHWEST] = 37,
[DIR_NORTHEAST] = 37,
};
const u8 gFishingDirectionAnimNums[] = {
0, // DIR_NONE
0, // DIR_SOUTH
1, // DIR_NORTH
2, // DIR_WEST
3, // DIR_EAST
0, // DIR_SOUTHWEST
0, // DIR_SOUTHEAST
1, // DIR_NORTHWEST
1, // DIR_NORTHEAST
[DIR_NONE] = 0,
[DIR_SOUTH] = 0,
[DIR_NORTH] = 1,
[DIR_WEST] = 2,
[DIR_EAST] = 3,
[DIR_SOUTHWEST] = 0,
[DIR_SOUTHEAST] = 0,
[DIR_NORTHWEST] = 1,
[DIR_NORTHEAST] = 1,
};
const u8 gFishingNoCatchDirectionAnimNums[] = {
4, // DIR_NONE
4, // DIR_SOUTH
5, // DIR_NORTH
6, // DIR_WEST
7, // DIR_EAST
4, // DIR_SOUTHWEST
4, // DIR_SOUTHEAST
5, // DIR_NORTHWEST
5, // DIR_NORTHEAST
[DIR_NONE] = 4,
[DIR_SOUTH] = 4,
[DIR_NORTH] = 5,
[DIR_WEST] = 6,
[DIR_EAST] = 7,
[DIR_SOUTHWEST] = 4,
[DIR_SOUTHEAST] = 4,
[DIR_NORTHWEST] = 5,
[DIR_NORTHEAST] = 5,
};
const u8 gFishingBiteDirectionAnimNums[] = {
8, // DIR_NONE
8, // DIR_SOUTH
9, // DIR_NORTH
10, // DIR_WEST
11, // DIR_EAST
8, // DIR_SOUTHWEST
8, // DIR_SOUTHEAST
9, // DIR_NORTHWEST
9, // DIR_NORTHEAST
[DIR_NONE] = 8,
[DIR_SOUTH] = 8,
[DIR_NORTH] = 9,
[DIR_WEST] = 10,
[DIR_EAST] = 11,
[DIR_SOUTHWEST] = 8,
[DIR_SOUTHEAST] = 8,
[DIR_NORTHWEST] = 9,
[DIR_NORTHEAST] = 9,
};
const u8 gRunningDirectionAnimNums[] = {
20, // DIR_NONE
20, // DIR_SOUTH
21, // DIR_NORTH
22, // DIR_WEST
23, // DIR_EAST
20, // DIR_SOUTHWEST
20, // DIR_SOUTHEAST
21, // DIR_NORTHWEST
21, // DIR_NORTHEAST
[DIR_NONE] = 20,
[DIR_SOUTH] = 20,
[DIR_NORTH] = 21,
[DIR_WEST] = 22,
[DIR_EAST] = 23,
[DIR_SOUTHWEST] = 20,
[DIR_SOUTHEAST] = 20,
[DIR_NORTHWEST] = 21,
[DIR_NORTHEAST] = 21,
};
const u8 gTrainerFacingDirectionMovementTypes[] = {
MOVEMENT_TYPE_FACE_DOWN, // DIR_NONE
MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTH
MOVEMENT_TYPE_FACE_UP, // DIR_NORTH
MOVEMENT_TYPE_FACE_LEFT, // DIR_WEST
MOVEMENT_TYPE_FACE_RIGHT, // DIR_EAST
MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTHWEST
MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTHEAST
MOVEMENT_TYPE_FACE_UP, // DIR_NORTHWEST
MOVEMENT_TYPE_FACE_UP, // DIR_NORTHEAST
[DIR_NONE] = MOVEMENT_TYPE_FACE_DOWN,
[DIR_SOUTH] = MOVEMENT_TYPE_FACE_DOWN,
[DIR_NORTH] = MOVEMENT_TYPE_FACE_UP,
[DIR_WEST] = MOVEMENT_TYPE_FACE_LEFT,
[DIR_EAST] = MOVEMENT_TYPE_FACE_RIGHT,
[DIR_SOUTHWEST] = MOVEMENT_TYPE_FACE_DOWN,
[DIR_SOUTHEAST] = MOVEMENT_TYPE_FACE_DOWN,
[DIR_NORTHWEST] = MOVEMENT_TYPE_FACE_UP,
[DIR_NORTHEAST] = MOVEMENT_TYPE_FACE_UP,
};
bool8 (*const gOppositeDirectionBlockedMetatileFuncs[])(u8) = {

View File

@ -2,7 +2,7 @@
#include "evolution_scene.h"
#include "evolution_graphics.h"
#include "sprite.h"
#include "malloc.h"
#include "alloc.h"
#include "task.h"
#include "palette.h"
#include "main.h"

View File

@ -305,7 +305,7 @@ const union AnimCmd *const gNewGameBirchImageAnimTable[] = {
};
const struct SpriteTemplate gNewGameBirchObjectTemplate = {
.tileTag = 0xffff,
.tileTag = 0xFFFF,
.paletteTag = 4102,
.oam = &gNewGameBirchOamAttributes,
.anims = gNewGameBirchImageAnimTable,
@ -383,7 +383,7 @@ const union AnimCmd *const gSpriteAnimTable_855C300[] = {
};
const struct SpriteTemplate gSpriteTemplate_855C304 = {
.tileTag = 0xffff,
.tileTag = 0xFFFF,
.paletteTag = 4103,
.oam = &gOamData_855C218,
.anims = gSpriteAnimTable_855C2F8,
@ -393,7 +393,7 @@ const struct SpriteTemplate gSpriteTemplate_855C304 = {
};
const struct SpriteTemplate gSpriteTemplate_855C31C = {
.tileTag = 0xffff,
.tileTag = 0xFFFF,
.paletteTag = 4100,
.oam = &gOamData_855C220,
.anims = gSpriteAnimTable_855C2F8,
@ -403,7 +403,7 @@ const struct SpriteTemplate gSpriteTemplate_855C31C = {
};
const struct SpriteTemplate gSpriteTemplate_855C334 = {
.tileTag = 0xffff,
.tileTag = 0xFFFF,
.paletteTag = 4112,
.oam = &gOamData_855C220,
.anims = gSpriteAnimTable_855C300,
@ -413,7 +413,7 @@ const struct SpriteTemplate gSpriteTemplate_855C334 = {
};
const struct SpriteTemplate gSpriteTemplate_855C34C = {
.tileTag = 0xffff,
.tileTag = 0xFFFF,
.paletteTag = 4112,
.oam = &gOamData_855C26C,
.anims = gSpriteAnimTable_855C300,
@ -3591,7 +3591,7 @@ const union AnimCmd *const gSpriteAnimTable_855C5DC[] = {
};
const struct SpriteTemplate gUnknown_0855C5EC = {
.tileTag = 0xffff,
.tileTag = 0xFFFF,
.paletteTag = 4378,
.oam = &gOamData_855C218,
.anims = gSpriteAnimTable_855C5DC,

View File

@ -1007,15 +1007,15 @@ void UpdateSurfBlobFieldEffect(struct Sprite *sprite)
static void SynchroniseSurfAnim(struct EventObject *eventObject, struct Sprite *sprite)
{
u8 surfBlobDirectionAnims[] = {
0, // DIR_NONE
0, // DIR_SOUTH
1, // DIR_NORTH
2, // DIR_WEST
3, // DIR_EAST
0,
0,
1,
1,
[DIR_NONE] = 0,
[DIR_SOUTH] = 0,
[DIR_NORTH] = 1,
[DIR_WEST] = 2,
[DIR_EAST] = 3,
[DIR_SOUTHWEST] = 0,
[DIR_SOUTHEAST] = 0,
[DIR_NORTHWEST] = 1,
[DIR_NORTHEAST] = 1,
};
if (sub_8155640(sprite) == 0)

View File

@ -3,7 +3,7 @@
#include "gpu_regs.h"
#include "international_string_util.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "menu.h"
#include "palette.h"
#include "region_map.h"

View File

@ -20,7 +20,7 @@
#include "link.h"
#include "list_menu.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "match_call.h"
#include "menu.h"
#include "overworld.h"
@ -1691,22 +1691,22 @@ const struct WindowTemplate gUnknown_085B2BAC = {
};
const u8 *const gElevatorFloorsTable[] = {
gText_B4F,
gText_B3F,
gText_B2F,
gText_B1F,
gText_1F,
gText_2F,
gText_3F,
gText_4F,
gText_5F,
gText_6F,
gText_7F,
gText_8F,
gText_9F,
gText_10F,
gText_11F,
gText_Rooftop
gText_B4F,
gText_B3F,
gText_B2F,
gText_B1F,
gText_1F,
gText_2F,
gText_3F,
gText_4F,
gText_5F,
gText_6F,
gText_7F,
gText_8F,
gText_9F,
gText_10F,
gText_11F,
gText_Rooftop
};
const u16 gUnknown_085B2BF4[][3] =
@ -1957,7 +1957,7 @@ void sub_8139D98(void)
bool32 warp0_in_pokecenter(void)
{
static const u16 gUnknown_085B2C2A[] = { 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a, 0x1a35, 0x193c, 0xffff };
static const u16 gUnknown_085B2C2A[] = { 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a, 0x1a35, 0x193c, 0xFFFF };
int i;
u16 map = (gLastUsedWarp.mapGroup << 8) + gLastUsedWarp.mapNum;
@ -2946,10 +2946,10 @@ void sub_813AA44(void)
static void sub_813AA60(u16 a0, u16 a1)
{
static const u16 gUnknown_085B312C[] = { 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xffff };
static const u16 gUnknown_085B3142[] = { 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xffff };
static const u16 gUnknown_085B314E[] = { 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xffff };
static const u16 gUnknown_085B315C[] = { 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xffff };
static const u16 gUnknown_085B312C[] = { 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xFFFF };
static const u16 gUnknown_085B3142[] = { 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xFFFF };
static const u16 gUnknown_085B314E[] = { 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xFFFF };
static const u16 gUnknown_085B315C[] = { 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xFFFF };
static const u8 *const gUnknown_085B3170[] = {
BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA,
@ -3841,7 +3841,7 @@ bool32 sub_813B9C0(void)
MAP_TRADE_CENTER,
MAP_RECORD_CORNER,
MAP_DOUBLE_BATTLE_COLOSSEUM,
0xffff
0xFFFF
};
int i;

View File

@ -496,7 +496,7 @@ u16 GetBehaviorByMetatileId(u16 metatile)
}
else
{
return 0xff;
return 0xFF;
}
}

View File

@ -1,24 +1,43 @@
#include "global.h"
#include "battle_anim.h"
#include "constants/rgb.h"
#include "constants/songs.h"
#include "sound.h"
#include "util.h"
#include "task.h"
#include "trig.h"
extern void sub_8108EC8(struct Sprite *);
extern void sub_8108F08(struct Sprite *);
extern void sub_8108FBC(struct Sprite *);
extern void sub_8108F4C(struct Sprite *);
extern void sub_8109064(struct Sprite *);
extern void sub_810916C(struct Sprite *);
extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *);
extern void sub_8109198(struct Sprite *);
extern void sub_8109200(struct Sprite *);
extern void sub_810921C(struct Sprite *);
extern void sub_8109364(struct Sprite *);
extern void sub_81093A4(struct Sprite *);
extern void sub_80A8EE4(struct Sprite *);
extern void sub_81098EC(struct Sprite *);
extern void sub_8109A10(struct Sprite *);
extern void sub_8109AFC(struct Sprite *);
extern void sub_8109CB0(struct Sprite *);
static void sub_8108EC8(struct Sprite *);
static void sub_8108F08(struct Sprite *);
static void sub_8108F4C(struct Sprite *);
static void sub_8108FBC(struct Sprite *);
static void sub_8109028(struct Sprite *);
static void sub_8109064(struct Sprite *);
static void sub_81090D8(struct Sprite *);
static void sub_810916C(struct Sprite *);
static void AnimEmberFlare(struct Sprite *);
static void sub_8109200(struct Sprite *);
static void AnimFireRing(struct Sprite *);
static void AnimFireRingStep1(struct Sprite *);
static void AnimFireRingStep2(struct Sprite *);
static void AnimFireRingStep3(struct Sprite *);
static void UpdateFireRingCircleOffset(struct Sprite *);
static void AnimFireCross(struct Sprite *);
static void sub_81093A4(struct Sprite *);
static void sub_81093E4(struct Sprite *);
static void sub_810940C(struct Sprite *);
static void sub_81094D0(u8 taskId);
static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3);
static void sub_81098EC(struct Sprite *);
static u16 sub_8109930(u8 spriteId);
static void sub_8109984(struct Sprite *sprite, s16 x, s16 y);
static void sub_81099A0(struct Sprite *);
static void sub_8109A10(struct Sprite *);
static void sub_8109A64(struct Sprite *);
static void sub_8109AFC(struct Sprite *);
static void sub_8109C4C(struct Sprite *);
static void sub_8109CB0(struct Sprite *);
static void sub_8109E2C(u8 taskId);
const union AnimCmd gUnknown_08595340[] =
{
@ -234,7 +253,7 @@ const struct SpriteTemplate gEmberFlareSpriteTemplate =
.anims = gUnknown_085954D0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8109198,
.callback = AnimEmberFlare,
};
const struct SpriteTemplate gUnknown_08595504 =
@ -256,7 +275,7 @@ const struct SpriteTemplate gUnknown_0859551C =
.anims = gUnknown_085954D0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_810921C,
.callback = AnimFireRing,
};
const union AnimCmd gUnknown_08595534[] =
@ -297,7 +316,7 @@ const struct SpriteTemplate gUnknown_0859556C =
.anims = gUnknown_08595540,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8109364,
.callback = AnimFireCross,
};
const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 =
@ -436,3 +455,867 @@ const s8 gUnknown_08595694[16] =
{
-1, 0, 1, 0, -1, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1,
};
static void sub_8108EC8(struct Sprite *sprite)
{
sprite->data[0] = gBattleAnimArgs[0];
sprite->data[1] = 0x3C;
sprite->data[2] = 0x9;
sprite->data[3] = 0x1E;
sprite->data[4] = 0xFE00;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
sprite->callback = sub_80A634C;
sprite->callback(sprite);
}
static void sub_8108F08(struct Sprite *sprite)
{
sub_80A6864(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[3];
sprite->callback = sub_80A656C;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
static void sub_8108F4C(struct Sprite *sprite)
{
sub_80A6838(sprite);
if (GetBattlerSide(gBattleAnimAttacker))
{
sprite->pos1.x -= gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[2] = -gBattleAnimArgs[4];
}
else
{
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[2] = gBattleAnimArgs[4];
}
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[4] = gBattleAnimArgs[3];
sprite->data[3] = gBattleAnimArgs[5];
sprite->callback = sub_8109028;
}
static void sub_8108FBC(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker))
{
sprite->pos1.x -= gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[2] = gBattleAnimArgs[4];
}
else
{
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[2] = -gBattleAnimArgs[4];
}
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[4] = gBattleAnimArgs[3];
sprite->data[3] = gBattleAnimArgs[5];
sprite->callback = sub_8109028;
}
static void sub_8109028(struct Sprite *sprite)
{
if (++sprite->data[0] < sprite->data[4])
{
sprite->pos2.x += sprite->data[2];
sprite->pos2.y += sprite->data[3];
}
if (sprite->data[0] == sprite->data[1])
move_anim_8074EE0(sprite);
}
static void sub_8109064(struct Sprite *sprite)
{
sub_80A6838(sprite);
if (GetBattlerSide(gBattleAnimAttacker))
{
sprite->pos1.x -= gBattleAnimArgs[0];
}
else
{
sprite->pos1.x += gBattleAnimArgs[0];
sprite->subpriority = 8;
}
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = gBattleAnimArgs[3];
sprite->data[2] = gBattleAnimArgs[4];
sprite->data[3] = gBattleAnimArgs[5];
sprite->data[4] = gBattleAnimArgs[6];
sprite->data[5] = 0;
sprite->callback = sub_81090D8;
}
static void sub_81090D8(struct Sprite *sprite)
{
if (sprite->data[3])
{
if(sprite->data[5] > 10000)
sprite->subpriority = 1;
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
sprite->pos2.y = Cos(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
sprite->data[0] += sprite->data[2];
sprite->data[5] += sprite->data[4];
if (sprite->data[0] > 255)
sprite->data[0] -= 256;
else if (sprite->data[0] < 0)
sprite->data[0] += 256;
sprite->data[3]--;
}
else
{
move_anim_8074EE0(sprite);
}
}
//sunlight
static void sub_810916C(struct Sprite *sprite)
{
sprite->pos1.x = 0;
sprite->pos1.y = 0;
sprite->data[0] = 60;
sprite->data[2] = 140;
sprite->data[4] = 80;
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
//fire 2
// Animates the secondary effect of MOVE_EMBER, where the flames grow and slide
// horizontally a bit.
// arg 0: initial x pixel offset
// arg 1: initial y pixel offset
// arg 2: target x pixel offset
// arg 3: target y pixel offset
// arg 4: duration
// arg 5: ? (todo: something related to which mon the pixel offsets are based on)
// arg 6: ? (todo: something related to which mon the pixel offsets are based on)
static void AnimEmberFlare(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)
&& (gBattleAnimAttacker == GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)
|| gBattleAnimAttacker == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->callback = sub_80A7938;
sprite->callback(sprite);
}
static void sub_8109200(struct Sprite *sprite)
{
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->callback = sub_80A7938;
}
// Animates the a fire sprite in the first-half of the MOVE_FIRE_BLAST
// animation. The fire sprite first moves in a circle around the mon,
// and then it is translated towards the target mon, while still rotating.
// Lastly, it moves in a circle around the target mon.
// arg 0: initial x pixel offset
// arg 1: initial y pixel offset
// arg 2: initial wave offset
//void AnimFireRing(struct Sprite *sprite)
void AnimFireRing(struct Sprite *sprite)
{
InitAnimSpritePos(sprite, 1);
sprite->data[7] = gBattleAnimArgs[2];
sprite->data[0] = 0;
sprite->callback = AnimFireRingStep1;
}
static void AnimFireRingStep1(struct Sprite *sprite)
{
UpdateFireRingCircleOffset(sprite);
if (++sprite->data[0] == 0x12)
{
sprite->data[0] = 0x19;
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
InitAnimLinearTranslation(sprite);
sprite->callback = AnimFireRingStep2;
}
}
static void AnimFireRingStep2(struct Sprite *sprite)
{
if (TranslateAnimLinear(sprite))
{
sprite->data[0] = 0;
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
sprite->pos2.y = 0;
sprite->pos2.x = 0;
sprite->callback = AnimFireRingStep3;
sprite->callback(sprite);
}
else
{
sprite->pos2.x += Sin(sprite->data[7], 28);
sprite->pos2.y += Cos(sprite->data[7], 28);
sprite->data[7] = (sprite->data[7] + 20) & 0xFF;
}
}
static void AnimFireRingStep3(struct Sprite *sprite)
{
UpdateFireRingCircleOffset(sprite);
if (++sprite->data[0] == 0x1F)
DestroyAnimSprite(sprite);
}
static void UpdateFireRingCircleOffset(struct Sprite *sprite)
{
sprite->pos2.x = Sin(sprite->data[7], 28);
sprite->pos2.y = Cos(sprite->data[7], 28);
sprite->data[7] = (sprite->data[7] + 20) & 0xFF;
}
// arg 0: initial x pixel offset
// arg 1: initial y pixel offset
// arg 2: duration
// arg 3: x delta
// arg 4: y delta
// AnimFireCross(struct Sprite *sprite)
static void AnimFireCross(struct Sprite *sprite)
{
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = gBattleAnimArgs[3];
sprite->data[2] = gBattleAnimArgs[4];
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
sprite->callback = sub_80A653C; //TranslateSpriteOverDuration
}
static void sub_81093A4(struct Sprite *sprite)
{
InitAnimSpritePos(sprite, 1);
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[3];
sprite->invisible = TRUE;
sprite->callback = WaitAnimForDuration;
StoreSpriteCallbackInData6(sprite, sub_81093E4);
}
static void sub_81093E4(struct Sprite *sprite)
{
sprite->invisible = FALSE;
sprite->data[0] = sprite->data[1];
sprite->data[1] = 0;
sprite->callback = sub_810940C;
sprite->callback(sprite);
}
static void sub_810940C(struct Sprite *sprite)
{
sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8);
sprite->pos2.y = Cos(sprite->data[1], sprite->data[2] >> 8);
sprite->data[1] = (sprite->data[1] + 10) & 0xFF;
sprite->data[2] += 0xD0;
if (--sprite->data[0] == -1)
DestroyAnimSprite(sprite);
}
void sub_8109460(u8 taskId) // initialize animation task for Move_ERUPTION?
{
struct Task *task = &gTasks[taskId];
task->data[15] = GetAnimBattlerSpriteId(0);
task->data[0] = 0;
task->data[1] = 0;
task->data[2] = 0;
task->data[3] = 0;
task->data[4] = gSprites[task->data[15]].pos1.y;
task->data[5] = GetBattlerSide(gBattleAnimAttacker);
task->data[6] = 0;
sub_80A7270(task->data[15], 0);
task->func = sub_81094D0;
}
static void sub_81094D0(u8 taskId) // animate Move_ERUPTION?
{
struct Task *task = &gTasks[taskId];
switch (task->data[0])
{
case 0:
sub_80A805C(task, task->data[15], 0x100, 0x100, 0xE0, 0x200, 0x20);
task->data[0]++;
case 1:
if (++task->data[1] > 1)
{
task->data[1] = 0;
if (++task->data[2] & 0x1)
gSprites[task->data[15]].pos2.x = 3;
else
gSprites[task->data[15]].pos2.x = -3;
}
if (task->data[5])
{
if (++task->data[3] > 4)
{
task->data[3] = 0;
gSprites[task->data[15]].pos1.y++;
}
}
if(!sub_80A80C8(task))
{
sub_80A7E6C(task->data[15]);
gSprites[task->data[15]].pos2.x = 0;
task->data[1] = 0;
task->data[2] = 0;
task->data[3] = 0;
task->data[0]++;
}
break;
case 2:
if (++task->data[1] > 4)
{
if (task->data[5])
sub_80A805C(task, task->data[15], 0xE0, 0x200, 0x180, 0xF0, 0x6);
else
sub_80A805C(task, task->data[15], 0xE0, 0x200, 0x180, 0xC0, 0x6);
task->data[1] = 0;
task->data[0]++;
}
break;
case 3:
if (!sub_80A80C8(task))
{
sub_81097B4(task->data[15], taskId, 6);
task->data[0]++;
}
break;
case 4:
if (++task->data[1] > 1)
{
task->data[1] = 0;
if (++task->data[2] & 1)
gSprites[task->data[15]].pos2.y += 3;
else
gSprites[task->data[15]].pos2.y -= 3;
}
if (++task->data[3] > 0x18)
{
if (task->data[5])
sub_80A805C(task, task->data[15], 0x180, 0xF0, 0x100, 0x100, 0x8);
else
sub_80A805C(task, task->data[15], 0x180, 0xC0, 0x100, 0x100, 0x8);
if (task->data[2] & 1)
gSprites[task->data[15]].pos2.y -= 3;
task->data[1] = 0;
task->data[2] = 0;
task->data[3] = 0;
task->data[0]++;
}
break;
case 5:
if (task->data[5])
gSprites[task->data[15]].pos1.y--;
if (!sub_80A80C8(task))
{
gSprites[task->data[15]].pos1.y = task->data[4];
sub_80A7344(task->data[15]);
task->data[2] = 0;
task->data[0]++;
}
break;
case 6:
if (!task->data[6])
DestroyAnimVisualTask(taskId);
break;
default:
}
}
static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3)
{
u16 i, j;
s8 sign;
u16 y = sub_8109930(spriteId);
u16 x = gSprites[spriteId].pos1.x;
if(!GetBattlerSide(gBattleAnimAttacker))
{
x -= 0xC;
sign = 1;
}
else
{
x += 0x10;
sign = -1;
}
for (i = 0, j = 0; i <= 6; i++)
{
u8 spriteId = CreateSprite(&gUnknown_085955B4, x, y, 2);
if (spriteId != 0x40)
{
gSprites[spriteId].oam.tileNum += j * 4 + 0x40;
if (++j >= 5)
j = 0;
//gHeatedRockCoords
sub_8109984(&gSprites[spriteId], gUnknown_085955CC[i][0] * sign, gUnknown_085955CC[i][1]);
gSprites[spriteId].data[6] = taskId;
gSprites[spriteId].data[7] = a3;
gTasks[taskId].data[a3]++;
}
}
}
static void sub_81098EC(struct Sprite *sprite)
{
sub_81099A0(sprite);
if (sprite->invisible)
{
gTasks[sprite->data[6]].data[sprite->data[7]]--;
DestroySprite(sprite);
}
}
static u16 sub_8109930(u8 spriteId)
{
u16 var1 = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY;
if (GetBattlerSide(gBattleAnimAttacker) == 0)
{
var1 = ((var1 << 16) + 0x4A0000) >> 16;
}
else
{
var1 = ((var1 << 16) + 0x2C0000) >> 16;
}
return var1;
}
static void sub_8109984(struct Sprite *sprite, s16 x, s16 y)
{
sprite->data[0] = 0;
sprite->data[1] = 0;
sprite->data[2] = (u16)sprite->pos1.x * 8;
sprite->data[3] = (u16)sprite->pos1.y * 8;
sprite->data[4] = x * 8;
sprite->data[5] = y * 8;
}
static void sub_81099A0(struct Sprite *sprite)
{
int var1;
if (++sprite->data[0] > 2)
{
sprite->data[0] = 0;
++sprite->data[1];
var1 = (u16)sprite->data[1] * (u16)sprite->data[1];
sprite->data[3] += var1;
}
sprite->data[2] += sprite->data[4];
sprite->pos1.x = sprite->data[2] >> 3;
sprite->data[3] += sprite->data[5];
sprite->pos1.y = sprite->data[3] >> 3;
if (sprite->pos1.x < -8 || sprite->pos1.x > 0xf8 || sprite->pos1.y < -8 || sprite->pos1.y > 120)
sprite->invisible = TRUE;
}
static void sub_8109A10(struct Sprite *sprite)
{
sprite->pos1.x = gBattleAnimArgs[0];
sprite->pos1.y = gBattleAnimArgs[1];
sprite->data[0] = 0;
sprite->data[1] = 0;
sprite->data[2] = 0;
sprite->data[6] = gBattleAnimArgs[2];
sprite->data[7] = gBattleAnimArgs[3];
sprite->oam.tileNum += gBattleAnimArgs[4] * 16;
sprite->callback = sub_8109A64;
}
static void sub_8109A64(struct Sprite *sprite)
{
switch (sprite->data[0])
{
case 0:
if (sprite->data[6] != 0)
{
sprite->data[6]--;
return;
}
sprite->data[0]++;
// fall through
case 1:
sprite->pos1.y += 8;
if (sprite->pos1.y >= sprite->data[7])
{
sprite->pos1.y = sprite->data[7];
sprite->data[0]++;
}
break;
case 2:
if (++sprite->data[1] > 1)
{
sprite->data[1] = 0;
if ((++sprite->data[2] & 1) != 0)
{
sprite->pos2.y = -3;
}
else
{
sprite->pos2.y = 3;
}
}
if (++sprite->data[3] > 16)
{
DestroyAnimSprite(sprite);
}
break;
}
}
//wisp orb
static void sub_8109AFC(struct Sprite *sprite)
{
switch (sprite->data[0])
{
case 0:
InitAnimSpritePos(sprite, 0);
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
sprite->data[7] = gBattleAnimArgs[2];
if (GetBattlerSide(gBattleAnimAttacker) != 0)
{
sprite->data[4] = 4;
}
else
{
sprite->data[4] = -4;
}
sprite->oam.priority = sub_80A8328(gBattleAnimTarget);
sprite->data[0]++;
break;
case 1:
sprite->data[1] += 192;
if (GetBattlerSide(gBattleAnimAttacker) != 0)
{
sprite->pos2.y = -(sprite->data[1] >> 8);
}
else
{
sprite->pos2.y = sprite->data[1] >> 8;
}
sprite->pos2.x = Sin(sprite->data[2], sprite->data[4]);
sprite->data[2] = (sprite->data[2] + 4) & 0xFF;
if (++sprite->data[3] == 1)
{
sprite->data[3] = 0;
sprite->data[0]++;
}
break;
case 2:
sprite->pos2.x = Sin(sprite->data[2], sprite->data[4]);
sprite->data[2] = (sprite->data[2] + 4) & 0xFF;
if (++sprite->data[3] == 31)
{
sprite->pos1.x += sprite->pos2.x;
sprite->pos1.y += sprite->pos2.y;
sprite->pos2.y = 0;
sprite->pos2.x = 0;
sprite->data[0] = 256;
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
sub_80A6FD4(sprite);
sprite->callback = sub_8109C4C;
}
break;
}
}
static void sub_8109C4C(struct Sprite *sprite)
{
s16 initialData5;
s16 newData5;
if (!TranslateAnimLinear(sprite))
{
sprite->pos2.x += Sin(sprite->data[5], 16);
initialData5 = sprite->data[5];
sprite->data[5] = (sprite->data[5] + 4) & 0xFF;
newData5 = sprite->data[5];
if ((initialData5 == 0 || initialData5 > 196) && newData5 > 0 && sprite->data[7] == 0)
{
PlaySE12WithPanning(SE_W172, gUnknown_02038440);
}
}
else
{
DestroyAnimSprite(sprite);
}
}
//wisp fire
void sub_8109CB0(struct Sprite *sprite)
{
if (!sprite->data[0])
{
sprite->data[1] = gBattleAnimArgs[0];
sprite->data[0] += 1;
}
sprite->data[3] += 0xC0 * 2;
sprite->data[4] += 0xA0;
sprite->pos2.x = Sin(sprite->data[1], sprite->data[3] >> 8);
sprite->pos2.y = Cos(sprite->data[1], sprite->data[4] >> 8);
sprite->data[1] = (sprite->data[1] + 7) & 0xFF;
if (!IsContest())
{
if (sprite->data[1] < 64 || sprite->data[1] > 195)
sprite->oam.priority = sub_80A8328(gBattleAnimTarget);
else
sprite->oam.priority = sub_80A8328(gBattleAnimTarget) + 1;
}
else
{
if (sprite->data[1] < 64 || sprite->data[1] > 195)
sprite->subpriority = 0x1D;
else
sprite->subpriority = 0x1F;
}
if (++sprite->data[2] > 0x14)
sprite->invisible ^= 1;
if (sprite->data[2] == 0x1E)
DestroyAnimSprite(sprite);
}
void sub_8109DBC(u8 taskId)
{
struct Task *task = &gTasks[taskId];
task->data[12] = !GetBattlerSide(gBattleAnimAttacker) ? 1 : -1;
task->data[13] = IsBattlerSpriteVisible(gBattleAnimTarget ^ 2) + 1;
task->data[14] = GetAnimBattlerSpriteId(1);
task->data[15] = GetAnimBattlerSpriteId(3);
task->func = sub_8109E2C;
}
static void sub_8109E2C(u8 taskId)
{
struct Task *task = &gTasks[taskId];
switch (task->data[0])
{
case 0:
task->data[10] += task->data[12] * 2;
if (++task->data[1] >= 2)
{
task->data[1] = 0;
task->data[2]++;
if (task->data[2] & 1)
task->data[11] = 2;
else
task->data[11] = -2;
}
for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
{
gSprites[task->data[task->data[3] + 14]].pos2.x = task->data[10] + task->data[11];
}
if (++task->data[9] == 16)
{
task->data[9] = 0;
task->data[0]++;
}
break;
case 1:
if (++task->data[1] >= 5)
{
task->data[1] = 0;
task->data[2]++;
if (task->data[2] & 1)
task->data[11] = 2;
else
task->data[11] = -2;
}
for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
{
gSprites[task->data[task->data[3] + 14]].pos2.x = task->data[10] + task->data[11];
}
if (++task->data[9] == 96)
{
task->data[9] = 0;
task->data[0]++;
}
break;
case 2:
task->data[10] -= task->data[12] * 2;
if (++task->data[1] >= 2)
{
task->data[1] = 0;
task->data[2]++;
if (task->data[2] & 1)
task->data[11] = 2;
else
task->data[11] = -2;
}
for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
{
gSprites[task->data[task->data[3] + 14]].pos2.x = task->data[10] + task->data[11];
}
if (++task->data[9] == 16)
{
task->data[0]++;
}
break;
case 3:
for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
{
gSprites[task->data[task->data[3] + 14]].pos2.x = 0;
}
DestroyAnimVisualTask(taskId);
break;
}
}
// Used to add a color mask to the battle interface / HUD in Heat Wave.
// arg 0: opacity
// arg 1: color code
void AnimTask_BlendBackground(u8 taskId)
{
struct UnknownAnimStruct2 unk;
sub_80A6B30(&unk);
BlendPalette(unk.unk8 << 4, 16, gBattleAnimArgs[0], gBattleAnimArgs[1]); // u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor
DestroyAnimVisualTask(taskId);
}
void sub_810A094(u8 taskId)
{
s8 unk;
u8 spriteId;
if (gTasks[taskId].data[0] == 0)
{
gTasks[taskId].data[1] = gBattleAnimArgs[0];
gTasks[taskId].data[2] = gBattleAnimArgs[1];
gTasks[taskId].data[3] = gBattleAnimArgs[2];
gTasks[taskId].data[4] = gBattleAnimArgs[3];
}
gTasks[taskId].data[0]++;
spriteId = gBattlerSpriteIds[gBattleAnimTarget];
if (!gTasks[taskId].data[4])
unk = gUnknown_08595684[gTasks[taskId].data[0] % 10];
else
unk = gUnknown_08595694[gTasks[taskId].data[0] % 10];
if (gTasks[taskId].data[3] == 1)
gSprites[spriteId].pos2.y = gBattleAnimArgs[1] * unk < 0 ? -(gBattleAnimArgs[1] * unk) : gBattleAnimArgs[1] * unk;
else
gSprites[spriteId].pos2.x = gBattleAnimArgs[1] * unk;
if (gTasks[taskId].data[0] == gTasks[taskId].data[1])
{
gSprites[spriteId].pos2.x = 0;
gSprites[spriteId].pos2.y = 0;
DestroyAnimVisualTask(taskId);
}
}

View File

@ -6,7 +6,7 @@
#include "field_player_avatar.h"
#include "fieldmap.h"
#include "fldeff_cut.h"
#include "malloc.h"
#include "alloc.h"
#include "metatile_behavior.h"
#include "overworld.h"
#include "party_menu.h"

View File

@ -2,7 +2,7 @@
#include "event_data.h"
#include "event_object_movement.h"
#include "field_camera.h"
#include "malloc.h"
#include "alloc.h"
#include "random.h"
#include "roulette_util.h"
#include "script.h"
@ -32,7 +32,17 @@ static void sub_81BEA20(void);
static void sub_81BEAD8(struct Sprite* sprite);
// rodata
static const u8 gUnknown_08617E18[] = {0x3b, 0x43, 0x61, 0x00, 0x0f, 0x05, 0xff, 0x9b};
const struct InnerStruct203CF18_3 gUnknown_08617E18 = {
.unk0 = 0x433b,
.unk2 = 0x61,
.unk4 = 0x0F,
.unk5 = 0x05,
.unk6 = 0xFF,
.unk7_0 = 0xB,
.unk7_4 = 0x1,
.unk7_6 = 0,
.unk7_7 = 1,
};
static const union AnimCmd gSpriteAnim_8617E20[] =
{
@ -131,7 +141,7 @@ void sub_81BE6B8(void)
gUnknown_0203CF18 = (struct Struct203CF18 *)AllocZeroed(sizeof(struct Struct203CF18));
sub_8151B3C(&(gUnknown_0203CF18->unk4));
sub_8151B68(&(gUnknown_0203CF18->unk4), gUnknown_08617E18);
sub_8151B68(&(gUnknown_0203CF18->unk4), &gUnknown_08617E18);
sub_8151CA8(&(gUnknown_0203CF18->unk4), 1, 1);
gUnknown_0203CF18->taskId = CreateTask(sub_81BE698, 0xFF);
}

View File

@ -8,7 +8,7 @@
#include "fieldmap.h"
#include "global.fieldmap.h"
#include "gpu_regs.h"
#include "malloc.h"
#include "alloc.h"
#include "menu.h"
#include "random.h"
#include "script.h"
@ -458,104 +458,104 @@ static void sub_81BF2B8(u8* a, u16 b, u8 c, u8 d, u8 e)
{
asm_unified("\n\
push {r4-r7,lr}\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x8\n\
str r0, [sp]\n\
mov r10, r1\n\
adds r6, r2, 0\n\
mov r8, r3\n\
ldr r0, [sp, 0x28]\n\
mov r9, r0\n\
lsls r1, 16\n\
lsrs r1, 16\n\
mov r10, r1\n\
lsls r6, 24\n\
lsrs r6, 24\n\
mov r0, r8\n\
lsls r0, 24\n\
mov r8, r0\n\
lsrs r7, r0, 24\n\
mov r1, r9\n\
lsls r1, 24\n\
lsrs r1, 24\n\
mov r9, r1\n\
mov r0, r10\n\
adds r1, r7, 0\n\
bl __divsi3\n\
adds r5, r0, 0\n\
lsls r5, 24\n\
lsrs r4, r5, 24\n\
ldr r3, =gUnknown_030012A8\n\
strh r4, [r3]\n\
mov r0, r10\n\
adds r1, r7, 0\n\
str r3, [sp, 0x4]\n\
bl __modsi3\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
ldr r3, [sp, 0x4]\n\
strh r2, [r3, 0x2]\n\
movs r1, 0x7\n\
ands r4, r1\n\
ands r2, r1\n\
strh r4, [r3, 0x4]\n\
strh r2, [r3, 0x6]\n\
lsrs r0, 27\n\
lsrs r5, 27\n\
strh r0, [r3, 0x8]\n\
strh r5, [r3, 0xA]\n\
mov r1, r8\n\
lsrs r1, 27\n\
lsls r1, 6\n\
mov r8, r1\n\
mov r1, r8\n\
muls r1, r5\n\
lsls r0, 6\n\
adds r1, r0\n\
lsls r1, 16\n\
lsrs r1, 16\n\
strh r1, [r3, 0xC]\n\
lsls r4, 3\n\
adds r4, r2\n\
adds r1, r4\n\
lsls r4, r1, 16\n\
lsrs r4, 17\n\
strh r1, [r3, 0xE]\n\
movs r1, 0x1\n\
mov r0, r10\n\
ands r1, r0\n\
movs r2, 0x1\n\
eors r1, r2\n\
lsls r0, r1, 2\n\
lsls r6, r0\n\
eors r1, r2\n\
lsls r1, 2\n\
movs r0, 0xF\n\
lsls r0, r1\n\
orrs r6, r0\n\
lsls r6, 24\n\
lsrs r6, 24\n\
mov r1, r9\n\
lsls r1, 5\n\
mov r9, r1\n\
add r9, r4\n\
ldr r1, [sp]\n\
add r1, r9\n\
ldrb r0, [r1]\n\
ands r6, r0\n\
strb r6, [r1]\n\
add sp, 0x8\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.pool\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x8\n\
str r0, [sp]\n\
mov r10, r1\n\
adds r6, r2, 0\n\
mov r8, r3\n\
ldr r0, [sp, 0x28]\n\
mov r9, r0\n\
lsls r1, 16\n\
lsrs r1, 16\n\
mov r10, r1\n\
lsls r6, 24\n\
lsrs r6, 24\n\
mov r0, r8\n\
lsls r0, 24\n\
mov r8, r0\n\
lsrs r7, r0, 24\n\
mov r1, r9\n\
lsls r1, 24\n\
lsrs r1, 24\n\
mov r9, r1\n\
mov r0, r10\n\
adds r1, r7, 0\n\
bl __divsi3\n\
adds r5, r0, 0\n\
lsls r5, 24\n\
lsrs r4, r5, 24\n\
ldr r3, =gUnknown_030012A8\n\
strh r4, [r3]\n\
mov r0, r10\n\
adds r1, r7, 0\n\
str r3, [sp, 0x4]\n\
bl __modsi3\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
ldr r3, [sp, 0x4]\n\
strh r2, [r3, 0x2]\n\
movs r1, 0x7\n\
ands r4, r1\n\
ands r2, r1\n\
strh r4, [r3, 0x4]\n\
strh r2, [r3, 0x6]\n\
lsrs r0, 27\n\
lsrs r5, 27\n\
strh r0, [r3, 0x8]\n\
strh r5, [r3, 0xA]\n\
mov r1, r8\n\
lsrs r1, 27\n\
lsls r1, 6\n\
mov r8, r1\n\
mov r1, r8\n\
muls r1, r5\n\
lsls r0, 6\n\
adds r1, r0\n\
lsls r1, 16\n\
lsrs r1, 16\n\
strh r1, [r3, 0xC]\n\
lsls r4, 3\n\
adds r4, r2\n\
adds r1, r4\n\
lsls r4, r1, 16\n\
lsrs r4, 17\n\
strh r1, [r3, 0xE]\n\
movs r1, 0x1\n\
mov r0, r10\n\
ands r1, r0\n\
movs r2, 0x1\n\
eors r1, r2\n\
lsls r0, r1, 2\n\
lsls r6, r0\n\
eors r1, r2\n\
lsls r1, 2\n\
movs r0, 0xF\n\
lsls r0, r1\n\
orrs r6, r0\n\
lsls r6, 24\n\
lsrs r6, 24\n\
mov r1, r9\n\
lsls r1, 5\n\
mov r9, r1\n\
add r9, r4\n\
ldr r1, [sp]\n\
add r1, r9\n\
ldrb r0, [r1]\n\
ands r6, r0\n\
strb r6, [r1]\n\
add sp, 0x8\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.pool\n\
");
}
#endif // NONMATCHING

View File

@ -24,7 +24,7 @@
#include "data2.h"
#include "record_mixing.h"
#include "strings.h"
#include "malloc.h"
#include "alloc.h"
#include "save.h"
#include "load_save.h"
#include "battle_dome.h"

View File

@ -20,166 +20,166 @@ static void UpdateRegDispstatIntrBits(u16 regIE);
void InitGpuRegManager(void)
{
s32 i;
s32 i;
for (i = 0; i < GPU_REG_BUF_SIZE; i++)
for (i = 0; i < GPU_REG_BUF_SIZE; i++)
{
sGpuRegBuffer[i] = 0;
sGpuRegWaitingList[i] = EMPTY_SLOT;
}
sGpuRegBuffer[i] = 0;
sGpuRegWaitingList[i] = EMPTY_SLOT;
}
sGpuRegBufferLocked = FALSE;
sShouldSyncRegIE = FALSE;
sRegIE = 0;
sGpuRegBufferLocked = FALSE;
sShouldSyncRegIE = FALSE;
sRegIE = 0;
}
static void CopyBufferedValueToGpuReg(u8 regOffset)
{
if (regOffset == REG_OFFSET_DISPSTAT)
if (regOffset == REG_OFFSET_DISPSTAT)
{
REG_DISPSTAT &= ~(DISPSTAT_HBLANK_INTR | DISPSTAT_VBLANK_INTR);
REG_DISPSTAT |= GPU_REG_BUF(REG_OFFSET_DISPSTAT);
}
else
REG_DISPSTAT &= ~(DISPSTAT_HBLANK_INTR | DISPSTAT_VBLANK_INTR);
REG_DISPSTAT |= GPU_REG_BUF(REG_OFFSET_DISPSTAT);
}
else
{
GPU_REG(regOffset) = GPU_REG_BUF(regOffset);
}
GPU_REG(regOffset) = GPU_REG_BUF(regOffset);
}
}
void CopyBufferedValuesToGpuRegs(void)
{
if (!sGpuRegBufferLocked)
if (!sGpuRegBufferLocked)
{
s32 i;
s32 i;
for (i = 0; i < GPU_REG_BUF_SIZE; i++)
for (i = 0; i < GPU_REG_BUF_SIZE; i++)
{
u8 regOffset = sGpuRegWaitingList[i];
if (regOffset == EMPTY_SLOT)
return;
CopyBufferedValueToGpuReg(regOffset);
sGpuRegWaitingList[i] = EMPTY_SLOT;
}
}
u8 regOffset = sGpuRegWaitingList[i];
if (regOffset == EMPTY_SLOT)
return;
CopyBufferedValueToGpuReg(regOffset);
sGpuRegWaitingList[i] = EMPTY_SLOT;
}
}
}
void SetGpuReg(u8 regOffset, u16 value)
{
if (regOffset < GPU_REG_BUF_SIZE)
{
u16 vcount;
if (regOffset < GPU_REG_BUF_SIZE)
{
u16 vcount;
GPU_REG_BUF(regOffset) = value;
vcount = REG_VCOUNT & 0xFF;
GPU_REG_BUF(regOffset) = value;
vcount = REG_VCOUNT & 0xFF;
if ((vcount >= 161 && vcount <= 225)
|| (REG_DISPCNT & DISPCNT_FORCED_BLANK)) {
CopyBufferedValueToGpuReg(regOffset);
} else {
s32 i;
if ((vcount >= 161 && vcount <= 225)
|| (REG_DISPCNT & DISPCNT_FORCED_BLANK)) {
CopyBufferedValueToGpuReg(regOffset);
} else {
s32 i;
sGpuRegBufferLocked = TRUE;
sGpuRegBufferLocked = TRUE;
for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
if (sGpuRegWaitingList[i] == regOffset) {
sGpuRegBufferLocked = FALSE;
return;
}
}
for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
if (sGpuRegWaitingList[i] == regOffset) {
sGpuRegBufferLocked = FALSE;
return;
}
}
sGpuRegWaitingList[i] = regOffset;
sGpuRegBufferLocked = FALSE;
}
}
sGpuRegWaitingList[i] = regOffset;
sGpuRegBufferLocked = FALSE;
}
}
}
void SetGpuReg_ForcedBlank(u8 regOffset, u16 value)
{
if (regOffset < GPU_REG_BUF_SIZE)
{
GPU_REG_BUF(regOffset) = value;
if (regOffset < GPU_REG_BUF_SIZE)
{
GPU_REG_BUF(regOffset) = value;
if (REG_DISPCNT & DISPCNT_FORCED_BLANK) {
CopyBufferedValueToGpuReg(regOffset);
} else {
s32 i;
if (REG_DISPCNT & DISPCNT_FORCED_BLANK) {
CopyBufferedValueToGpuReg(regOffset);
} else {
s32 i;
sGpuRegBufferLocked = TRUE;
sGpuRegBufferLocked = TRUE;
for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
if (sGpuRegWaitingList[i] == regOffset) {
sGpuRegBufferLocked = FALSE;
return;
}
}
for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
if (sGpuRegWaitingList[i] == regOffset) {
sGpuRegBufferLocked = FALSE;
return;
}
}
sGpuRegWaitingList[i] = regOffset;
sGpuRegBufferLocked = FALSE;
}
}
sGpuRegWaitingList[i] = regOffset;
sGpuRegBufferLocked = FALSE;
}
}
}
u16 GetGpuReg(u8 regOffset)
{
if (regOffset == REG_OFFSET_DISPSTAT)
return REG_DISPSTAT;
if (regOffset == REG_OFFSET_DISPSTAT)
return REG_DISPSTAT;
if (regOffset == REG_OFFSET_VCOUNT)
return REG_VCOUNT;
if (regOffset == REG_OFFSET_VCOUNT)
return REG_VCOUNT;
return GPU_REG_BUF(regOffset);
return GPU_REG_BUF(regOffset);
}
void SetGpuRegBits(u8 regOffset, u16 mask)
{
u16 regValue = GPU_REG_BUF(regOffset);
SetGpuReg(regOffset, regValue | mask);
u16 regValue = GPU_REG_BUF(regOffset);
SetGpuReg(regOffset, regValue | mask);
}
void ClearGpuRegBits(u8 regOffset, u16 mask)
{
u16 regValue = GPU_REG_BUF(regOffset);
SetGpuReg(regOffset, regValue & ~mask);
u16 regValue = GPU_REG_BUF(regOffset);
SetGpuReg(regOffset, regValue & ~mask);
}
static void SyncRegIE(void)
{
if (sShouldSyncRegIE) {
u16 temp = REG_IME;
REG_IME = 0;
REG_IE = sRegIE;
REG_IME = temp;
sShouldSyncRegIE = FALSE;
}
if (sShouldSyncRegIE) {
u16 temp = REG_IME;
REG_IME = 0;
REG_IE = sRegIE;
REG_IME = temp;
sShouldSyncRegIE = FALSE;
}
}
void EnableInterrupts(u16 mask)
{
sRegIE |= mask;
sShouldSyncRegIE = TRUE;
SyncRegIE();
UpdateRegDispstatIntrBits(sRegIE);
sRegIE |= mask;
sShouldSyncRegIE = TRUE;
SyncRegIE();
UpdateRegDispstatIntrBits(sRegIE);
}
void DisableInterrupts(u16 mask)
{
sRegIE &= ~mask;
sShouldSyncRegIE = TRUE;
SyncRegIE();
UpdateRegDispstatIntrBits(sRegIE);
sRegIE &= ~mask;
sShouldSyncRegIE = TRUE;
SyncRegIE();
UpdateRegDispstatIntrBits(sRegIE);
}
static void UpdateRegDispstatIntrBits(u16 regIE)
{
u16 oldValue = GetGpuReg(REG_OFFSET_DISPSTAT) & (DISPSTAT_HBLANK_INTR | DISPSTAT_VBLANK_INTR);
u16 newValue = 0;
u16 oldValue = GetGpuReg(REG_OFFSET_DISPSTAT) & (DISPSTAT_HBLANK_INTR | DISPSTAT_VBLANK_INTR);
u16 newValue = 0;
if (regIE & INTR_FLAG_VBLANK)
newValue |= DISPSTAT_VBLANK_INTR;
if (regIE & INTR_FLAG_VBLANK)
newValue |= DISPSTAT_VBLANK_INTR;
if (regIE & INTR_FLAG_HBLANK)
newValue |= DISPSTAT_HBLANK_INTR;
if (regIE & INTR_FLAG_HBLANK)
newValue |= DISPSTAT_HBLANK_INTR;
if (oldValue != newValue)
SetGpuReg(REG_OFFSET_DISPSTAT, newValue);
if (oldValue != newValue)
SetGpuReg(REG_OFFSET_DISPSTAT, newValue);
}

View File

@ -6,7 +6,7 @@
#include "pokemon.h"
#include "text.h"
#include "text_window.h"
#include "malloc.h"
#include "alloc.h"
#include "gpu_regs.h"
#include "graphics.h"
#include "main.h"

View File

@ -5,7 +5,7 @@
#include "task.h"
#include "title_screen.h"
#include "libgcnmultiboot.h"
#include "malloc.h"
#include "alloc.h"
#include "gpu_regs.h"
#include "link.h"
#include "multiboot_pokemon_colosseum.h"
@ -62,10 +62,10 @@ static const u32 gIntro3MiscTiles[] = INCBIN_U32("graphics/intro/intro3_misc.4bp
static const u16 gIntro1FlygonPalette[] = INCBIN_U16("graphics/intro/intro1_flygon.gbapal");
static const u32 gIntro1EonTiles_Unused[] = INCBIN_U32("graphics/intro/intro1_eon.4bpp.lz");
static const u8 sUnknownBytes[] = {
0x02, 0x03, 0x04, 0x05, 0x01, 0x01, 0x01, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x02, 0x0D,
0x02, 0x03, 0x04, 0x05, 0x01, 0x01, 0x01, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x02, 0x0D,
0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x02, 0x0D, 0x0E, 0x0F,
0x10, 0x11, 0x12, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x02, 0x0D, 0x0E, 0x0F, 0x10,
0x11, 0x12, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x00
0x11, 0x12, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x00
};
static const struct CompressedSpriteSheet gUnknown_085E4A74[] =
{

View File

@ -4,7 +4,7 @@
#include "string_util.h"
#include "text.h"
#include "event_data.h"
#include "malloc.h"
#include "alloc.h"
#include "secret_base.h"
#include "item_menu.h"
#include "strings.h"
@ -244,152 +244,152 @@ NAKED
bool8 CheckBagHasSpace(u16 itemId, u16 count)
{
asm_unified("push {r4-r7,lr}\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x4\n\
lsls r0, 16\n\
lsrs r0, 16\n\
mov r8, r0\n\
lsls r1, 16\n\
lsrs r5, r1, 16\n\
bl ItemId_GetPocket\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _080D6906\n\
bl InBattlePyramid\n\
lsls r0, 24\n\
cmp r0, 0\n\
bne _080D6838\n\
ldr r0, =0x00004004\n\
bl FlagGet\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, 0x1\n\
bne _080D684C\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x4\n\
lsls r0, 16\n\
lsrs r0, 16\n\
mov r8, r0\n\
lsls r1, 16\n\
lsrs r5, r1, 16\n\
bl ItemId_GetPocket\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _080D6906\n\
bl InBattlePyramid\n\
lsls r0, 24\n\
cmp r0, 0\n\
bne _080D6838\n\
ldr r0, =0x00004004\n\
bl FlagGet\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, 0x1\n\
bne _080D684C\n\
_080D6838:\n\
mov r0, r8\n\
adds r1, r5, 0\n\
bl CheckPyramidBagHasSpace\n\
lsls r0, 24\n\
lsrs r0, 24\n\
b _080D6916\n\
.pool\n\
mov r0, r8\n\
adds r1, r5, 0\n\
bl CheckPyramidBagHasSpace\n\
lsls r0, 24\n\
lsrs r0, 24\n\
b _080D6916\n\
.pool\n\
_080D684C:\n\
mov r0, r8\n\
bl ItemId_GetPocket\n\
subs r0, 0x1\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
ldr r7, =0x000003e7\n\
cmp r2, 0x3\n\
beq _080D6860\n\
movs r7, 0x63\n\
mov r0, r8\n\
bl ItemId_GetPocket\n\
subs r0, 0x1\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
ldr r7, =0x000003e7\n\
cmp r2, 0x3\n\
beq _080D6860\n\
movs r7, 0x63\n\
_080D6860:\n\
movs r6, 0\n\
ldr r1, =gBagPockets\n\
lsls r4, r2, 3\n\
adds r0, r4, r1\n\
mov r9, r4\n\
ldrb r0, [r0, 0x4]\n\
cmp r6, r0\n\
bcs _080D68BC\n\
subs r0, r2, 0x2\n\
lsls r0, 24\n\
lsrs r0, 24\n\
mov r10, r0\n\
movs r6, 0\n\
ldr r1, =gBagPockets\n\
lsls r4, r2, 3\n\
adds r0, r4, r1\n\
mov r9, r4\n\
ldrb r0, [r0, 0x4]\n\
cmp r6, r0\n\
bcs _080D68BC\n\
subs r0, r2, 0x2\n\
lsls r0, 24\n\
lsrs r0, 24\n\
mov r10, r0\n\
_080D6878:\n\
adds r0, r4, r1\n\
ldr r1, [r0]\n\
lsls r0, r6, 2\n\
adds r1, r0, r1\n\
ldrh r0, [r1]\n\
cmp r0, r8\n\
bne _080D68AC\n\
adds r0, r1, 0x2\n\
str r2, [sp]\n\
bl GetBagItemQuantity\n\
lsls r0, 16\n\
lsrs r1, r0, 16\n\
adds r0, r1, r5\n\
ldr r2, [sp]\n\
cmp r0, r7\n\
ble _080D6914\n\
mov r0, r10\n\
cmp r0, 0x1\n\
bls _080D6906\n\
subs r0, r7, r1\n\
subs r0, r5, r0\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
cmp r5, 0\n\
beq _080D6914\n\
adds r0, r4, r1\n\
ldr r1, [r0]\n\
lsls r0, r6, 2\n\
adds r1, r0, r1\n\
ldrh r0, [r1]\n\
cmp r0, r8\n\
bne _080D68AC\n\
adds r0, r1, 0x2\n\
str r2, [sp]\n\
bl GetBagItemQuantity\n\
lsls r0, 16\n\
lsrs r1, r0, 16\n\
adds r0, r1, r5\n\
ldr r2, [sp]\n\
cmp r0, r7\n\
ble _080D6914\n\
mov r0, r10\n\
cmp r0, 0x1\n\
bls _080D6906\n\
subs r0, r7, r1\n\
subs r0, r5, r0\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
cmp r5, 0\n\
beq _080D6914\n\
_080D68AC:\n\
adds r0, r6, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
ldr r1, =gBagPockets\n\
adds r0, r4, r1\n\
ldrb r0, [r0, 0x4]\n\
cmp r6, r0\n\
bcc _080D6878\n\
adds r0, r6, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
ldr r1, =gBagPockets\n\
adds r0, r4, r1\n\
ldrb r0, [r0, 0x4]\n\
cmp r6, r0\n\
bcc _080D6878\n\
_080D68BC:\n\
cmp r5, 0\n\
beq _080D6914\n\
movs r6, 0\n\
ldr r3, =gBagPockets\n\
mov r1, r9\n\
adds r0, r1, r3\n\
ldrb r0, [r0, 0x4]\n\
cmp r6, r0\n\
bcs _080D6902\n\
adds r4, r3, 0\n\
subs r0, r2, 0x2\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
cmp r5, 0\n\
beq _080D6914\n\
movs r6, 0\n\
ldr r3, =gBagPockets\n\
mov r1, r9\n\
adds r0, r1, r3\n\
ldrb r0, [r0, 0x4]\n\
cmp r6, r0\n\
bcs _080D6902\n\
adds r4, r3, 0\n\
subs r0, r2, 0x2\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
_080D68D6:\n\
adds r0, r1, r4\n\
ldr r1, [r0]\n\
lsls r0, r6, 2\n\
adds r0, r1\n\
ldrh r0, [r0]\n\
cmp r0, 0\n\
bne _080D68F2\n\
cmp r5, r7\n\
bls _080D6914\n\
cmp r2, 0x1\n\
bls _080D6906\n\
subs r0, r5, r7\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
adds r0, r1, r4\n\
ldr r1, [r0]\n\
lsls r0, r6, 2\n\
adds r0, r1\n\
ldrh r0, [r0]\n\
cmp r0, 0\n\
bne _080D68F2\n\
cmp r5, r7\n\
bls _080D6914\n\
cmp r2, 0x1\n\
bls _080D6906\n\
subs r0, r5, r7\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
_080D68F2:\n\
adds r0, r6, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
mov r1, r9\n\
adds r0, r1, r3\n\
ldrb r0, [r0, 0x4]\n\
cmp r6, r0\n\
bcc _080D68D6\n\
adds r0, r6, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
mov r1, r9\n\
adds r0, r1, r3\n\
ldrb r0, [r0, 0x4]\n\
cmp r6, r0\n\
bcc _080D68D6\n\
_080D6902:\n\
cmp r5, 0\n\
beq _080D6914\n\
cmp r5, 0\n\
beq _080D6914\n\
_080D6906:\n\
movs r0, 0\n\
b _080D6916\n\
.pool\n\
movs r0, 0\n\
b _080D6916\n\
.pool\n\
_080D6914:\n\
movs r0, 0x1\n\
movs r0, 0x1\n\
_080D6916:\n\
add sp, 0x4\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r1}\n\
bx r1");
add sp, 0x4\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r1}\n\
bx r1");
}
#endif // NONMATCHING

View File

@ -2,7 +2,7 @@
#include "decompress.h"
#include "graphics.h"
#include "item_icon.h"
#include "malloc.h"
#include "alloc.h"
#include "sprite.h"
#include "constants/items.h"

View File

@ -23,7 +23,7 @@
#include "link.h"
#include "mail.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "map_name_popup.h"
#include "menu.h"
#include "money.h"

View File

@ -338,8 +338,8 @@ static const struct Landmark *const Landmarks_MtChimney_2[] =
static const struct LandmarkList gLandmarkLists[] =
{
{MAPSEC_ROUTE_103, 2, Landmarks_Route103_2},
{MAPSEC_ROUTE_104, 0, Landmarks_Route104_0},
{MAPSEC_ROUTE_103, 2, Landmarks_Route103_2},
{MAPSEC_ROUTE_104, 0, Landmarks_Route104_0},
{MAPSEC_ROUTE_104, 1, Landmarks_Route104_1},
{MAPSEC_ROUTE_105, 0, Landmarks_Route105_0},
{MAPSEC_ROUTE_106, 1, Landmarks_Route106_1},

View File

@ -9,7 +9,7 @@
#include "gpu_regs.h"
#include "learn_move.h"
#include "list_menu.h"
#include "malloc.h"
#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "overworld.h"

View File

@ -2,7 +2,7 @@
// Includes
#include "global.h"
#include "m4a.h"
#include "malloc.h"
#include "alloc.h"
#include "reset_save_heap.h"
#include "save.h"
#include "bg.h"

View File

@ -1,4 +1,5 @@
#include "global.h"
#include "alloc.h"
#include "battle.h"
#include "berry_blender.h"
#include "decompress.h"
@ -7,7 +8,6 @@
#include "librfu.h"
#include "link.h"
#include "link_rfu.h"
#include "malloc.h"
#include "overworld.h"
#include "random.h"
#include "palette.h"
@ -276,7 +276,7 @@ const struct {
{ gBlockSendBuffer, 40 }
};
const u16 gUnknown_082ED6E0[] = {
0x0002, 0x7f7d, 0x0000, 0xffff
0x0002, 0x7f7d, 0x0000, 0xFFFF
};
const char sUnref_082ED6E8[][15] = {
@ -1469,7 +1469,7 @@ static u8 sub_800D294(void)
for (i = 0; i < gUnknown_03007890->unk_08; i++)
{
for (ptr = gUnknown_03004140.unk_20; *ptr != 0xffff; ptr++)
for (ptr = gUnknown_03004140.unk_20; *ptr != 0xFFFF; ptr++)
{
if (gUnknown_03007890->unk_14[i].unk_04 == *ptr)
{
@ -3077,7 +3077,7 @@ bool32 sub_800F1E0(void)
{
if (gUnknown_03005000.unk_14[i][1])
{
if (gUnknown_03005000.unk_cee[i] != 0xff && (gUnknown_03005000.unk_14[i][0] >> 5) != ((gUnknown_03005000.unk_cee[i] + 1) & 7))
if (gUnknown_03005000.unk_cee[i] != 0xFF && (gUnknown_03005000.unk_14[i][0] >> 5) != ((gUnknown_03005000.unk_cee[i] + 1) & 7))
{
if (++gUnknown_03005000.unk_cea[i] > 4)
sub_8011170(0x8100);
@ -3778,7 +3778,7 @@ bool32 sub_8010454(u32 a0)
s32 i;
for (i = 0; gUnknown_082ED6E0[i] != a0; i++)
{
if (gUnknown_082ED6E0[i] == 0xffff)
if (gUnknown_082ED6E0[i] == 0xFFFF)
return FALSE;
}
return TRUE;
@ -3906,7 +3906,7 @@ void sub_80106D4(void)
u32 sub_8010714(u16 a0, const u8 *a1)
{
u8 r0 = sub_8011CE4(a1, a0);
if (r0 == 0xff)
if (r0 == 0xFF)
return 2;
if (gUnknown_03007880[r0]->unk_0 == 0)
return 1;

View File

@ -8,7 +8,7 @@
#include "trig.h"
#include "decompress.h"
#include "palette.h"
#include "malloc.h"
#include "alloc.h"
#include "strings.h"
#include "sound.h"
#include "constants/songs.h"
@ -953,52 +953,52 @@ void ListMenuSetUnkIndicatorsStructField(u8 taskId, u8 field, s32 value)
case 0:
case 1:
data->field_4 = (void*)(value);
break;
break;
case 2:
data->field_C = value;
break;
break;
case 3:
data->field_E = value;
break;
break;
case 4:
data->field_10 = value;
break;
break;
case 5:
data->field_11 = value;
break;
break;
case 6:
data->field_12 = value;
break;
break;
case 7:
data->field_13 = value;
break;
break;
case 8:
data->field_14_0 = value;
break;
break;
case 9:
data->field_14_1 = value;
break;
break;
case 10:
data->field_15_0 = value;
break;
break;
case 11:
data->field_15_1 = value;
break;
break;
case 12:
data->field_16_0 = value;
break;
break;
case 13:
data->field_16_1 = value;
break;
break;
case 14:
data->field_16_2 = value;
break;
break;
case 15:
data->field_17_0 = value;
break;
break;
case 16:
data->field_17_1 = value;
break;
break;
}
}

View File

@ -4,7 +4,7 @@
#include "main.h"
#include "pokemon.h"
#include "random.h"
#include "malloc.h"
#include "alloc.h"
#include "item.h"
#include "overworld.h"
#include "decoration_inventory.h"

View File

@ -17,7 +17,7 @@
#include "bg.h"
#include "pokemon_icon.h"
#include "constants/species.h"
#include "malloc.h"
#include "alloc.h"
#include "easy_chat.h"
extern const u16 gMailPalette_Orange[];

Some files were not shown because too many files have changed in this diff Show More