Merge pull request #429 from nullableVoidPtr/master

Various fixes and cleanups
This commit is contained in:
Diegoisawesome 2018-12-08 21:44:12 -06:00 committed by GitHub
commit 0b91d2948a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
125 changed files with 29614 additions and 25811 deletions

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

@ -5,382 +5,382 @@
#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_USEDMOVE 4
#define STRINGID_BATTLEEND 5
// 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
#endif // GUARD_CONSTANTS_BATTLE_STRING_IDS_H

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

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

@ -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);

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

@ -463,7 +463,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"

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

@ -543,11 +543,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
@ -647,225 +647,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"
@ -507,35 +507,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] = _("どく$$$$$");
@ -3610,85 +3610,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
@ -4591,10 +4591,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);
}
u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves)
@ -5594,7 +5594,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

@ -677,45 +677,45 @@ 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_PARALYSIS
BattleScript_MoveEffectSleep, // MOVE_EFFECT_ATK_DEF_DOWN
BattleScript_MoveEffectRecoil, // MOVE_EFFECT_RECOIL_33
[0] = BattleScript_MoveEffectSleep,
[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_FLINCH] = BattleScript_MoveEffectSleep,
[MOVE_EFFECT_TRI_ATTACK] = BattleScript_MoveEffectSleep,
[MOVE_EFFECT_UPROAR] = BattleScript_MoveEffectUproar,
[MOVE_EFFECT_PAYDAY] = BattleScript_MoveEffectPayDay,
[MOVE_EFFECT_CHARGING] = BattleScript_MoveEffectSleep,
[MOVE_EFFECT_WRAP] = BattleScript_MoveEffectWrap,
[MOVE_EFFECT_RECOIL_25] = BattleScript_MoveEffectRecoil,
[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_PARALYSIS] = BattleScript_MoveEffectSleep,
[MOVE_EFFECT_ATK_DEF_DOWN] = BattleScript_MoveEffectSleep,
[MOVE_EFFECT_RECOIL_33] = BattleScript_MoveEffectRecoil,
};
static const struct WindowTemplate sUnusedWinTemplate = {0, 1, 3, 7, 0xF, 0x1F, 0x3F};
@ -768,26 +768,26 @@ static const u16 sProtectSuccessRates[] = {USHRT_MAX, USHRT_MAX / 2, USHRT_MAX /
static const u16 sMovesForbiddenToCopy[] =
{
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,
METRONOME_FORBIDDEN_END
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,
METRONOME_FORBIDDEN_END
};
static const u8 sFlailHpScaleToPowerTable[] =
@ -828,38 +828,38 @@ static const u16 sWeightToDamageTable[] =
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[] =
@ -917,10 +917,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
};
static void atk00_attackcanceler(void)
@ -3403,8 +3403,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)
@ -4490,24 +4490,24 @@ 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_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_COUNT,
};
static void atk49_moveend(void)
@ -5560,7 +5560,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);

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

@ -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

@ -532,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];
@ -541,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];
}
}
@ -681,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;
}
@ -700,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]);
}
}
@ -725,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

@ -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"

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[];

View File

@ -1,6 +1,6 @@
#include "global.h"
#include "crt0.h"
#include "malloc.h"
#include "alloc.h"
#include "link.h"
#include "link_rfu.h"
#include "librfu.h"

View File

@ -335,25 +335,25 @@ static const struct MenuAction sMenuActions_Gender[] = {
static const u8 *const gMalePresetNames[] = {
gText_DefaultNameStu,
gText_DefaultNameMilton,
gText_DefaultNameTom,
gText_DefaultNameKenny,
gText_DefaultNameReid,
gText_DefaultNameJude,
gText_DefaultNameJaxson,
gText_DefaultNameEaston,
gText_DefaultNameWalker,
gText_DefaultNameTeru,
gText_DefaultNameJohnny,
gText_DefaultNameBrett,
gText_DefaultNameSeth,
gText_DefaultNameTerry,
gText_DefaultNameCasey,
gText_DefaultNameDarren,
gText_DefaultNameLandon,
gText_DefaultNameCollin,
gText_DefaultNameStanley,
gText_DefaultNameQuincy
gText_DefaultNameMilton,
gText_DefaultNameTom,
gText_DefaultNameKenny,
gText_DefaultNameReid,
gText_DefaultNameJude,
gText_DefaultNameJaxson,
gText_DefaultNameEaston,
gText_DefaultNameWalker,
gText_DefaultNameTeru,
gText_DefaultNameJohnny,
gText_DefaultNameBrett,
gText_DefaultNameSeth,
gText_DefaultNameTerry,
gText_DefaultNameCasey,
gText_DefaultNameDarren,
gText_DefaultNameLandon,
gText_DefaultNameCollin,
gText_DefaultNameStanley,
gText_DefaultNameQuincy
};
static const u8 *const gFemalePresetNames[] = {

View File

@ -1,210 +0,0 @@
#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

@ -7,7 +7,7 @@
#include "main.h"
#include "sound.h"
#include "menu_helpers.h"
#include "malloc.h"
#include "alloc.h"
#include "task.h"
#include "dma3.h"
#include "string_util.h"
@ -2096,253 +2096,253 @@ void sub_819A080(struct UnkStruct_819A080 *a0, struct UnkStruct_819A080 *a1, u16
NAKED
void sub_819A080(struct UnkStruct_819A080 *a0, struct UnkStruct_819A080 *a1, u16 a2, u16 a3, u16 a4, u16 a5, u16 a6, u16 a7)
{
asm("push {r4-r7,lr}\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, #0x28\n\
str r0, [sp]\n\
str r1, [sp, #0x4]\n\
ldr r0, [sp, #0x48]\n\
ldr r4, [sp, #0x4C]\n\
ldr r1, [sp, #0x50]\n\
ldr r5, [sp, #0x54]\n\
lsl r2, #16\n\
lsr r2, #16\n\
str r2, [sp, #0x8]\n\
lsl r3, #16\n\
lsr r3, #16\n\
lsl r0, #16\n\
lsr r0, #16\n\
str r0, [sp, #0xC]\n\
lsl r4, #16\n\
lsr r4, #16\n\
lsl r1, #16\n\
lsr r1, #16\n\
lsl r5, #16\n\
lsr r5, #16\n\
ldr r2, [sp, #0x4]\n\
ldrh r0, [r2, #0x4]\n\
ldr r2, [sp, #0xC]\n\
sub r0, r2\n\
ldr r2, [sp, #0x8]\n\
add r2, r1, r2\n\
str r2, [sp, #0x10]\n\
cmp r0, r1\n\
bge _0819A0CC\n\
ldr r1, [sp, #0x8]\n\
add r0, r1\n\
str r0, [sp, #0x10]\n\
asm("push {r4-r7,lr}\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, #0x28\n\
str r0, [sp]\n\
str r1, [sp, #0x4]\n\
ldr r0, [sp, #0x48]\n\
ldr r4, [sp, #0x4C]\n\
ldr r1, [sp, #0x50]\n\
ldr r5, [sp, #0x54]\n\
lsl r2, #16\n\
lsr r2, #16\n\
str r2, [sp, #0x8]\n\
lsl r3, #16\n\
lsr r3, #16\n\
lsl r0, #16\n\
lsr r0, #16\n\
str r0, [sp, #0xC]\n\
lsl r4, #16\n\
lsr r4, #16\n\
lsl r1, #16\n\
lsr r1, #16\n\
lsl r5, #16\n\
lsr r5, #16\n\
ldr r2, [sp, #0x4]\n\
ldrh r0, [r2, #0x4]\n\
ldr r2, [sp, #0xC]\n\
sub r0, r2\n\
ldr r2, [sp, #0x8]\n\
add r2, r1, r2\n\
str r2, [sp, #0x10]\n\
cmp r0, r1\n\
bge _0819A0CC\n\
ldr r1, [sp, #0x8]\n\
add r0, r1\n\
str r0, [sp, #0x10]\n\
_0819A0CC:\n\
ldr r2, [sp, #0x4]\n\
ldrh r1, [r2, #0x6]\n\
sub r0, r1, r4\n\
cmp r0, r5\n\
bge _0819A0DE\n\
add r0, r3, r1\n\
sub r0, r4\n\
str r0, [sp, #0x14]\n\
b _0819A0E2\n\
ldr r2, [sp, #0x4]\n\
ldrh r1, [r2, #0x6]\n\
sub r0, r1, r4\n\
cmp r0, r5\n\
bge _0819A0DE\n\
add r0, r3, r1\n\
sub r0, r4\n\
str r0, [sp, #0x14]\n\
b _0819A0E2\n\
_0819A0DE:\n\
add r5, r3, r5\n\
str r5, [sp, #0x14]\n\
add r5, r3, r5\n\
str r5, [sp, #0x14]\n\
_0819A0E2:\n\
ldr r0, [sp]\n\
ldrh r1, [r0, #0x4]\n\
mov r2, #0x7\n\
add r0, r1, #0\n\
and r0, r2\n\
add r1, r0\n\
asr r1, #3\n\
str r1, [sp, #0x18]\n\
ldr r0, [sp, #0x4]\n\
ldrh r1, [r0, #0x4]\n\
add r0, r1, #0\n\
and r0, r2\n\
add r1, r0\n\
asr r1, #3\n\
str r1, [sp, #0x1C]\n\
mov r12, r3\n\
mov r8, r4\n\
ldr r1, [sp, #0x14]\n\
cmp r12, r1\n\
blt _0819A10C\n\
b _0819A24A\n\
ldr r0, [sp]\n\
ldrh r1, [r0, #0x4]\n\
mov r2, #0x7\n\
add r0, r1, #0\n\
and r0, r2\n\
add r1, r0\n\
asr r1, #3\n\
str r1, [sp, #0x18]\n\
ldr r0, [sp, #0x4]\n\
ldrh r1, [r0, #0x4]\n\
add r0, r1, #0\n\
and r0, r2\n\
add r1, r0\n\
asr r1, #3\n\
str r1, [sp, #0x1C]\n\
mov r12, r3\n\
mov r8, r4\n\
ldr r1, [sp, #0x14]\n\
cmp r12, r1\n\
blt _0819A10C\n\
b _0819A24A\n\
_0819A10C:\n\
ldr r5, [sp, #0x8]\n\
ldr r6, [sp, #0xC]\n\
mov r2, r12\n\
add r2, #0x1\n\
str r2, [sp, #0x20]\n\
mov r0, r8\n\
add r0, #0x1\n\
str r0, [sp, #0x24]\n\
ldr r1, [sp, #0x10]\n\
cmp r5, r1\n\
blt _0819A124\n\
b _0819A23A\n\
ldr r5, [sp, #0x8]\n\
ldr r6, [sp, #0xC]\n\
mov r2, r12\n\
add r2, #0x1\n\
str r2, [sp, #0x20]\n\
mov r0, r8\n\
add r0, #0x1\n\
str r0, [sp, #0x24]\n\
ldr r1, [sp, #0x10]\n\
cmp r5, r1\n\
blt _0819A124\n\
b _0819A23A\n\
_0819A124:\n\
mov r7, #0x1\n\
mov r2, #0xF0\n\
mov r10, r2\n\
mov r0, #0xF\n\
mov r9, r0\n\
mov r7, #0x1\n\
mov r2, #0xF0\n\
mov r10, r2\n\
mov r0, #0xF\n\
mov r9, r0\n\
_0819A12E:\n\
asr r0, r5, #1\n\
mov r1, #0x3\n\
and r0, r1\n\
ldr r2, [sp]\n\
ldr r1, [r2]\n\
add r1, r0\n\
asr r0, r5, #3\n\
lsl r0, #5\n\
add r1, r0\n\
mov r2, r12\n\
asr r0, r2, #3\n\
ldr r2, [sp, #0x18]\n\
mul r0, r2\n\
lsl r0, #5\n\
add r1, r0\n\
mov r2, r12\n\
lsl r0, r2, #29\n\
lsr r0, #27\n\
add r3, r1, r0\n\
asr r0, r6, #1\n\
mov r1, #0x3\n\
and r0, r1\n\
ldr r2, [sp, #0x4]\n\
ldr r1, [r2]\n\
add r1, r0\n\
asr r0, r6, #3\n\
lsl r0, #5\n\
add r1, r0\n\
mov r2, r8\n\
asr r0, r2, #3\n\
ldr r2, [sp, #0x1C]\n\
mul r0, r2\n\
lsl r0, #5\n\
add r1, r0\n\
mov r2, r8\n\
lsl r0, r2, #29\n\
lsr r0, #27\n\
add r4, r1, r0\n\
add r0, r4, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A1DA\n\
sub r4, #0x1\n\
add r0, r6, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A1B2\n\
ldrh r0, [r4]\n\
ldr r2, =0x00000fff\n\
and r2, r0\n\
add r0, r5, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A1A8\n\
ldrb r1, [r3]\n\
mov r0, r10\n\
and r0, r1\n\
lsl r0, #8\n\
b _0819A22A\n\
.pool\n\
asr r0, r5, #1\n\
mov r1, #0x3\n\
and r0, r1\n\
ldr r2, [sp]\n\
ldr r1, [r2]\n\
add r1, r0\n\
asr r0, r5, #3\n\
lsl r0, #5\n\
add r1, r0\n\
mov r2, r12\n\
asr r0, r2, #3\n\
ldr r2, [sp, #0x18]\n\
mul r0, r2\n\
lsl r0, #5\n\
add r1, r0\n\
mov r2, r12\n\
lsl r0, r2, #29\n\
lsr r0, #27\n\
add r3, r1, r0\n\
asr r0, r6, #1\n\
mov r1, #0x3\n\
and r0, r1\n\
ldr r2, [sp, #0x4]\n\
ldr r1, [r2]\n\
add r1, r0\n\
asr r0, r6, #3\n\
lsl r0, #5\n\
add r1, r0\n\
mov r2, r8\n\
asr r0, r2, #3\n\
ldr r2, [sp, #0x1C]\n\
mul r0, r2\n\
lsl r0, #5\n\
add r1, r0\n\
mov r2, r8\n\
lsl r0, r2, #29\n\
lsr r0, #27\n\
add r4, r1, r0\n\
add r0, r4, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A1DA\n\
sub r4, #0x1\n\
add r0, r6, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A1B2\n\
ldrh r0, [r4]\n\
ldr r2, =0x00000fff\n\
and r2, r0\n\
add r0, r5, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A1A8\n\
ldrb r1, [r3]\n\
mov r0, r10\n\
and r0, r1\n\
lsl r0, #8\n\
b _0819A22A\n\
.pool\n\
_0819A1A8:\n\
ldrb r1, [r3]\n\
mov r0, r9\n\
and r0, r1\n\
lsl r0, #12\n\
b _0819A22A\n\
ldrb r1, [r3]\n\
mov r0, r9\n\
and r0, r1\n\
lsl r0, #12\n\
b _0819A22A\n\
_0819A1B2:\n\
ldrh r0, [r4]\n\
ldr r2, =0x0000f0ff\n\
and r2, r0\n\
add r0, r5, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A1D0\n\
ldrb r1, [r3]\n\
mov r0, r10\n\
and r0, r1\n\
lsl r0, #4\n\
b _0819A22A\n\
.pool\n\
ldrh r0, [r4]\n\
ldr r2, =0x0000f0ff\n\
and r2, r0\n\
add r0, r5, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A1D0\n\
ldrb r1, [r3]\n\
mov r0, r10\n\
and r0, r1\n\
lsl r0, #4\n\
b _0819A22A\n\
.pool\n\
_0819A1D0:\n\
ldrb r1, [r3]\n\
mov r0, r9\n\
and r0, r1\n\
lsl r0, #8\n\
b _0819A22A\n\
ldrb r1, [r3]\n\
mov r0, r9\n\
and r0, r1\n\
lsl r0, #8\n\
b _0819A22A\n\
_0819A1DA:\n\
add r0, r6, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A206\n\
ldrh r0, [r4]\n\
ldr r2, =0x0000ff0f\n\
and r2, r0\n\
add r0, r5, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A1FC\n\
ldrb r1, [r3]\n\
mov r0, r10\n\
b _0819A228\n\
.pool\n\
add r0, r6, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A206\n\
ldrh r0, [r4]\n\
ldr r2, =0x0000ff0f\n\
and r2, r0\n\
add r0, r5, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A1FC\n\
ldrb r1, [r3]\n\
mov r0, r10\n\
b _0819A228\n\
.pool\n\
_0819A1FC:\n\
ldrb r1, [r3]\n\
mov r0, r9\n\
and r0, r1\n\
lsl r0, #4\n\
b _0819A22A\n\
ldrb r1, [r3]\n\
mov r0, r9\n\
and r0, r1\n\
lsl r0, #4\n\
b _0819A22A\n\
_0819A206:\n\
ldrh r0, [r4]\n\
ldr r2, =0x0000fff0\n\
and r2, r0\n\
add r0, r5, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A224\n\
ldrb r1, [r3]\n\
mov r0, r10\n\
and r0, r1\n\
lsr r0, #4\n\
b _0819A22A\n\
.pool\n\
ldrh r0, [r4]\n\
ldr r2, =0x0000fff0\n\
and r2, r0\n\
add r0, r5, #0\n\
and r0, r7\n\
cmp r0, #0\n\
beq _0819A224\n\
ldrb r1, [r3]\n\
mov r0, r10\n\
and r0, r1\n\
lsr r0, #4\n\
b _0819A22A\n\
.pool\n\
_0819A224:\n\
ldrb r1, [r3]\n\
mov r0, r9\n\
ldrb r1, [r3]\n\
mov r0, r9\n\
_0819A228:\n\
and r0, r1\n\
and r0, r1\n\
_0819A22A:\n\
orr r2, r0\n\
strh r2, [r4]\n\
add r5, #0x1\n\
add r6, #0x1\n\
ldr r0, [sp, #0x10]\n\
cmp r5, r0\n\
bge _0819A23A\n\
b _0819A12E\n\
orr r2, r0\n\
strh r2, [r4]\n\
add r5, #0x1\n\
add r6, #0x1\n\
ldr r0, [sp, #0x10]\n\
cmp r5, r0\n\
bge _0819A23A\n\
b _0819A12E\n\
_0819A23A:\n\
ldr r1, [sp, #0x20]\n\
mov r12, r1\n\
ldr r2, [sp, #0x24]\n\
mov r8, r2\n\
ldr r0, [sp, #0x14]\n\
cmp r12, r0\n\
bge _0819A24A\n\
b _0819A10C\n\
ldr r1, [sp, #0x20]\n\
mov r12, r1\n\
ldr r2, [sp, #0x24]\n\
mov r8, r2\n\
ldr r0, [sp, #0x14]\n\
cmp r12, r0\n\
bge _0819A24A\n\
b _0819A10C\n\
_0819A24A:\n\
add sp, #0x28\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, #0x28\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");
}
#endif

View File

@ -10,246 +10,246 @@
// wonder what the third flag is supposed to do
static const u8 sTileBitAttributes[] =
{
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NORMAL
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_WALL
TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_TALL_GRASS
TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_LONG_GRASS
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_04
TILE_ATTRIBUTES(FALSE, FALSE, TRUE), // MB_UNUSED_05
TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_DEEP_SAND
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SHORT_GRASS
TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_UNUSED_CAVE
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LONG_GRASS_SOUTH_EDGE
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NO_RUNNING
TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_INDOOR_ENCOUNTER
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MOUNTAIN_TOP
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BATTLE_PYRAMID_WARP
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MOSSDEEP_GYM_WARP
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MT_PYRE_HOLE
TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_POND_WATER
TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_SEMI_DEEP_WATER
TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_DEEP_WATER
TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WATERFALL
TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_SOOTOPOLIS_DEEP_WATER
TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_OCEAN_WATER
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PUDDLE
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SHALLOW_WATER
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_SOOTOPOLIS_DEEP_WATER
TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_NO_SURFACING
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_STAIRS_OUTSIDE_ABANDONED_SHIP
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SHOAL_CAVE_ENTRANCE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_1D
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_1E
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_1F
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ICE
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SAND
TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_SEAWEED
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_23
TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_ASHGRASS
TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_FOOTPRINTS
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_THIN_ICE
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_CRACKED_ICE
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_HOT_SPRINGS
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LAVARIDGE_GYM_B1F_WARP
TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_SEAWEED_NO_SURFACING
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_REFLECTION_UNDER_BRIDGE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_2C
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_2D
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_2E
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_2F
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_EAST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_WEST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_NORTH
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_SOUTH
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_NORTHEAST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_NORTHWEST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_SOUTHEAST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_SOUTHWEST
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_EAST
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_WEST
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_NORTH
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_SOUTH
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_NORTHEAST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_NORTHWEST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_SOUTHEAST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_SOUTHWEST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_EAST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_WEST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_NORTH
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_SOUTH
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_EAST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_WEST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_NORTH
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_SOUTH
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_TRICK_HOUSE_PUZZLE_8_FLOOR
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_49
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_4A
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4B
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4C
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4D
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4E
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4F
TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_EASTWARD_CURRENT
TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WESTWARD_CURRENT
TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_NORTHWARD_CURRENT
TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_SOUTHWARD_CURRENT
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_54
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_55
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_56
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_57
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_58
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_59
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5A
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5B
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5C
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5D
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5E
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5F
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NON_ANIMATED_DOOR
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LADDER
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_EAST_ARROW_WARP
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WEST_ARROW_WARP
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NORTH_ARROW_WARP
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SOUTH_ARROW_WARP
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_CRACKED_FLOOR_HOLE
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_AQUA_HIDEOUT_WARP
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LAVARIDGE_GYM_1F_WARP
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ANIMATED_DOOR
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UP_ESCALATOR
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_DOWN_ESCALATOR
TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WATER_DOOR
TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WATER_SOUTH_ARROW_WARP
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_DEEP_SOUTH_WARP
TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_UNUSED_6F
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_WARP_OR_BRIDGE
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_71
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_1
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_2
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_VERTICAL_LOG_1
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_VERTICAL_LOG_2
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_HORIZONTAL_LOG_1
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_HORIZONTAL_LOG_2
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_FORTREE_BRIDGE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_79
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_SOUTH_BRIDGE_1
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_SOUTH_BRIDGE_2
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_3
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_4
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_7E
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE110_BRIDGE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_COUNTER
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_81
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_82
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_PC
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CABLE_BOX_RESULTS_1
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_REGION_MAP
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TELEVISION
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_POKEBLOCK_FEEDER
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_88
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SLOT_MACHINE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROULETTE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CLOSED_SOOTOPOLIS_DOOR
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TRICK_HOUSE_PUZZLE_DOOR
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_PETALBURG_GYM_DOOR
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_RUNNING_SHOES_INSTRUCTION
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_QUESTIONNAIRE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_RED_CAVE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_RED_CAVE_OPEN
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BROWN_CAVE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_YELLOW_CAVE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_LEFT
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_SHRUB
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_SHRUB_OPEN
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BLUE_CAVE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_RIGHT
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_9E
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_9F
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BERRY_TREE_SOIL
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A1
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A2
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A3
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A4
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A5
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A6
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A7
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A8
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A9
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AA
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AB
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AC
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AD
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AF
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_PC
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_REGISTER_PC
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_UNUSED
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BLOCK_DECORATION
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_DECORATION
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_LARGE_MAT_EDGE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_B6
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_NORTH_WALL
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_BALLOON
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_IMPASSABLE
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_GLITTER_MAT
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_JUMP_MAT
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_SPIN_MAT
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_SOUND_MAT
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_BREAKABLE_DOOR
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SAND_ORNAMENT
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_SOUTH_AND_NORTH
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_WEST_AND_EAST
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_HOLE
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LARGE_MAT_CENTER
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_TV_SHIELD
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PLAYER_ROOM_PC_ON
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_C6
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_POSTER
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_C8
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_C9
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CA
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CB
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CC
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CD
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CF
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MUDDY_SLOPE
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BUMPY_SLOPE
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_CRACKED_FLOOR
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ISOLATED_VERTICAL_RAIL
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ISOLATED_HORIZONTAL_RAIL
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_VERTICAL_RAIL
TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_HORIZONTAL_RAIL
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_D7
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_D8
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_D9
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DA
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DB
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DC
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DD
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DF
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_PICTURE_BOOK_SHELF
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BOOKSHELF
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_POKEMON_CENTER_BOOKSHELF
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_VASE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TRASH_CAN
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SHOP_SHELF
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BLUEPRINT
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CABLE_BOX_RESULTS_2
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_WIRELESS_BOX_RESULTS
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TRAINER_HILL_TIMER
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNKNOWN_CLOSED_DOOR
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_EB
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_EC
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_ED
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_EE
TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_EF
[MB_NORMAL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_WALL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_TALL_GRASS] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
[MB_LONG_GRASS] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
[MB_UNUSED_04] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_05] = TILE_ATTRIBUTES(FALSE, FALSE, TRUE),
[MB_DEEP_SAND] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
[MB_SHORT_GRASS] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_CAVE] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
[MB_LONG_GRASS_SOUTH_EDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_NO_RUNNING] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_INDOOR_ENCOUNTER] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
[MB_MOUNTAIN_TOP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_BATTLE_PYRAMID_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_MOSSDEEP_GYM_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_MT_PYRE_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_POND_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
[MB_SEMI_DEEP_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
[MB_DEEP_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
[MB_WATERFALL] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
[MB_SOOTOPOLIS_DEEP_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
[MB_OCEAN_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
[MB_PUDDLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SHALLOW_WATER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_SOOTOPOLIS_DEEP_WATER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_NO_SURFACING] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
[MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_STAIRS_OUTSIDE_ABANDONED_SHIP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SHOAL_CAVE_ENTRANCE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_1D] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_1E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_1F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_ICE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SAND] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SEAWEED] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
[MB_UNUSED_23] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_ASHGRASS] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
[MB_FOOTPRINTS] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
[MB_THIN_ICE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_CRACKED_ICE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_HOT_SPRINGS] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_LAVARIDGE_GYM_B1F_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SEAWEED_NO_SURFACING] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
[MB_REFLECTION_UNDER_BRIDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_2C] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_2D] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_2E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_2F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_IMPASSABLE_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_IMPASSABLE_WEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_IMPASSABLE_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_IMPASSABLE_SOUTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_IMPASSABLE_NORTHEAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_IMPASSABLE_NORTHWEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_IMPASSABLE_SOUTHEAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_IMPASSABLE_SOUTHWEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_JUMP_EAST] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_JUMP_WEST] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_JUMP_NORTH] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_JUMP_SOUTH] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_JUMP_NORTHEAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_JUMP_NORTHWEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_JUMP_SOUTHEAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_JUMP_SOUTHWEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_WALK_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_WALK_WEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_WALK_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_WALK_SOUTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SLIDE_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SLIDE_WEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SLIDE_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SLIDE_SOUTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_TRICK_HOUSE_PUZZLE_8_FLOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_49] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_4A] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_4B] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_4C] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_4D] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_4E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_4F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_EASTWARD_CURRENT] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
[MB_WESTWARD_CURRENT] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
[MB_NORTHWARD_CURRENT] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
[MB_SOUTHWARD_CURRENT] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
[MB_UNUSED_54] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_55] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_56] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_57] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_58] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_59] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_5A] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_5B] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_5C] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_5D] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_5E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_5F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_NON_ANIMATED_DOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_LADDER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_EAST_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_WEST_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_NORTH_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SOUTH_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_CRACKED_FLOOR_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_AQUA_HIDEOUT_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_LAVARIDGE_GYM_1F_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_ANIMATED_DOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UP_ESCALATOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_DOWN_ESCALATOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_WATER_DOOR] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
[MB_WATER_SOUTH_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
[MB_DEEP_SOUTH_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_6F] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
[MB_WARP_OR_BRIDGE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_71] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_ROUTE120_NORTH_BRIDGE_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_ROUTE120_NORTH_BRIDGE_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_PACIFIDLOG_VERTICAL_LOG_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_PACIFIDLOG_VERTICAL_LOG_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_PACIFIDLOG_HORIZONTAL_LOG_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_PACIFIDLOG_HORIZONTAL_LOG_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_FORTREE_BRIDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_79] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_ROUTE120_SOUTH_BRIDGE_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_ROUTE120_SOUTH_BRIDGE_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_ROUTE120_NORTH_BRIDGE_3] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_ROUTE120_NORTH_BRIDGE_4] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_7E] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_ROUTE110_BRIDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_COUNTER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_81] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_82] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_PC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_CABLE_BOX_RESULTS_1] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_REGION_MAP] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_TELEVISION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_POKEBLOCK_FEEDER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_88] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SLOT_MACHINE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_ROULETTE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_CLOSED_SOOTOPOLIS_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_TRICK_HOUSE_PUZZLE_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_PETALBURG_GYM_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_RUNNING_SHOES_INSTRUCTION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_QUESTIONNAIRE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_RED_CAVE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_RED_CAVE_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_BROWN_CAVE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_YELLOW_CAVE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_TREE_LEFT] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_SHRUB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_SHRUB_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_BLUE_CAVE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_TREE_RIGHT] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_9E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_9F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_BERRY_TREE_SOIL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_A1] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_A2] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_A3] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_A4] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_A5] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_A6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_A7] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_A8] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_A9] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_AA] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_AB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_AC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_AD] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_AE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_AF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_PC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_REGISTER_PC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_UNUSED] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_BLOCK_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_DECORATION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_LARGE_MAT_EDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_B6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_NORTH_WALL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_BALLOON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_IMPASSABLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_GLITTER_MAT] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_JUMP_MAT] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_SPIN_MAT] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_SOUND_MAT] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_BREAKABLE_DOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_SAND_ORNAMENT] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_IMPASSABLE_SOUTH_AND_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_IMPASSABLE_WEST_AND_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_LARGE_MAT_CENTER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_SECRET_BASE_TV_SHIELD] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_PLAYER_ROOM_PC_ON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_C6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SECRET_BASE_POSTER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_C8] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_C9] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_CA] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_CB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_CC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_CD] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_CE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_CF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_MUDDY_SLOPE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_BUMPY_SLOPE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_CRACKED_FLOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_ISOLATED_VERTICAL_RAIL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_ISOLATED_HORIZONTAL_RAIL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_VERTICAL_RAIL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_HORIZONTAL_RAIL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
[MB_UNUSED_D7] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_D8] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_D9] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_DA] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_DB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_DC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_DD] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_DE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_DF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_PICTURE_BOOK_SHELF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_BOOKSHELF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_POKEMON_CENTER_BOOKSHELF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_VASE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_TRASH_CAN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_SHOP_SHELF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_BLUEPRINT] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_CABLE_BOX_RESULTS_2] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_WIRELESS_BOX_RESULTS] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_TRAINER_HILL_TIMER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNKNOWN_CLOSED_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_EB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_EC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_ED] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_EE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_EF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
};
bool8 MetatileBehavior_IsATile(u8 metatileBehavior)

View File

@ -1,7 +1,7 @@
#include "global.h"
#include "event_object_movement.h"
#include "fieldmap.h"
#include "malloc.h"
#include "alloc.h"
#include "mossdeep_gym.h"
#include "script_movement.h"
#include "constants/event_object_movement_constants.h"

View File

@ -1,6 +1,6 @@
#include "global.h"
#include "naming_screen.h"
#include "malloc.h"
#include "alloc.h"
#include "palette.h"
#include "task.h"
#include "sprite.h"

View File

@ -205,14 +205,14 @@ void NewGameInitData(void)
ScriptContext2_RunNewScript(EventScript_2715DE);
ResetMiniGamesResults();
copy_strings_to_sav1();
SetLilycoveLady();
ResetAllApprenticeData();
ClearRankingHallRecords();
sub_8195E10();
sub_801AFD8();
sub_800E5AC();
sub_81D54BC();
ResetContestLinkResults();
SetLilycoveLady();
ResetAllApprenticeData();
ClearRankingHallRecords();
sub_8195E10();
sub_801AFD8();
sub_800E5AC();
sub_81D54BC();
ResetContestLinkResults();
}
static void ResetMiniGamesResults(void)

View File

@ -27,7 +27,7 @@
#include "link_rfu.h"
#include "load_save.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "m4a.h"
#include "map_name_popup.h"
#include "menu.h"
@ -296,15 +296,51 @@ static const u8 sUnusedData[] =
const struct UCoords32 gDirectionToVectors[] =
{
{ 0, 0}, // DIR_NONE
{ 0, 1}, // DIR_SOUTH
{ 0, -1}, // DIR_NORTH
{-1, 0}, // DIR_WEST
{ 1, 0}, // DIR_EAST
{-1, 1}, // DIR_SOUTHWEST
{ 1, 1}, // DIR_SOUTHEAST
{-1, -1}, // DIR_NORTHWEST
{ 1, -1}, // DIR_NORTHEAST
[DIR_NONE] =
{
.x = 0,
.y = 0,
},
[DIR_SOUTH] =
{
.x = 0,
.y = 1,
},
[DIR_NORTH] =
{
.x = 0,
.y = -1,
},
[DIR_WEST] =
{
.x = -1,
.y = 0,
},
[DIR_EAST] =
{
.x = 1,
.y = 0,
},
[DIR_SOUTHWEST] =
{
.x = -1,
.y = 1,
},
[DIR_SOUTHEAST] =
{
.x = 1,
.y = 1,
},
[DIR_NORTHWEST] =
{
.x = -1,
.y = -1,
},
[DIR_NORTHEAST] =
{
.x = 1,
.y = -1,
},
};
static const struct BgTemplate gUnknown_08339DAC[] =

View File

@ -15,7 +15,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

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

View File

@ -7,7 +7,7 @@
#include "gpu_regs.h"
#include "graphics.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "m4a.h"
@ -88,31 +88,31 @@ EWRAM_DATA static struct CompressedSpritePalette sPokeblockSpritePal = {0};
// const rom data
static const u8 sNatureToMonPokeblockAnim[][2] =
{
{ 0, 0 }, // HARDY
{ 3, 0 }, // LONELY
{ 4, 1 }, // BRAVE
{ 5, 0 }, // ADAMANT
{ 10, 0 }, // NAUGHTY
{ 13, 0 }, // BOLD
{ 15, 0 }, // DOCILE
{ 16, 2 }, // RELAXED
{ 18, 0 }, // IMPISH
{ 19, 0 }, // LAX
{ 20, 0 }, // TIMID
{ 25, 0 }, // HASTY
{ 27, 3 }, // SERIOUS
{ 28, 0 }, // JOLLY
{ 29, 0 }, // NAIVE
{ 33, 4 }, // MODEST
{ 36, 0 }, // MILD
{ 37, 0 }, // QUIET
{ 39, 0 }, // BASHFUL
{ 42, 0 }, // RASH
{ 45, 0 }, // CALM
{ 46, 5 }, // GENTLE
{ 47, 6 }, // SASSY
{ 48, 0 }, // CAREFUL
{ 53, 0 }, // QUIRKY
[NATURE_HARDY] = { 0, 0 },
[NATURE_LONELY] = { 3, 0 },
[NATURE_BRAVE] = { 4, 1 },
[NATURE_ADAMANT] = { 5, 0 },
[NATURE_NAUGHTY] = { 10, 0 },
[NATURE_BOLD] = { 13, 0 },
[NATURE_DOCILE] = { 15, 0 },
[NATURE_RELAXED] = { 16, 2 },
[NATURE_IMPISH] = { 18, 0 },
[NATURE_LAX] = { 19, 0 },
[NATURE_TIMID] = { 20, 0 },
[NATURE_HASTY] = { 25, 0 },
[NATURE_SERIOUS] = { 27, 3 },
[NATURE_JOLLY] = { 28, 0 },
[NATURE_NAIVE] = { 29, 0 },
[NATURE_MODEST] = { 33, 4 },
[NATURE_MILD] = { 36, 0 },
[NATURE_QUIET] = { 37, 0 },
[NATURE_BASHFUL] = { 39, 0 },
[NATURE_RASH] = { 42, 0 },
[NATURE_CALM] = { 45, 0 },
[NATURE_GENTLE] = { 46, 5 },
[NATURE_SASSY] = { 47, 6 },
[NATURE_CAREFUL] = { 48, 0 },
[NATURE_QUIRKY] = { 53, 0 },
};
static const s16 sMonPokeblockAnims[][10] =

View File

@ -8,7 +8,7 @@
#include "graphics.h"
#include "international_string_util.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "menu.h"
#include "m4a.h"
#include "overworld.h"
@ -3577,61 +3577,61 @@ void sub_80BFD0C(u8 a, u16 unused)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
mov r7, r8\n\
push {r7}\n\
lsls r0, 24\n\
lsrs r0, 24\n\
mov r8, r0\n\
movs r0, 0x1\n\
bl GetBgTilemapBuffer\n\
adds r7, r0, 0\n\
movs r1, 0\n\
mov r7, r8\n\
push {r7}\n\
lsls r0, 24\n\
lsrs r0, 24\n\
mov r8, r0\n\
movs r0, 0x1\n\
bl GetBgTilemapBuffer\n\
adds r7, r0, 0\n\
movs r1, 0\n\
_080BFD22:\n\
lsls r0, r1, 3\n\
subs r0, r1\n\
adds r0, 0x1\n\
lsls r0, 24\n\
lsrs r5, r0, 24\n\
movs r3, 0x80\n\
lsls r3, 7\n\
cmp r1, r8\n\
bne _080BFD38\n\
movs r3, 0x80\n\
lsls r3, 6\n\
lsls r0, r1, 3\n\
subs r0, r1\n\
adds r0, 0x1\n\
lsls r0, 24\n\
lsrs r5, r0, 24\n\
movs r3, 0x80\n\
lsls r3, 7\n\
cmp r1, r8\n\
bne _080BFD38\n\
movs r3, 0x80\n\
lsls r3, 6\n\
_080BFD38:\n\
movs r2, 0\n\
adds r6, r1, 0x1\n\
ldr r4, =0x00000fff\n\
movs r2, 0\n\
adds r6, r1, 0x1\n\
ldr r4, =0x00000fff\n\
_080BFD3E:\n\
adds r1, r5, r2\n\
lsls r1, 1\n\
adds r1, r7\n\
ldrh r0, [r1]\n\
ands r0, r4\n\
orrs r0, r3\n\
strh r0, [r1]\n\
adds r1, 0x40\n\
ldrh r0, [r1]\n\
ands r0, r4\n\
orrs r0, r3\n\
strh r0, [r1]\n\
adds r0, r2, 0x1\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
cmp r2, 0x6\n\
bls _080BFD3E\n\
lsls r0, r6, 24\n\
lsrs r1, r0, 24\n\
cmp r1, 0x3\n\
bls _080BFD22\n\
movs r0, 0x1\n\
bl CopyBgTilemapBufferToVram\n\
pop {r3}\n\
mov r8, r3\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.pool\n\
adds r1, r5, r2\n\
lsls r1, 1\n\
adds r1, r7\n\
ldrh r0, [r1]\n\
ands r0, r4\n\
orrs r0, r3\n\
strh r0, [r1]\n\
adds r1, 0x40\n\
ldrh r0, [r1]\n\
ands r0, r4\n\
orrs r0, r3\n\
strh r0, [r1]\n\
adds r0, r2, 0x1\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
cmp r2, 0x6\n\
bls _080BFD3E\n\
lsls r0, r6, 24\n\
lsrs r1, r0, 24\n\
cmp r1, 0x3\n\
bls _080BFD22\n\
movs r0, 0x1\n\
bl CopyBgTilemapBufferToVram\n\
pop {r3}\n\
mov r8, r3\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.pool\n\
.syntax divided\n");
}
#endif
@ -3667,66 +3667,66 @@ void sub_80BFD7C(u8 a, u16 b)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
mov r7, r8\n\
push {r7}\n\
lsls r0, 24\n\
lsrs r0, 24\n\
mov r8, r0\n\
movs r0, 0x1\n\
bl GetBgTilemapBuffer\n\
adds r7, r0, 0\n\
movs r1, 0\n\
mov r7, r8\n\
push {r7}\n\
lsls r0, 24\n\
lsrs r0, 24\n\
mov r8, r0\n\
movs r0, 0x1\n\
bl GetBgTilemapBuffer\n\
adds r7, r0, 0\n\
movs r1, 0\n\
_080BFD92:\n\
lsls r0, r1, 3\n\
subs r0, r1\n\
adds r0, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
cmp r1, r8\n\
beq _080BFDA4\n\
cmp r1, 0x3\n\
bne _080BFDAA\n\
lsls r0, r1, 3\n\
subs r0, r1\n\
adds r0, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
cmp r1, r8\n\
beq _080BFDA4\n\
cmp r1, 0x3\n\
bne _080BFDAA\n\
_080BFDA4:\n\
movs r3, 0x80\n\
lsls r3, 6\n\
b _080BFDAE\n\
movs r3, 0x80\n\
lsls r3, 6\n\
b _080BFDAE\n\
_080BFDAA:\n\
movs r3, 0x80\n\
lsls r3, 7\n\
movs r3, 0x80\n\
lsls r3, 7\n\
_080BFDAE:\n\
movs r2, 0\n\
adds r5, r1, 0x1\n\
ldr r4, =0x00000fff\n\
movs r2, 0\n\
adds r5, r1, 0x1\n\
ldr r4, =0x00000fff\n\
_080BFDB4:\n\
adds r1, r6, r2\n\
lsls r1, 1\n\
adds r1, r7\n\
ldrh r0, [r1]\n\
ands r0, r4\n\
orrs r0, r3\n\
strh r0, [r1]\n\
adds r1, 0x40\n\
ldrh r0, [r1]\n\
ands r0, r4\n\
orrs r0, r3\n\
strh r0, [r1]\n\
adds r0, r2, 0x1\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
cmp r2, 0x6\n\
bls _080BFDB4\n\
lsls r0, r5, 24\n\
lsrs r1, r0, 24\n\
cmp r1, 0x3\n\
bls _080BFD92\n\
movs r0, 0x1\n\
bl CopyBgTilemapBufferToVram\n\
pop {r3}\n\
mov r8, r3\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.pool\n\
adds r1, r6, r2\n\
lsls r1, 1\n\
adds r1, r7\n\
ldrh r0, [r1]\n\
ands r0, r4\n\
orrs r0, r3\n\
strh r0, [r1]\n\
adds r1, 0x40\n\
ldrh r0, [r1]\n\
ands r0, r4\n\
orrs r0, r3\n\
strh r0, [r1]\n\
adds r0, r2, 0x1\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
cmp r2, 0x6\n\
bls _080BFDB4\n\
lsls r0, r5, 24\n\
lsrs r1, r0, 24\n\
cmp r1, 0x3\n\
bls _080BFD92\n\
movs r0, 0x1\n\
bl CopyBgTilemapBufferToVram\n\
pop {r3}\n\
mov r8, r3\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.pool\n\
.syntax divided\n");
}
#endif
@ -4031,216 +4031,216 @@ void sub_80C0460(u16 weight, u8 left, u8 top)
{
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, 0x14\n\
lsls r0, 16\n\
lsrs r0, 16\n\
lsls r1, 24\n\
lsrs r1, 24\n\
mov r10, r1\n\
lsls r2, 24\n\
lsrs r2, 24\n\
str r2, [sp, 0x10]\n\
ldr r5, =0x000186a0\n\
muls r0, r5\n\
ldr r1, =0x000011b8\n\
bl __divsi3\n\
adds r7, r0, 0\n\
movs r1, 0xA\n\
bl __umodsi3\n\
cmp r0, 0x4\n\
bls _080C0494\n\
adds r7, 0xA\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x14\n\
lsls r0, 16\n\
lsrs r0, 16\n\
lsls r1, 24\n\
lsrs r1, 24\n\
mov r10, r1\n\
lsls r2, 24\n\
lsrs r2, 24\n\
str r2, [sp, 0x10]\n\
ldr r5, =0x000186a0\n\
muls r0, r5\n\
ldr r1, =0x000011b8\n\
bl __divsi3\n\
adds r7, r0, 0\n\
movs r1, 0xA\n\
bl __umodsi3\n\
cmp r0, 0x4\n\
bls _080C0494\n\
adds r7, 0xA\n\
_080C0494:\n\
movs r0, 0\n\
mov r8, r0\n\
mov r4, sp\n\
adds r0, r7, 0\n\
adds r1, r5, 0\n\
bl __udivsi3\n\
adds r0, 0xA1\n\
strb r0, [r4]\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, 0xA1\n\
bne _080C04C0\n\
movs r6, 0x1\n\
mov r1, sp\n\
movs r0, 0x77\n\
strb r0, [r1]\n\
b _080C04C6\n\
.pool\n\
movs r0, 0\n\
mov r8, r0\n\
mov r4, sp\n\
adds r0, r7, 0\n\
adds r1, r5, 0\n\
bl __udivsi3\n\
adds r0, 0xA1\n\
strb r0, [r4]\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, 0xA1\n\
bne _080C04C0\n\
movs r6, 0x1\n\
mov r1, sp\n\
movs r0, 0x77\n\
strb r0, [r1]\n\
b _080C04C6\n\
.pool\n\
_080C04C0:\n\
movs r1, 0x1\n\
mov r8, r1\n\
movs r6, 0x1\n\
movs r1, 0x1\n\
mov r8, r1\n\
movs r6, 0x1\n\
_080C04C6:\n\
ldr r1, =0x000186a0\n\
adds r0, r7, 0\n\
bl __umodsi3\n\
adds r7, r0, 0\n\
mov r4, sp\n\
adds r4, 0x1\n\
ldr r1, =0x00002710\n\
bl __udivsi3\n\
adds r0, 0xA1\n\
strb r0, [r4]\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, 0xA1\n\
bne _080C0504\n\
mov r2, r8\n\
cmp r2, 0\n\
bne _080C0504\n\
adds r1, r6, 0\n\
adds r0, r1, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
add r1, sp\n\
movs r0, 0x77\n\
strb r0, [r1]\n\
b _080C050E\n\
.pool\n\
ldr r1, =0x000186a0\n\
adds r0, r7, 0\n\
bl __umodsi3\n\
adds r7, r0, 0\n\
mov r4, sp\n\
adds r4, 0x1\n\
ldr r1, =0x00002710\n\
bl __udivsi3\n\
adds r0, 0xA1\n\
strb r0, [r4]\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, 0xA1\n\
bne _080C0504\n\
mov r2, r8\n\
cmp r2, 0\n\
bne _080C0504\n\
adds r1, r6, 0\n\
adds r0, r1, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
add r1, sp\n\
movs r0, 0x77\n\
strb r0, [r1]\n\
b _080C050E\n\
.pool\n\
_080C0504:\n\
movs r3, 0x1\n\
mov r8, r3\n\
adds r0, r6, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
movs r3, 0x1\n\
mov r8, r3\n\
adds r0, r6, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
_080C050E:\n\
ldr r1, =0x00002710\n\
adds r0, r7, 0\n\
bl __umodsi3\n\
adds r7, r0, 0\n\
mov r0, sp\n\
adds r4, r0, r6\n\
movs r1, 0xFA\n\
lsls r1, 2\n\
adds r0, r7, 0\n\
bl __udivsi3\n\
adds r0, 0xA1\n\
strb r0, [r4]\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, 0xA1\n\
bne _080C054C\n\
mov r1, r8\n\
cmp r1, 0\n\
bne _080C054C\n\
adds r1, r6, 0\n\
adds r0, r1, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
add r1, sp\n\
movs r0, 0x77\n\
strb r0, [r1]\n\
b _080C0552\n\
.pool\n\
ldr r1, =0x00002710\n\
adds r0, r7, 0\n\
bl __umodsi3\n\
adds r7, r0, 0\n\
mov r0, sp\n\
adds r4, r0, r6\n\
movs r1, 0xFA\n\
lsls r1, 2\n\
adds r0, r7, 0\n\
bl __udivsi3\n\
adds r0, 0xA1\n\
strb r0, [r4]\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, 0xA1\n\
bne _080C054C\n\
mov r1, r8\n\
cmp r1, 0\n\
bne _080C054C\n\
adds r1, r6, 0\n\
adds r0, r1, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
add r1, sp\n\
movs r0, 0x77\n\
strb r0, [r1]\n\
b _080C0552\n\
.pool\n\
_080C054C:\n\
adds r0, r6, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r0, r6, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
_080C0552:\n\
movs r1, 0xFA\n\
lsls r1, 2\n\
adds r0, r7, 0\n\
bl __umodsi3\n\
adds r7, r0, 0\n\
adds r1, r6, 0\n\
adds r0, r1, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r5, r6, 0\n\
mov r2, sp\n\
adds r4, r2, r1\n\
adds r0, r7, 0\n\
movs r1, 0x64\n\
bl __udivsi3\n\
adds r0, 0xA1\n\
movs r3, 0\n\
mov r9, r3\n\
strb r0, [r4]\n\
adds r0, r7, 0\n\
movs r1, 0x64\n\
bl __umodsi3\n\
adds r7, r0, 0\n\
adds r0, r5, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r1, r6, 0\n\
mov r2, sp\n\
adds r0, r2, r5\n\
movs r3, 0xAD\n\
mov r8, r3\n\
mov r2, r8\n\
strb r2, [r0]\n\
adds r0, r1, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r5, r6, 0\n\
mov r3, sp\n\
adds r4, r3, r1\n\
adds r0, r7, 0\n\
movs r1, 0xA\n\
bl __udivsi3\n\
adds r0, 0xA1\n\
strb r0, [r4]\n\
adds r0, r5, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r1, r6, 0\n\
mov r2, sp\n\
adds r0, r2, r5\n\
mov r3, r9\n\
strb r3, [r0]\n\
adds r0, r1, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r2, r6, 0\n\
add r1, sp\n\
movs r0, 0xE0\n\
strb r0, [r1]\n\
adds r0, r2, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r3, r6, 0\n\
mov r0, sp\n\
adds r1, r0, r2\n\
movs r0, 0xD6\n\
strb r0, [r1]\n\
adds r0, r3, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r2, r6, 0\n\
mov r0, sp\n\
adds r1, r0, r3\n\
movs r0, 0xE7\n\
strb r0, [r1]\n\
adds r0, r2, 0x1\n\
lsls r0, 24\n\
lsrs r0, 24\n\
mov r3, sp\n\
adds r1, r3, r2\n\
mov r2, r8\n\
strb r2, [r1]\n\
adds r1, r3, r0\n\
movs r0, 0xFF\n\
strb r0, [r1]\n\
mov r0, sp\n\
mov r1, r10\n\
ldr r2, [sp, 0x10]\n\
bl sub_80BE8DC\n\
add sp, 0x14\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\
movs r1, 0xFA\n\
lsls r1, 2\n\
adds r0, r7, 0\n\
bl __umodsi3\n\
adds r7, r0, 0\n\
adds r1, r6, 0\n\
adds r0, r1, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r5, r6, 0\n\
mov r2, sp\n\
adds r4, r2, r1\n\
adds r0, r7, 0\n\
movs r1, 0x64\n\
bl __udivsi3\n\
adds r0, 0xA1\n\
movs r3, 0\n\
mov r9, r3\n\
strb r0, [r4]\n\
adds r0, r7, 0\n\
movs r1, 0x64\n\
bl __umodsi3\n\
adds r7, r0, 0\n\
adds r0, r5, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r1, r6, 0\n\
mov r2, sp\n\
adds r0, r2, r5\n\
movs r3, 0xAD\n\
mov r8, r3\n\
mov r2, r8\n\
strb r2, [r0]\n\
adds r0, r1, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r5, r6, 0\n\
mov r3, sp\n\
adds r4, r3, r1\n\
adds r0, r7, 0\n\
movs r1, 0xA\n\
bl __udivsi3\n\
adds r0, 0xA1\n\
strb r0, [r4]\n\
adds r0, r5, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r1, r6, 0\n\
mov r2, sp\n\
adds r0, r2, r5\n\
mov r3, r9\n\
strb r3, [r0]\n\
adds r0, r1, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r2, r6, 0\n\
add r1, sp\n\
movs r0, 0xE0\n\
strb r0, [r1]\n\
adds r0, r2, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r3, r6, 0\n\
mov r0, sp\n\
adds r1, r0, r2\n\
movs r0, 0xD6\n\
strb r0, [r1]\n\
adds r0, r3, 0x1\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
adds r2, r6, 0\n\
mov r0, sp\n\
adds r1, r0, r3\n\
movs r0, 0xE7\n\
strb r0, [r1]\n\
adds r0, r2, 0x1\n\
lsls r0, 24\n\
lsrs r0, 24\n\
mov r3, sp\n\
adds r1, r3, r2\n\
mov r2, r8\n\
strb r2, [r1]\n\
adds r1, r3, r0\n\
movs r0, 0xFF\n\
strb r0, [r1]\n\
mov r0, sp\n\
mov r1, r10\n\
ldr r2, [sp, 0x10]\n\
bl sub_80BE8DC\n\
add sp, 0x14\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\n");
}
#endif
@ -4763,7 +4763,6 @@ int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8
sPokedexView->pokedexList[i].dexNum = 0xFFFF;
sPokedexView->pokedexList[i].seen = FALSE;
sPokedexView->pokedexList[i].owned = FALSE;
}
}
@ -5234,54 +5233,54 @@ void sub_80C1D98(u8 a, u8 b, u8 c, u8 d)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
mov r7, r8\n\
push {r7}\n\
adds r4, r3, 0\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
lsls r1, 24\n\
lsrs r1, 24\n\
mov r8, r1\n\
lsls r2, 24\n\
lsrs r5, r2, 24\n\
lsls r4, 24\n\
lsrs r4, 24\n\
movs r0, 0x3\n\
bl GetBgTilemapBuffer\n\
adds r2, r0, 0\n\
movs r3, 0\n\
cmp r3, r4\n\
bcs _080C1DEC\n\
lsls r0, r5, 6\n\
adds r7, r0, r2\n\
ldr r5, =0x00000fff\n\
lsls r2, r6, 12\n\
mov r7, r8\n\
push {r7}\n\
adds r4, r3, 0\n\
lsls r0, 24\n\
lsrs r6, r0, 24\n\
lsls r1, 24\n\
lsrs r1, 24\n\
mov r8, r1\n\
lsls r2, 24\n\
lsrs r5, r2, 24\n\
lsls r4, 24\n\
lsrs r4, 24\n\
movs r0, 0x3\n\
bl GetBgTilemapBuffer\n\
adds r2, r0, 0\n\
movs r3, 0\n\
cmp r3, r4\n\
bcs _080C1DEC\n\
lsls r0, r5, 6\n\
adds r7, r0, r2\n\
ldr r5, =0x00000fff\n\
lsls r2, r6, 12\n\
_080C1DC8:\n\
mov r0, r8\n\
adds r1, r0, r3\n\
lsls r1, 1\n\
adds r1, r7\n\
ldrh r0, [r1]\n\
ands r0, r5\n\
orrs r0, r2\n\
strh r0, [r1]\n\
adds r1, 0x40\n\
ldrh r0, [r1]\n\
ands r0, r5\n\
orrs r0, r2\n\
strh r0, [r1]\n\
adds r0, r3, 0x1\n\
lsls r0, 16\n\
lsrs r3, r0, 16\n\
cmp r3, r4\n\
bcc _080C1DC8\n\
mov r0, r8\n\
adds r1, r0, r3\n\
lsls r1, 1\n\
adds r1, r7\n\
ldrh r0, [r1]\n\
ands r0, r5\n\
orrs r0, r2\n\
strh r0, [r1]\n\
adds r1, 0x40\n\
ldrh r0, [r1]\n\
ands r0, r5\n\
orrs r0, r2\n\
strh r0, [r1]\n\
adds r0, r3, 0x1\n\
lsls r0, 16\n\
lsrs r3, r0, 16\n\
cmp r3, r4\n\
bcc _080C1DC8\n\
_080C1DEC:\n\
pop {r3}\n\
mov r8, r3\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.pool\n\
pop {r3}\n\
mov r8, r3\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.pool\n\
.syntax divided\n");
}
#endif

View File

@ -4,7 +4,7 @@
#include "gpu_regs.h"
#include "graphics.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "menu.h"
#include "overworld.h"
#include "palette.h"

View File

@ -2,7 +2,7 @@
#include "bg.h"
#include "m4a.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "palette.h"
#include "pokedex_cry_screen.h"
#include "sound.h"

File diff suppressed because it is too large Load Diff

View File

@ -786,31 +786,31 @@ static const u8 sBackAnimationIds[] =
static const u8 sBackAnimNatureModTable[] =
{
0x00, // NATURE_HARDY
0x02, // NATURE_LONELY
0x00, // NATURE_BRAVE
0x00, // NATURE_ADAMANT
0x00, // NATURE_NAUGHTY
0x01, // NATURE_BOLD
0x01, // NATURE_DOCILE
0x01, // NATURE_RELAXED
0x00, // NATURE_IMPISH
0x01, // NATURE_LAX
0x02, // NATURE_TIMID
0x00, // NATURE_HASTY
0x01, // NATURE_SERIOUS
0x00, // NATURE_JOLLY
0x00, // NATURE_NAIVE
0x02, // NATURE_MODEST
0x02, // NATURE_MILD
0x02, // NATURE_QUIET
0x02, // NATURE_BASHFUL
0x01, // NATURE_RASH
0x01, // NATURE_CALM
0x02, // NATURE_GENTLE
0x01, // NATURE_SASSY
0x02, // NATURE_CAREFUL
0x01, // NATURE_QUIRKY
[NATURE_HARDY] = 0x00,
[NATURE_LONELY] = 0x02,
[NATURE_BRAVE] = 0x00,
[NATURE_ADAMANT] = 0x00,
[NATURE_NAUGHTY] = 0x00,
[NATURE_BOLD] = 0x01,
[NATURE_DOCILE] = 0x01,
[NATURE_RELAXED] = 0x01,
[NATURE_IMPISH] = 0x00,
[NATURE_LAX] = 0x01,
[NATURE_TIMID] = 0x02,
[NATURE_HASTY] = 0x00,
[NATURE_SERIOUS] = 0x01,
[NATURE_JOLLY] = 0x00,
[NATURE_NAIVE] = 0x00,
[NATURE_MODEST] = 0x02,
[NATURE_MILD] = 0x02,
[NATURE_QUIET] = 0x02,
[NATURE_BASHFUL] = 0x02,
[NATURE_RASH] = 0x01,
[NATURE_CALM] = 0x01,
[NATURE_GENTLE] = 0x02,
[NATURE_SASSY] = 0x01,
[NATURE_CAREFUL] = 0x02,
[NATURE_QUIRKY] = 0x01,
};
static const union AffineAnimCmd sSpriteAffineAnim_860AD48[] =
@ -1164,67 +1164,67 @@ NAKED
static void sub_817F9F4(struct Sprite *sprite)
{
asm(".syntax unified\n\
push {r4,lr}\n\
adds r4, r0, 0\n\
movs r0, 0x32\n\
ldrsh r1, [r4, r0]\n\
movs r0, 0xC0\n\
lsls r0, 1\n\
cmp r1, r0\n\
ble _0817FA14\n\
ldr r0, =SpriteCB_SetDummyOnAnimEnd\n\
str r0, [r4, 0x1C]\n\
movs r0, 0\n\
strh r0, [r4, 0x24]\n\
b _0817FA5E\n\
.pool\n\
push {r4,lr}\n\
adds r4, r0, 0\n\
movs r0, 0x32\n\
ldrsh r1, [r4, r0]\n\
movs r0, 0xC0\n\
lsls r0, 1\n\
cmp r1, r0\n\
ble _0817FA14\n\
ldr r0, =SpriteCB_SetDummyOnAnimEnd\n\
str r0, [r4, 0x1C]\n\
movs r0, 0\n\
strh r0, [r4, 0x24]\n\
b _0817FA5E\n\
.pool\n\
_0817FA14:\n\
adds r0, r1, 0\n\
cmp r1, 0\n\
bge _0817FA1C\n\
adds r0, 0x7F\n\
adds r0, r1, 0\n\
cmp r1, 0\n\
bge _0817FA1C\n\
adds r0, 0x7F\n\
_0817FA1C:\n\
asrs r2, r0, 7\n\
lsls r0, r2, 16\n\
asrs r0, 16\n\
cmp r0, 0\n\
blt _0817FA60\n\
cmp r0, 0x1\n\
ble _0817FA48\n\
cmp r0, 0x3\n\
bgt _0817FA60\n\
ldr r2, =0xffffff00\n\
adds r1, r2\n\
lsls r0, r1, 16\n\
asrs r0, 16\n\
movs r1, 0x2E\n\
ldrsh r2, [r4, r1]\n\
lsls r1, r2, 1\n\
adds r1, r2\n\
lsls r1, 16\n\
b _0817FA56\n\
.pool\n\
asrs r2, r0, 7\n\
lsls r0, r2, 16\n\
asrs r0, 16\n\
cmp r0, 0\n\
blt _0817FA60\n\
cmp r0, 0x1\n\
ble _0817FA48\n\
cmp r0, 0x3\n\
bgt _0817FA60\n\
ldr r2, =0xffffff00\n\
adds r1, r2\n\
lsls r0, r1, 16\n\
asrs r0, 16\n\
movs r1, 0x2E\n\
ldrsh r2, [r4, r1]\n\
lsls r1, r2, 1\n\
adds r1, r2\n\
lsls r1, 16\n\
b _0817FA56\n\
.pool\n\
_0817FA48:\n\
lsls r0, r2, 7\n\
subs r0, r1, r0\n\
lsls r0, 16\n\
asrs r0, 16\n\
movs r2, 0x2E\n\
ldrsh r1, [r4, r2]\n\
lsls r1, 17\n\
lsls r0, r2, 7\n\
subs r0, r1, r0\n\
lsls r0, 16\n\
asrs r0, 16\n\
movs r2, 0x2E\n\
ldrsh r1, [r4, r2]\n\
lsls r1, 17\n\
_0817FA56:\n\
asrs r1, 16\n\
bl Sin\n\
negs r0, r0\n\
asrs r1, 16\n\
bl Sin\n\
negs r0, r0\n\
_0817FA5E:\n\
strh r0, [r4, 0x26]\n\
strh r0, [r4, 0x26]\n\
_0817FA60:\n\
ldrh r0, [r4, 0x32]\n\
adds r0, 0xC\n\
strh r0, [r4, 0x32]\n\
pop {r4}\n\
pop {r0}\n\
bx r0\n\
ldrh r0, [r4, 0x32]\n\
adds r0, 0xC\n\
strh r0, [r4, 0x32]\n\
pop {r4}\n\
pop {r0}\n\
bx r0\n\
.syntax divided");
}

View File

@ -469,446 +469,446 @@ const u8 *const gMonIconTable[] =
const u8 gMonIconPaletteIndices[] =
{
0, // ??????????
1, // Bulbasaur
1, // Ivysaur
1, // Venusaur
0, // Charmander
0, // Charmeleon
0, // Charizard
0, // Squirtle
2, // Wartortle
2, // Blastoise
1, // Caterpie
1, // Metapod
0, // Butterfree
1, // Weedle
2, // Kakuna
2, // Beedrill
0, // Pidgey
0, // Pidgeotto
0, // Pidgeot
2, // Rattata
1, // Raticate
0, // Spearow
0, // Fearow
2, // Ekans
2, // Arbok
2, // Pikachu
0, // Raichu
2, // Sandshrew
2, // Sandslash
2, // Nidoran♀
2, // Nidorina
2, // Nidoqueen
2, // Nidoran♂
2, // Nidorino
2, // Nidoking
0, // Clefairy
0, // Clefable
2, // Vulpix
1, // Ninetales
0, // Jigglypuff
0, // Wigglytuff
2, // Zubat
2, // Golbat
1, // Oddish
0, // Gloom
0, // Vileplume
0, // Paras
0, // Parasect
0, // Venonat
2, // Venomoth
2, // Diglett
2, // Dugtrio
1, // Meowth
1, // Persian
1, // Psyduck
2, // Golduck
1, // Mankey
2, // Primeape
0, // Growlithe
0, // Arcanine
0, // Poliwag
0, // Poliwhirl
0, // Poliwrath
2, // Abra
2, // Kadabra
2, // Alakazam
0, // Machop
2, // Machoke
0, // Machamp
1, // Bellsprout
1, // Weepinbell
1, // Victreebel
2, // Tentacool
2, // Tentacruel
1, // Geodude
1, // Graveler
1, // Golem
0, // Ponyta
0, // Rapidash
0, // Slowpoke
0, // Slowbro
0, // Magnemite
0, // Magneton
1, // Farfetch'd
2, // Doduo
2, // Dodrio
2, // Seel
2, // Dewgong
2, // Grimer
2, // Muk
2, // Shellder
2, // Cloyster
2, // Gastly
2, // Haunter
2, // Gengar
2, // Onix
2, // Drowzee
1, // Hypno
2, // Krabby
2, // Kingler
0, // Voltorb
0, // Electrode
0, // Exeggcute
1, // Exeggutor
1, // Cubone
1, // Marowak
2, // Hitmonlee
2, // Hitmonchan
1, // Lickitung
2, // Koffing
2, // Weezing
1, // Rhyhorn
1, // Rhydon
0, // Chansey
0, // Tangela
1, // Kangaskhan
0, // Horsea
0, // Seadra
0, // Goldeen
0, // Seaking
2, // Staryu
2, // Starmie
0, // Mr. mime
1, // Scyther
2, // Jynx
1, // Electabuzz
0, // Magmar
2, // Pinsir
2, // Tauros
0, // Magikarp
0, // Gyarados
2, // Lapras
2, // Ditto
2, // Eevee
0, // Vaporeon
0, // Jolteon
0, // Flareon
0, // Porygon
0, // Omanyte
0, // Omastar
2, // Kabuto
2, // Kabutops
0, // Aerodactyl
1, // Snorlax
0, // Articuno
0, // Zapdos
0, // Moltres
0, // Dratini
0, // Dragonair
2, // Dragonite
2, // Mewtwo
0, // Mew
1, // Chikorita
1, // Bayleef
1, // Meganium
1, // Cyndaquil
1, // Quilava
1, // Typhlosion
2, // Totodile
2, // Croconaw
2, // Feraligatr
2, // Sentret
2, // Furret
2, // Hoothoot
2, // Noctowl
0, // Ledyba
0, // Ledian
1, // Spinarak
0, // Ariados
2, // Crobat
2, // Chinchou
0, // Lanturn
0, // Pichu
0, // Cleffa
1, // Igglybuff
2, // Togepi
2, // Togetic
0, // Natu
0, // Xatu
2, // Mareep
0, // Flaaffy
0, // Ampharos
1, // Bellossom
2, // Marill
2, // Azumarill
1, // Sudowoodo
1, // Politoed
1, // Hoppip
1, // Skiploom
2, // Jumpluff
2, // Aipom
1, // Sunkern
1, // Sunflora
1, // Yanma
0, // Wooper
0, // Quagsire
2, // Espeon
2, // Umbreon
2, // Murkrow
0, // Slowking
0, // Misdreavus
0, // Unown A
0, // Wobbuffet
1, // Girafarig
0, // Pineco
2, // Forretress
2, // Dunsparce
2, // Gligar
0, // Steelix
0, // Snubbull
2, // Granbull
0, // Qwilfish
0, // Scizor
1, // Shuckle
2, // Heracross
0, // Sneasel
0, // Teddiursa
2, // Ursaring
0, // Slugma
0, // Magcargo
2, // Swinub
2, // Piloswine
0, // Corsola
0, // Remoraid
0, // Octillery
0, // Delibird
2, // Mantine
0, // Skarmory
0, // Houndour
0, // Houndoom
0, // Kingdra
0, // Phanpy
0, // Donphan
0, // Porygon2
2, // Stantler
1, // Smeargle
2, // Tyrogue
2, // Hitmontop
1, // Smoochum
1, // Elekid
1, // Magby
1, // Miltank
1, // Blissey
0, // Raikou
2, // Entei
0, // Suicune
1, // Larvitar
0, // Pupitar
1, // Tyranitar
0, // Lugia
1, // Ho-Oh
1, // Celebi
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
0, // ?
1, // Treecko
0, // Grovyle
1, // Sceptile
0, // Torchic
0, // Combusken
0, // Blaziken
0, // Mudkip
0, // Marshtomp
0, // Swampert
2, // Poochyena
2, // Mightyena
2, // Zigzagoon
2, // Linoone
0, // Wurmple
2, // Silcoon
0, // Beautifly
2, // Cascoon
1, // Dustox
1, // Lotad
1, // Lombre
1, // Ludicolo
1, // Seedot
1, // Nuzleaf
0, // Shiftry
1, // Nincada
1, // Ninjask
1, // Shedinja
2, // Taillow
2, // Swellow
1, // Shroomish
1, // Breloom
1, // Spinda
0, // Wingull
0, // Pelipper
2, // Surskit
0, // Masquerain
2, // Wailmer
0, // Wailord
0, // Skitty
2, // Delcatty
1, // Kecleon
1, // Baltoy
0, // Claydol
0, // Nosepass
1, // Torkoal
2, // Sableye
0, // Barboach
0, // Whiscash
0, // Luvdisc
0, // Corphish
0, // Crawdaunt
2, // Feebas
0, // Milotic
0, // Carvanha
0, // Sharpedo
1, // Trapinch
1, // Vibrava
1, // Flygon
2, // Makuhita
1, // Hariyama
1, // Electrike
0, // Manectric
1, // Numel
0, // Camerupt
2, // Spheal
2, // Sealeo
0, // Walrein
1, // Cacnea
1, // Cacturne
2, // Snorunt
0, // Glalie
1, // Lunatone
0, // Solrock
2, // Azurill
0, // Spoink
2, // Grumpig
0, // Plusle
0, // Minun
2, // Mawile
0, // Meditite
0, // Medicham
0, // Swablu
0, // Altaria
0, // Wynaut
0, // Duskull
0, // Dusclops
0, // Roselia
2, // Slakoth
2, // Vigoroth
1, // Slaking
1, // Gulpin
2, // Swalot
1, // Tropius
0, // Whismur
2, // Loudred
2, // Exploud
0, // Clamperl
0, // Huntail
0, // Gorebyss
0, // Absol
0, // Shuppet
0, // Banette
2, // Seviper
0, // Zangoose
1, // Relicanth
2, // Aron
2, // Lairon
2, // Aggron
0, // Castform
0, // Volbeat
2, // Illumise
2, // Lileep
0, // Cradily
0, // Anorith
0, // Armaldo
1, // Ralts
1, // Kirlia
1, // Gardevoir
2, // Bagon
2, // Shelgon
0, // Salamence
0, // Beldum
0, // Metang
0, // Metagross
2, // Regirock
2, // Regice
2, // Registeel
2, // Kyogre
0, // Groudon
1, // Rayquaza
0, // Latias
2, // Latios
0, // Jirachi
0, // Deoxys
0, // Chimecho
1, // Egg
0, // Unown B
0, // Unown C
0, // Unown D
0, // Unown E
0, // Unown F
0, // Unown G
0, // Unown H
0, // Unown I
0, // Unown J
0, // Unown K
0, // Unown L
0, // Unown M
0, // Unown N
0, // Unown O
0, // Unown P
0, // Unown Q
0, // Unown R
0, // Unown S
0, // Unown T
0, // Unown U
0, // Unown V
0, // Unown W
0, // Unown X
0, // Unown Y
0, // Unown Z
0, // Unown Exclamation Mark
0, // Unown Question Mark
[SPECIES_NONE] = 0,
[SPECIES_BULBASAUR] = 1,
[SPECIES_IVYSAUR] = 1,
[SPECIES_VENUSAUR] = 1,
[SPECIES_CHARMANDER] = 0,
[SPECIES_CHARMELEON] = 0,
[SPECIES_CHARIZARD] = 0,
[SPECIES_SQUIRTLE] = 0,
[SPECIES_WARTORTLE] = 2,
[SPECIES_BLASTOISE] = 2,
[SPECIES_CATERPIE] = 1,
[SPECIES_METAPOD] = 1,
[SPECIES_BUTTERFREE] = 0,
[SPECIES_WEEDLE] = 1,
[SPECIES_KAKUNA] = 2,
[SPECIES_BEEDRILL] = 2,
[SPECIES_PIDGEY] = 0,
[SPECIES_PIDGEOTTO] = 0,
[SPECIES_PIDGEOT] = 0,
[SPECIES_RATTATA] = 2,
[SPECIES_RATICATE] = 1,
[SPECIES_SPEAROW] = 0,
[SPECIES_FEAROW] = 0,
[SPECIES_EKANS] = 2,
[SPECIES_ARBOK] = 2,
[SPECIES_PIKACHU] = 2,
[SPECIES_RAICHU] = 0,
[SPECIES_SANDSHREW] = 2,
[SPECIES_SANDSLASH] = 2,
[SPECIES_NIDORAN_F] = 2,
[SPECIES_NIDORINA] = 2,
[SPECIES_NIDOQUEEN] = 2,
[SPECIES_NIDORAN_M] = 2,
[SPECIES_NIDORINO] = 2,
[SPECIES_NIDOKING] = 2,
[SPECIES_CLEFAIRY] = 0,
[SPECIES_CLEFABLE] = 0,
[SPECIES_VULPIX] = 2,
[SPECIES_NINETALES] = 1,
[SPECIES_JIGGLYPUFF] = 0,
[SPECIES_WIGGLYTUFF] = 0,
[SPECIES_ZUBAT] = 2,
[SPECIES_GOLBAT] = 2,
[SPECIES_ODDISH] = 1,
[SPECIES_GLOOM] = 0,
[SPECIES_VILEPLUME] = 0,
[SPECIES_PARAS] = 0,
[SPECIES_PARASECT] = 0,
[SPECIES_VENONAT] = 0,
[SPECIES_VENOMOTH] = 2,
[SPECIES_DIGLETT] = 2,
[SPECIES_DUGTRIO] = 2,
[SPECIES_MEOWTH] = 1,
[SPECIES_PERSIAN] = 1,
[SPECIES_PSYDUCK] = 1,
[SPECIES_GOLDUCK] = 2,
[SPECIES_MANKEY] = 1,
[SPECIES_PRIMEAPE] = 2,
[SPECIES_GROWLITHE] = 0,
[SPECIES_ARCANINE] = 0,
[SPECIES_POLIWAG] = 0,
[SPECIES_POLIWHIRL] = 0,
[SPECIES_POLIWRATH] = 0,
[SPECIES_ABRA] = 2,
[SPECIES_KADABRA] = 2,
[SPECIES_ALAKAZAM] = 2,
[SPECIES_MACHOP] = 0,
[SPECIES_MACHOKE] = 2,
[SPECIES_MACHAMP] = 0,
[SPECIES_BELLSPROUT] = 1,
[SPECIES_WEEPINBELL] = 1,
[SPECIES_VICTREEBEL] = 1,
[SPECIES_TENTACOOL] = 2,
[SPECIES_TENTACRUEL] = 2,
[SPECIES_GEODUDE] = 1,
[SPECIES_GRAVELER] = 1,
[SPECIES_GOLEM] = 1,
[SPECIES_PONYTA] = 0,
[SPECIES_RAPIDASH] = 0,
[SPECIES_SLOWPOKE] = 0,
[SPECIES_SLOWBRO] = 0,
[SPECIES_MAGNEMITE] = 0,
[SPECIES_MAGNETON] = 0,
[SPECIES_FARFETCHD] = 1,
[SPECIES_DODUO] = 2,
[SPECIES_DODRIO] = 2,
[SPECIES_SEEL] = 2,
[SPECIES_DEWGONG] = 2,
[SPECIES_GRIMER] = 2,
[SPECIES_MUK] = 2,
[SPECIES_SHELLDER] = 2,
[SPECIES_CLOYSTER] = 2,
[SPECIES_GASTLY] = 2,
[SPECIES_HAUNTER] = 2,
[SPECIES_GENGAR] = 2,
[SPECIES_ONIX] = 2,
[SPECIES_DROWZEE] = 2,
[SPECIES_HYPNO] = 1,
[SPECIES_KRABBY] = 2,
[SPECIES_KINGLER] = 2,
[SPECIES_VOLTORB] = 0,
[SPECIES_ELECTRODE] = 0,
[SPECIES_EXEGGCUTE] = 0,
[SPECIES_EXEGGUTOR] = 1,
[SPECIES_CUBONE] = 1,
[SPECIES_MAROWAK] = 1,
[SPECIES_HITMONLEE] = 2,
[SPECIES_HITMONCHAN] = 2,
[SPECIES_LICKITUNG] = 1,
[SPECIES_KOFFING] = 2,
[SPECIES_WEEZING] = 2,
[SPECIES_RHYHORN] = 1,
[SPECIES_RHYDON] = 1,
[SPECIES_CHANSEY] = 0,
[SPECIES_TANGELA] = 0,
[SPECIES_KANGASKHAN] = 1,
[SPECIES_HORSEA] = 0,
[SPECIES_SEADRA] = 0,
[SPECIES_GOLDEEN] = 0,
[SPECIES_SEAKING] = 0,
[SPECIES_STARYU] = 2,
[SPECIES_STARMIE] = 2,
[SPECIES_MR_MIME] = 0,
[SPECIES_SCYTHER] = 1,
[SPECIES_JYNX] = 2,
[SPECIES_ELECTABUZZ] = 1,
[SPECIES_MAGMAR] = 0,
[SPECIES_PINSIR] = 2,
[SPECIES_TAUROS] = 2,
[SPECIES_MAGIKARP] = 0,
[SPECIES_GYARADOS] = 0,
[SPECIES_LAPRAS] = 2,
[SPECIES_DITTO] = 2,
[SPECIES_EEVEE] = 2,
[SPECIES_VAPOREON] = 0,
[SPECIES_JOLTEON] = 0,
[SPECIES_FLAREON] = 0,
[SPECIES_PORYGON] = 0,
[SPECIES_OMANYTE] = 0,
[SPECIES_OMASTAR] = 0,
[SPECIES_KABUTO] = 2,
[SPECIES_KABUTOPS] = 2,
[SPECIES_AERODACTYL] = 0,
[SPECIES_SNORLAX] = 1,
[SPECIES_ARTICUNO] = 0,
[SPECIES_ZAPDOS] = 0,
[SPECIES_MOLTRES] = 0,
[SPECIES_DRATINI] = 0,
[SPECIES_DRAGONAIR] = 0,
[SPECIES_DRAGONITE] = 2,
[SPECIES_MEWTWO] = 2,
[SPECIES_MEW] = 0,
[SPECIES_CHIKORITA] = 1,
[SPECIES_BAYLEEF] = 1,
[SPECIES_MEGANIUM] = 1,
[SPECIES_CYNDAQUIL] = 1,
[SPECIES_QUILAVA] = 1,
[SPECIES_TYPHLOSION] = 1,
[SPECIES_TOTODILE] = 2,
[SPECIES_CROCONAW] = 2,
[SPECIES_FERALIGATR] = 2,
[SPECIES_SENTRET] = 2,
[SPECIES_FURRET] = 2,
[SPECIES_HOOTHOOT] = 2,
[SPECIES_NOCTOWL] = 2,
[SPECIES_LEDYBA] = 0,
[SPECIES_LEDIAN] = 0,
[SPECIES_SPINARAK] = 1,
[SPECIES_ARIADOS] = 0,
[SPECIES_CROBAT] = 2,
[SPECIES_CHINCHOU] = 2,
[SPECIES_LANTURN] = 0,
[SPECIES_PICHU] = 0,
[SPECIES_CLEFFA] = 0,
[SPECIES_IGGLYBUFF] = 1,
[SPECIES_TOGEPI] = 2,
[SPECIES_TOGETIC] = 2,
[SPECIES_NATU] = 0,
[SPECIES_XATU] = 0,
[SPECIES_MAREEP] = 2,
[SPECIES_FLAAFFY] = 0,
[SPECIES_AMPHAROS] = 0,
[SPECIES_BELLOSSOM] = 1,
[SPECIES_MARILL] = 2,
[SPECIES_AZUMARILL] = 2,
[SPECIES_SUDOWOODO] = 1,
[SPECIES_POLITOED] = 1,
[SPECIES_HOPPIP] = 1,
[SPECIES_SKIPLOOM] = 1,
[SPECIES_JUMPLUFF] = 2,
[SPECIES_AIPOM] = 2,
[SPECIES_SUNKERN] = 1,
[SPECIES_SUNFLORA] = 1,
[SPECIES_YANMA] = 1,
[SPECIES_WOOPER] = 0,
[SPECIES_QUAGSIRE] = 0,
[SPECIES_ESPEON] = 2,
[SPECIES_UMBREON] = 2,
[SPECIES_MURKROW] = 2,
[SPECIES_SLOWKING] = 0,
[SPECIES_MISDREAVUS] = 0,
[SPECIES_UNOWN] = 0,
[SPECIES_WOBBUFFET] = 0,
[SPECIES_GIRAFARIG] = 1,
[SPECIES_PINECO] = 0,
[SPECIES_FORRETRESS] = 2,
[SPECIES_DUNSPARCE] = 2,
[SPECIES_GLIGAR] = 2,
[SPECIES_STEELIX] = 0,
[SPECIES_SNUBBULL] = 0,
[SPECIES_GRANBULL] = 2,
[SPECIES_QWILFISH] = 0,
[SPECIES_SCIZOR] = 0,
[SPECIES_SHUCKLE] = 1,
[SPECIES_HERACROSS] = 2,
[SPECIES_SNEASEL] = 0,
[SPECIES_TEDDIURSA] = 0,
[SPECIES_URSARING] = 2,
[SPECIES_SLUGMA] = 0,
[SPECIES_MAGCARGO] = 0,
[SPECIES_SWINUB] = 2,
[SPECIES_PILOSWINE] = 2,
[SPECIES_CORSOLA] = 0,
[SPECIES_REMORAID] = 0,
[SPECIES_OCTILLERY] = 0,
[SPECIES_DELIBIRD] = 0,
[SPECIES_MANTINE] = 2,
[SPECIES_SKARMORY] = 0,
[SPECIES_HOUNDOUR] = 0,
[SPECIES_HOUNDOOM] = 0,
[SPECIES_KINGDRA] = 0,
[SPECIES_PHANPY] = 0,
[SPECIES_DONPHAN] = 0,
[SPECIES_PORYGON2] = 0,
[SPECIES_STANTLER] = 2,
[SPECIES_SMEARGLE] = 1,
[SPECIES_TYROGUE] = 2,
[SPECIES_HITMONTOP] = 2,
[SPECIES_SMOOCHUM] = 1,
[SPECIES_ELEKID] = 1,
[SPECIES_MAGBY] = 1,
[SPECIES_MILTANK] = 1,
[SPECIES_BLISSEY] = 1,
[SPECIES_RAIKOU] = 0,
[SPECIES_ENTEI] = 2,
[SPECIES_SUICUNE] = 0,
[SPECIES_LARVITAR] = 1,
[SPECIES_PUPITAR] = 0,
[SPECIES_TYRANITAR] = 1,
[SPECIES_LUGIA] = 0,
[SPECIES_HO_OH] = 1,
[SPECIES_CELEBI] = 1,
[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] = 1,
[SPECIES_GROVYLE] = 0,
[SPECIES_SCEPTILE] = 1,
[SPECIES_TORCHIC] = 0,
[SPECIES_COMBUSKEN] = 0,
[SPECIES_BLAZIKEN] = 0,
[SPECIES_MUDKIP] = 0,
[SPECIES_MARSHTOMP] = 0,
[SPECIES_SWAMPERT] = 0,
[SPECIES_POOCHYENA] = 2,
[SPECIES_MIGHTYENA] = 2,
[SPECIES_ZIGZAGOON] = 2,
[SPECIES_LINOONE] = 2,
[SPECIES_WURMPLE] = 0,
[SPECIES_SILCOON] = 2,
[SPECIES_BEAUTIFLY] = 0,
[SPECIES_CASCOON] = 2,
[SPECIES_DUSTOX] = 1,
[SPECIES_LOTAD] = 1,
[SPECIES_LOMBRE] = 1,
[SPECIES_LUDICOLO] = 1,
[SPECIES_SEEDOT] = 1,
[SPECIES_NUZLEAF] = 1,
[SPECIES_SHIFTRY] = 0,
[SPECIES_NINCADA] = 1,
[SPECIES_NINJASK] = 1,
[SPECIES_SHEDINJA] = 1,
[SPECIES_TAILLOW] = 2,
[SPECIES_SWELLOW] = 2,
[SPECIES_SHROOMISH] = 1,
[SPECIES_BRELOOM] = 1,
[SPECIES_SPINDA] = 1,
[SPECIES_WINGULL] = 0,
[SPECIES_PELIPPER] = 0,
[SPECIES_SURSKIT] = 2,
[SPECIES_MASQUERAIN] = 0,
[SPECIES_WAILMER] = 2,
[SPECIES_WAILORD] = 0,
[SPECIES_SKITTY] = 0,
[SPECIES_DELCATTY] = 2,
[SPECIES_KECLEON] = 1,
[SPECIES_BALTOY] = 1,
[SPECIES_CLAYDOL] = 0,
[SPECIES_NOSEPASS] = 0,
[SPECIES_TORKOAL] = 1,
[SPECIES_SABLEYE] = 2,
[SPECIES_BARBOACH] = 0,
[SPECIES_WHISCASH] = 0,
[SPECIES_LUVDISC] = 0,
[SPECIES_CORPHISH] = 0,
[SPECIES_CRAWDAUNT] = 0,
[SPECIES_FEEBAS] = 2,
[SPECIES_MILOTIC] = 0,
[SPECIES_CARVANHA] = 0,
[SPECIES_SHARPEDO] = 0,
[SPECIES_TRAPINCH] = 1,
[SPECIES_VIBRAVA] = 1,
[SPECIES_FLYGON] = 1,
[SPECIES_MAKUHITA] = 2,
[SPECIES_HARIYAMA] = 1,
[SPECIES_ELECTRIKE] = 1,
[SPECIES_MANECTRIC] = 0,
[SPECIES_NUMEL] = 1,
[SPECIES_CAMERUPT] = 0,
[SPECIES_SPHEAL] = 2,
[SPECIES_SEALEO] = 2,
[SPECIES_WALREIN] = 0,
[SPECIES_CACNEA] = 1,
[SPECIES_CACTURNE] = 1,
[SPECIES_SNORUNT] = 2,
[SPECIES_GLALIE] = 0,
[SPECIES_LUNATONE] = 1,
[SPECIES_SOLROCK] = 0,
[SPECIES_AZURILL] = 2,
[SPECIES_SPOINK] = 0,
[SPECIES_GRUMPIG] = 2,
[SPECIES_PLUSLE] = 0,
[SPECIES_MINUN] = 0,
[SPECIES_MAWILE] = 2,
[SPECIES_MEDITITE] = 0,
[SPECIES_MEDICHAM] = 0,
[SPECIES_SWABLU] = 0,
[SPECIES_ALTARIA] = 0,
[SPECIES_WYNAUT] = 0,
[SPECIES_DUSKULL] = 0,
[SPECIES_DUSCLOPS] = 0,
[SPECIES_ROSELIA] = 0,
[SPECIES_SLAKOTH] = 2,
[SPECIES_VIGOROTH] = 2,
[SPECIES_SLAKING] = 1,
[SPECIES_GULPIN] = 1,
[SPECIES_SWALOT] = 2,
[SPECIES_TROPIUS] = 1,
[SPECIES_WHISMUR] = 0,
[SPECIES_LOUDRED] = 2,
[SPECIES_EXPLOUD] = 2,
[SPECIES_CLAMPERL] = 0,
[SPECIES_HUNTAIL] = 0,
[SPECIES_GOREBYSS] = 0,
[SPECIES_ABSOL] = 0,
[SPECIES_SHUPPET] = 0,
[SPECIES_BANETTE] = 0,
[SPECIES_SEVIPER] = 2,
[SPECIES_ZANGOOSE] = 0,
[SPECIES_RELICANTH] = 1,
[SPECIES_ARON] = 2,
[SPECIES_LAIRON] = 2,
[SPECIES_AGGRON] = 2,
[SPECIES_CASTFORM] = 0,
[SPECIES_VOLBEAT] = 0,
[SPECIES_ILLUMISE] = 2,
[SPECIES_LILEEP] = 2,
[SPECIES_CRADILY] = 0,
[SPECIES_ANORITH] = 0,
[SPECIES_ARMALDO] = 0,
[SPECIES_RALTS] = 1,
[SPECIES_KIRLIA] = 1,
[SPECIES_GARDEVOIR] = 1,
[SPECIES_BAGON] = 2,
[SPECIES_SHELGON] = 2,
[SPECIES_SALAMENCE] = 0,
[SPECIES_BELDUM] = 0,
[SPECIES_METANG] = 0,
[SPECIES_METAGROSS] = 0,
[SPECIES_REGIROCK] = 2,
[SPECIES_REGICE] = 2,
[SPECIES_REGISTEEL] = 2,
[SPECIES_KYOGRE] = 2,
[SPECIES_GROUDON] = 0,
[SPECIES_RAYQUAZA] = 1,
[SPECIES_LATIAS] = 0,
[SPECIES_LATIOS] = 2,
[SPECIES_JIRACHI] = 0,
[SPECIES_DEOXYS] = 0,
[SPECIES_CHIMECHO] = 0,
[SPECIES_EGG] = 1,
[SPECIES_UNOWN_B] = 0,
[SPECIES_UNOWN_C] = 0,
[SPECIES_UNOWN_D] = 0,
[SPECIES_UNOWN_E] = 0,
[SPECIES_UNOWN_F] = 0,
[SPECIES_UNOWN_G] = 0,
[SPECIES_UNOWN_H] = 0,
[SPECIES_UNOWN_I] = 0,
[SPECIES_UNOWN_J] = 0,
[SPECIES_UNOWN_K] = 0,
[SPECIES_UNOWN_L] = 0,
[SPECIES_UNOWN_M] = 0,
[SPECIES_UNOWN_N] = 0,
[SPECIES_UNOWN_O] = 0,
[SPECIES_UNOWN_P] = 0,
[SPECIES_UNOWN_Q] = 0,
[SPECIES_UNOWN_R] = 0,
[SPECIES_UNOWN_S] = 0,
[SPECIES_UNOWN_T] = 0,
[SPECIES_UNOWN_U] = 0,
[SPECIES_UNOWN_V] = 0,
[SPECIES_UNOWN_W] = 0,
[SPECIES_UNOWN_X] = 0,
[SPECIES_UNOWN_Y] = 0,
[SPECIES_UNOWN_Z] = 0,
[SPECIES_UNOWN_EMARK] = 0,
[SPECIES_UNOWN_QMARK] = 0,
};
const struct SpritePalette gMonIconPaletteTable[] =
@ -1211,7 +1211,7 @@ void sub_80D304C(u16 offset)
if(offset <= 0xA0)
{
monIconPalettePtr = gMonIconPaletteTable;
for(i = 5; i >= 0 ; i--)
for(i = 5; i >= 0; i--)
{
LoadPalette(monIconPalettePtr->data, offset, 0x20);
offset += 0x10;

View File

@ -19,7 +19,7 @@
#include "item.h"
#include "link.h"
#include "m4a.h"
#include "malloc.h"
#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "mon_markings.h"

View File

@ -5,7 +5,7 @@
#include "graphics.h"
#include "bg.h"
#include "main.h"
#include "malloc.h"
#include "alloc.h"
#include "palette.h"
#include "scanline_effect.h"
#include "menu.h"
@ -89,13 +89,13 @@ static void sub_81D9868(struct Sprite *sprite, u8 animNum, s16 x, s16 y);
// const rom data
static const TaskFunc sTasksForAnimations[] =
{
Task_DuoFightAnim, // RAY_ANIM_DUO_FIGHT_PRE
Task_DuoFightAnim, // RAY_ANIM_DUO_FIGHT
Task_RayTakesFlightAnim, // RAY_ANIM_TAKES_FLIGHT
Task_RayDescendsAnim, // RAY_ANIM_DESCENDS
Task_RayChargesAnim, // RAY_ANIM_CHARGES
Task_RayChasesAwayAnim, // RAY_ANIM_CHACES_AWAY
Task_EndAfterFadeScreen // RAY_ANIM_END
[RAY_ANIM_DUO_FIGHT_PRE] = Task_DuoFightAnim,
[RAY_ANIM_DUO_FIGHT] = Task_DuoFightAnim,
[RAY_ANIM_TAKES_FLIGHT] = Task_RayTakesFlightAnim,
[RAY_ANIM_DESCENDS] = Task_RayDescendsAnim,
[RAY_ANIM_CHARGES] = Task_RayChargesAnim,
[RAY_ANIM_CHACES_AWAY] = Task_RayChasesAwayAnim,
[RAY_ANIM_END] = Task_EndAfterFadeScreen,
};
static const struct OamData sOamData_862A6BC =

View File

@ -1,5 +1,5 @@
#include "global.h"
#include "malloc.h"
#include "alloc.h"
#include "random.h"
#include "constants/items.h"
#include "text.h"

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