Merged Emerald Expansion and Follower Pokemon
This commit is contained in:
1 parent
ff2afb0eec
commit
d28afca972
988 files changed
+22901
-829
No files matched your search
@@ -32,10 +32,10 @@
|
||||
// Forms are kept based on the base species, Eg: Meowth and Persian will keep all of their forms, but Perrserker will not be available if P_GEN_8_POKEMON is set to FALSE.
|
||||
// If you're disabling a generation previous to others (eg: Gen 5 but not Gen 6, 7 and 8),
|
||||
// remember to update NATIONAL_DEX enum in include/constants/pokedex.h to avoid players from softlocking in the non-existant entries.
|
||||
#define P_GEN_4_POKEMON TRUE // Generation 4 Pokémon (DPPt, HGSS)
|
||||
#define P_GEN_5_POKEMON TRUE // Generation 5 Pokémon (BW, B2W2)
|
||||
#define P_GEN_6_POKEMON TRUE // Generation 6 Pokémon (XY, ORAS)
|
||||
#define P_GEN_7_POKEMON TRUE // Generation 7 Pokémon (SM, USUM, LGPE)
|
||||
#define P_GEN_8_POKEMON TRUE // Generation 8 Pokémon (SwSh, BDSP, LA)
|
||||
#define P_GEN_4_POKEMON FALSE // Generation 4 Pokémon (DPPt, HGSS)
|
||||
#define P_GEN_5_POKEMON FALSE // Generation 5 Pokémon (BW, B2W2)
|
||||
#define P_GEN_6_POKEMON FALSE // Generation 6 Pokémon (XY, ORAS)
|
||||
#define P_GEN_7_POKEMON FALSE // Generation 7 Pokémon (SM, USUM, LGPE)
|
||||
#define P_GEN_8_POKEMON FALSE // Generation 8 Pokémon (SwSh, BDSP, LA)
|
||||
|
||||
#endif // GUARD_CONFIG_POKEMON_H
|
||||
@@ -1095,7 +1095,7 @@
|
||||
#define EC_WORD_OLD ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 30)
|
||||
#define EC_WORD_YOUNG ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 31)
|
||||
#define EC_WORD_UGLY ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 32)
|
||||
#define NUM_ADDITIONAL_PHRASES 33
|
||||
#define NUM_TRENDY_SAYINGS 33
|
||||
|
||||
// Special Berry Masters Wife phrases
|
||||
#define NOT_SPECIAL_PHRASE 0
|
||||
|
||||
@@ -82,7 +82,8 @@
|
||||
#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP 0x4E
|
||||
#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT 0x4F
|
||||
#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT 0x50
|
||||
#define NUM_MOVEMENT_TYPES 0x51
|
||||
#define MOVEMENT_TYPE_FOLLOWING_POKEMON 0x51
|
||||
#define NUM_MOVEMENT_TYPES 0x52
|
||||
|
||||
#define MOVEMENT_ACTION_FACE_DOWN 0x0
|
||||
#define MOVEMENT_ACTION_FACE_UP 0x1
|
||||
@@ -242,6 +243,14 @@
|
||||
#define MOVEMENT_ACTION_FIGURE_8 0x9B
|
||||
#define MOVEMENT_ACTION_FLY_UP 0x9C
|
||||
#define MOVEMENT_ACTION_FLY_DOWN 0x9D
|
||||
#define MOVEMENT_ACTION_FOLLOWING_POKEMON 0x9E
|
||||
#define MOVEMENT_ACTION_FOLLOWING_POKEMON_FACESOUTH 0x9F
|
||||
#define MOVEMENT_ACTION_FOLLOWING_POKEMON_FACENORTH 0xA0
|
||||
#define MOVEMENT_ACTION_FOLLOWING_POKEMON_FACEWEST 0xA1
|
||||
#define MOVEMENT_ACTION_FOLLOWING_POKEMON_FACEEAST 0xA2
|
||||
#define MOVEMENT_ACTION_FOLLOWING_POKEMON_WALKSOUTH 0xA3
|
||||
#define MOVEMENT_ACTION_FOLLOWING_POKEMON_SHRINK 0xA4
|
||||
#define MOVEMENT_ACTION_FOLLOWING_POKEMON_GROW 0xA5
|
||||
|
||||
#define MOVEMENT_ACTION_STEP_END 0xFE
|
||||
#define MOVEMENT_ACTION_NONE 0xFF
|
||||
|
||||
@@ -240,17 +240,658 @@
|
||||
#define OBJ_EVENT_GFX_LINK_RS_MAY 236
|
||||
#define OBJ_EVENT_GFX_LUGIA 237
|
||||
#define OBJ_EVENT_GFX_HOOH 238
|
||||
#define OBJ_EVENT_GFX_BULBASAUR 239
|
||||
#define OBJ_EVENT_GFX_IVYSAUR 240
|
||||
#define OBJ_EVENT_GFX_VENUSAUR 241
|
||||
#define OBJ_EVENT_GFX_CHARMANDER 242
|
||||
#define OBJ_EVENT_GFX_CHARMELEON 243
|
||||
#define OBJ_EVENT_GFX_CHARIZARD 244
|
||||
#define OBJ_EVENT_GFX_SQUIRTLE 245
|
||||
#define OBJ_EVENT_GFX_WARTORTLE 246
|
||||
#define OBJ_EVENT_GFX_BLASTOISE 247
|
||||
#define OBJ_EVENT_GFX_CATERPIE 248
|
||||
#define OBJ_EVENT_GFX_METAPOD 249
|
||||
#define OBJ_EVENT_GFX_BUTTERFREE 250
|
||||
#define OBJ_EVENT_GFX_WEEDLE 251
|
||||
#define OBJ_EVENT_GFX_KAKUNA 252
|
||||
#define OBJ_EVENT_GFX_BEEDRILL 253
|
||||
#define OBJ_EVENT_GFX_PIDGEY 254
|
||||
#define OBJ_EVENT_GFX_PIDGEOTTO 255
|
||||
#define OBJ_EVENT_GFX_PIDGEOT 256
|
||||
#define OBJ_EVENT_GFX_RATTATA 257
|
||||
#define OBJ_EVENT_GFX_RATICATE 258
|
||||
#define OBJ_EVENT_GFX_SPEAROW 259
|
||||
#define OBJ_EVENT_GFX_FEAROW 260
|
||||
#define OBJ_EVENT_GFX_EKANS 261
|
||||
#define OBJ_EVENT_GFX_ARBOK 262
|
||||
#define OBJ_EVENT_GFX_PIKACHU_FOLLOWER 263
|
||||
#define OBJ_EVENT_GFX_RAICHU 264
|
||||
#define OBJ_EVENT_GFX_SANDSHREW 265
|
||||
#define OBJ_EVENT_GFX_SANDSLASH 266
|
||||
#define OBJ_EVENT_GFX_NIDORAN_F 267
|
||||
#define OBJ_EVENT_GFX_NIDORINA 268
|
||||
#define OBJ_EVENT_GFX_NIDOQUEEN 269
|
||||
#define OBJ_EVENT_GFX_NIDORAN_M 270
|
||||
#define OBJ_EVENT_GFX_NIDORINO 271
|
||||
#define OBJ_EVENT_GFX_NIDOKING 272
|
||||
#define OBJ_EVENT_GFX_CLEFAIRY 273
|
||||
#define OBJ_EVENT_GFX_CLEFABLE 274
|
||||
#define OBJ_EVENT_GFX_VULPIX 275
|
||||
#define OBJ_EVENT_GFX_NINETALES 276
|
||||
#define OBJ_EVENT_GFX_JIGGLYPUFF 277
|
||||
#define OBJ_EVENT_GFX_WIGGLYTUFF 278
|
||||
#define OBJ_EVENT_GFX_ZUBAT 279
|
||||
#define OBJ_EVENT_GFX_GOLBAT 280
|
||||
#define OBJ_EVENT_GFX_ODDISH 281
|
||||
#define OBJ_EVENT_GFX_GLOOM 282
|
||||
#define OBJ_EVENT_GFX_VILEPLUME 283
|
||||
#define OBJ_EVENT_GFX_PARAS 284
|
||||
#define OBJ_EVENT_GFX_PARASECT 285
|
||||
#define OBJ_EVENT_GFX_VENONAT 286
|
||||
#define OBJ_EVENT_GFX_VENOMOTH 287
|
||||
#define OBJ_EVENT_GFX_DIGLETT 288
|
||||
#define OBJ_EVENT_GFX_DUGTRIO 289
|
||||
#define OBJ_EVENT_GFX_MEOWTH 290
|
||||
#define OBJ_EVENT_GFX_PERSIAN 291
|
||||
#define OBJ_EVENT_GFX_PSYDUCK 292
|
||||
#define OBJ_EVENT_GFX_GOLDUCK 293
|
||||
#define OBJ_EVENT_GFX_MANKEY 294
|
||||
#define OBJ_EVENT_GFX_PRIMEAPE 295
|
||||
#define OBJ_EVENT_GFX_GROWLITHE 296
|
||||
#define OBJ_EVENT_GFX_ARCANINE 297
|
||||
#define OBJ_EVENT_GFX_POLIWAG 298
|
||||
#define OBJ_EVENT_GFX_POLIWHIRL 299
|
||||
#define OBJ_EVENT_GFX_POLIWRATH 300
|
||||
#define OBJ_EVENT_GFX_ABRA 301
|
||||
#define OBJ_EVENT_GFX_KADABRA 302
|
||||
#define OBJ_EVENT_GFX_ALAKAZAM 303
|
||||
#define OBJ_EVENT_GFX_MACHOP 304
|
||||
#define OBJ_EVENT_GFX_MACHOKE 305
|
||||
#define OBJ_EVENT_GFX_MACHAMP 306
|
||||
#define OBJ_EVENT_GFX_BELLSPROUT 307
|
||||
#define OBJ_EVENT_GFX_WEEPINBELL 308
|
||||
#define OBJ_EVENT_GFX_VICTREEBEL 309
|
||||
#define OBJ_EVENT_GFX_TENTACOOL 310
|
||||
#define OBJ_EVENT_GFX_TENTACRUEL 311
|
||||
#define OBJ_EVENT_GFX_GEODUDE 312
|
||||
#define OBJ_EVENT_GFX_GRAVELER 313
|
||||
#define OBJ_EVENT_GFX_GOLEM 314
|
||||
#define OBJ_EVENT_GFX_PONYTA 315
|
||||
#define OBJ_EVENT_GFX_RAPIDASH 316
|
||||
#define OBJ_EVENT_GFX_SLOWPOKE 317
|
||||
#define OBJ_EVENT_GFX_SLOWBRO 318
|
||||
#define OBJ_EVENT_GFX_MAGNEMITE 319
|
||||
#define OBJ_EVENT_GFX_MAGNETON 320
|
||||
#define OBJ_EVENT_GFX_FARFETCHD 321
|
||||
#define OBJ_EVENT_GFX_DODUO 322
|
||||
#define OBJ_EVENT_GFX_DODRIO 323
|
||||
#define OBJ_EVENT_GFX_SEEL 324
|
||||
#define OBJ_EVENT_GFX_DEWGONG 325
|
||||
#define OBJ_EVENT_GFX_GRIMER 326
|
||||
#define OBJ_EVENT_GFX_MUK 327
|
||||
#define OBJ_EVENT_GFX_SHELLDER 328
|
||||
#define OBJ_EVENT_GFX_CLOYSTER 329
|
||||
#define OBJ_EVENT_GFX_GASTLY 330
|
||||
#define OBJ_EVENT_GFX_HAUNTER 331
|
||||
#define OBJ_EVENT_GFX_GENGAR 332
|
||||
#define OBJ_EVENT_GFX_ONIX 333
|
||||
#define OBJ_EVENT_GFX_DROWZEE 334
|
||||
#define OBJ_EVENT_GFX_HYPNO 335
|
||||
#define OBJ_EVENT_GFX_KRABBY 336
|
||||
#define OBJ_EVENT_GFX_KINGLER 337
|
||||
#define OBJ_EVENT_GFX_VOLTORB 338
|
||||
#define OBJ_EVENT_GFX_ELECTRODE 339
|
||||
#define OBJ_EVENT_GFX_EXEGGCUTE 340
|
||||
#define OBJ_EVENT_GFX_EXEGGUTOR 341
|
||||
#define OBJ_EVENT_GFX_CUBONE 342
|
||||
#define OBJ_EVENT_GFX_MAROWAK 343
|
||||
#define OBJ_EVENT_GFX_HITMONLEE 344
|
||||
#define OBJ_EVENT_GFX_HITMONCHAN 345
|
||||
#define OBJ_EVENT_GFX_LICKITUNG 346
|
||||
#define OBJ_EVENT_GFX_KOFFING 347
|
||||
#define OBJ_EVENT_GFX_WEEZING 348
|
||||
#define OBJ_EVENT_GFX_RHYHORN 349
|
||||
#define OBJ_EVENT_GFX_RHYDON 350
|
||||
#define OBJ_EVENT_GFX_CHANSEY 351
|
||||
#define OBJ_EVENT_GFX_TANGELA 352
|
||||
#define OBJ_EVENT_GFX_KANGASKHAN 353
|
||||
#define OBJ_EVENT_GFX_HORSEA 354
|
||||
#define OBJ_EVENT_GFX_SEADRA 355
|
||||
#define OBJ_EVENT_GFX_GOLDEEN 356
|
||||
#define OBJ_EVENT_GFX_SEAKING 357
|
||||
#define OBJ_EVENT_GFX_STARYU 358
|
||||
#define OBJ_EVENT_GFX_STARMIE 359
|
||||
#define OBJ_EVENT_GFX_MR_MIME 360
|
||||
#define OBJ_EVENT_GFX_SCYTHER 361
|
||||
#define OBJ_EVENT_GFX_JYNX 362
|
||||
#define OBJ_EVENT_GFX_ELECTABUZZ 363
|
||||
#define OBJ_EVENT_GFX_MAGMAR 364
|
||||
#define OBJ_EVENT_GFX_PINSIR 365
|
||||
#define OBJ_EVENT_GFX_TAUROS 366
|
||||
#define OBJ_EVENT_GFX_MAGIKARP 367
|
||||
#define OBJ_EVENT_GFX_GYARADOS 368
|
||||
#define OBJ_EVENT_GFX_LAPRAS 369
|
||||
#define OBJ_EVENT_GFX_DITTO 370
|
||||
#define OBJ_EVENT_GFX_EEVEE 371
|
||||
#define OBJ_EVENT_GFX_VAPOREON 372
|
||||
#define OBJ_EVENT_GFX_JOLTEON 373
|
||||
#define OBJ_EVENT_GFX_FLAREON 374
|
||||
#define OBJ_EVENT_GFX_PORYGON 375
|
||||
#define OBJ_EVENT_GFX_OMANYTE 376
|
||||
#define OBJ_EVENT_GFX_OMASTAR 377
|
||||
#define OBJ_EVENT_GFX_KABUTO 378
|
||||
#define OBJ_EVENT_GFX_KABUTOPS 379
|
||||
#define OBJ_EVENT_GFX_AERODACTYL 380
|
||||
#define OBJ_EVENT_GFX_SNORLAX 381
|
||||
#define OBJ_EVENT_GFX_ARTICUNO 382
|
||||
#define OBJ_EVENT_GFX_ZAPDOS 383
|
||||
#define OBJ_EVENT_GFX_MOLTRES 384
|
||||
#define OBJ_EVENT_GFX_DRATINI 385
|
||||
#define OBJ_EVENT_GFX_DRAGONAIR 386
|
||||
#define OBJ_EVENT_GFX_DRAGONITE 387
|
||||
#define OBJ_EVENT_GFX_MEWTWO 388
|
||||
#define OBJ_EVENT_GFX_MEW_FOLLOWER 389
|
||||
#define OBJ_EVENT_GFX_CHIKORITA 390
|
||||
#define OBJ_EVENT_GFX_BAYLEEF 391
|
||||
#define OBJ_EVENT_GFX_MEGANIUM 392
|
||||
#define OBJ_EVENT_GFX_CYNDAQUIL 393
|
||||
#define OBJ_EVENT_GFX_QUILAVA 394
|
||||
#define OBJ_EVENT_GFX_TYPHLOSION 395
|
||||
#define OBJ_EVENT_GFX_TOTODILE 396
|
||||
#define OBJ_EVENT_GFX_CROCONAW 397
|
||||
#define OBJ_EVENT_GFX_FERALIGATR 398
|
||||
#define OBJ_EVENT_GFX_SENTRET 399
|
||||
#define OBJ_EVENT_GFX_FURRET 400
|
||||
#define OBJ_EVENT_GFX_HOOTHOOT 401
|
||||
#define OBJ_EVENT_GFX_NOCTOWL 402
|
||||
#define OBJ_EVENT_GFX_LEDYBA 403
|
||||
#define OBJ_EVENT_GFX_LEDIAN 404
|
||||
#define OBJ_EVENT_GFX_SPINARAK 405
|
||||
#define OBJ_EVENT_GFX_ARIADOS 406
|
||||
#define OBJ_EVENT_GFX_CROBAT 407
|
||||
#define OBJ_EVENT_GFX_CHINCHOU 408
|
||||
#define OBJ_EVENT_GFX_LANTURN 409
|
||||
#define OBJ_EVENT_GFX_PICHU 410
|
||||
#define OBJ_EVENT_GFX_CLEFFA 411
|
||||
#define OBJ_EVENT_GFX_IGGLYBUFF 412
|
||||
#define OBJ_EVENT_GFX_TOGEPI 413
|
||||
#define OBJ_EVENT_GFX_TOGETIC 414
|
||||
#define OBJ_EVENT_GFX_NATU 415
|
||||
#define OBJ_EVENT_GFX_XATU 416
|
||||
#define OBJ_EVENT_GFX_MAREEP 417
|
||||
#define OBJ_EVENT_GFX_FLAAFFY 418
|
||||
#define OBJ_EVENT_GFX_AMPHAROS 419
|
||||
#define OBJ_EVENT_GFX_BELLOSSOM 420
|
||||
#define OBJ_EVENT_GFX_MARILL 421
|
||||
#define OBJ_EVENT_GFX_AZUMARILL_FOLLOWER 422
|
||||
#define OBJ_EVENT_GFX_SUDOWOODO_FOLLOWER 423
|
||||
#define OBJ_EVENT_GFX_POLITOED 424
|
||||
#define OBJ_EVENT_GFX_HOPPIP 425
|
||||
#define OBJ_EVENT_GFX_SKIPLOOM 426
|
||||
#define OBJ_EVENT_GFX_JUMPLUFF 427
|
||||
#define OBJ_EVENT_GFX_AIPOM 428
|
||||
#define OBJ_EVENT_GFX_SUNKERN 429
|
||||
#define OBJ_EVENT_GFX_SUNFLORA 430
|
||||
#define OBJ_EVENT_GFX_YANMA 431
|
||||
#define OBJ_EVENT_GFX_WOOPER 432
|
||||
#define OBJ_EVENT_GFX_QUAGSIRE 433
|
||||
#define OBJ_EVENT_GFX_ESPEON 434
|
||||
#define OBJ_EVENT_GFX_UMBREON 435
|
||||
#define OBJ_EVENT_GFX_MURKROW 436
|
||||
#define OBJ_EVENT_GFX_SLOWKING 437
|
||||
#define OBJ_EVENT_GFX_MISDREAVUS 438
|
||||
#define OBJ_EVENT_GFX_UNOWN_A 439
|
||||
#define OBJ_EVENT_GFX_WOBBUFFET 440
|
||||
#define OBJ_EVENT_GFX_GIRAFARIG 441
|
||||
#define OBJ_EVENT_GFX_PINECO 442
|
||||
#define OBJ_EVENT_GFX_FORRETRESS 443
|
||||
#define OBJ_EVENT_GFX_DUNSPARCE 444
|
||||
#define OBJ_EVENT_GFX_GLIGAR 445
|
||||
#define OBJ_EVENT_GFX_STEELIX 446
|
||||
#define OBJ_EVENT_GFX_SNUBBULL 447
|
||||
#define OBJ_EVENT_GFX_GRANBULL 448
|
||||
#define OBJ_EVENT_GFX_QWILFISH 449
|
||||
#define OBJ_EVENT_GFX_SCIZOR 450
|
||||
#define OBJ_EVENT_GFX_SHUCKLE 451
|
||||
#define OBJ_EVENT_GFX_HERACROSS 452
|
||||
#define OBJ_EVENT_GFX_SNEASEL 453
|
||||
#define OBJ_EVENT_GFX_TEDDIURSA 454
|
||||
#define OBJ_EVENT_GFX_URSARING 455
|
||||
#define OBJ_EVENT_GFX_SLUGMA 456
|
||||
#define OBJ_EVENT_GFX_MAGCARGO 457
|
||||
#define OBJ_EVENT_GFX_SWINUB 458
|
||||
#define OBJ_EVENT_GFX_PILOSWINE 459
|
||||
#define OBJ_EVENT_GFX_CORSOLA 460
|
||||
#define OBJ_EVENT_GFX_REMORAID 461
|
||||
#define OBJ_EVENT_GFX_OCTILLERY 462
|
||||
#define OBJ_EVENT_GFX_DELIBIRD 463
|
||||
#define OBJ_EVENT_GFX_MANTINE 464
|
||||
#define OBJ_EVENT_GFX_SKARMORY 465
|
||||
#define OBJ_EVENT_GFX_HOUNDOUR 466
|
||||
#define OBJ_EVENT_GFX_HOUNDOOM 467
|
||||
#define OBJ_EVENT_GFX_KINGDRA 468
|
||||
#define OBJ_EVENT_GFX_PHANPY 469
|
||||
#define OBJ_EVENT_GFX_DONPHAN 470
|
||||
#define OBJ_EVENT_GFX_PORYGON2 471
|
||||
#define OBJ_EVENT_GFX_STANTLER 472
|
||||
#define OBJ_EVENT_GFX_SMEARGLE 473
|
||||
#define OBJ_EVENT_GFX_TYROGUE 474
|
||||
#define OBJ_EVENT_GFX_HITMONTOP 475
|
||||
#define OBJ_EVENT_GFX_SMOOCHUM 476
|
||||
#define OBJ_EVENT_GFX_ELEKID 477
|
||||
#define OBJ_EVENT_GFX_MAGBY 478
|
||||
#define OBJ_EVENT_GFX_MILTANK 479
|
||||
#define OBJ_EVENT_GFX_BLISSEY 480
|
||||
#define OBJ_EVENT_GFX_RAIKOU 481
|
||||
#define OBJ_EVENT_GFX_ENTEI 482
|
||||
#define OBJ_EVENT_GFX_SUICUNE 483
|
||||
#define OBJ_EVENT_GFX_LARVITAR 484
|
||||
#define OBJ_EVENT_GFX_PUPITAR 485
|
||||
#define OBJ_EVENT_GFX_TYRANITAR 486
|
||||
#define OBJ_EVENT_GFX_LUGIA_FOLLOWER 487
|
||||
#define OBJ_EVENT_GFX_HOOH_FOLLOWER 488
|
||||
#define OBJ_EVENT_GFX_CELEBI 489
|
||||
|
||||
// NOTE: By default, the max value for NUM_OBJ_EVENT_GFX is 239.
|
||||
//
|
||||
// Object event graphics ids are 1 byte in size (max value of 255), and the dynamic
|
||||
// graphics ids that start after NUM_OBJ_EVENT_GFX reach this limit. No graphics id
|
||||
// uses the value 239 itself, so removing the "+ 1" in OBJ_EVENT_GFX_VARS would
|
||||
// allow increasing NUM_OBJ_EVENT_GFX to 240. There are also a handful of unused
|
||||
// object graphics that can be removed. If more graphics are needed, anything that
|
||||
// stores graphics ids will need to be increased in size. See wiki entry below:
|
||||
// https://github.com/pret/pokeemerald/wiki/Feature-Branches#overworld-expansion
|
||||
#define NUM_OBJ_EVENT_GFX 239
|
||||
#ifndef POKEMON_EXPANSION
|
||||
|
||||
#define OBJ_EVENT_GFX_GREAT_BALL 490
|
||||
#define OBJ_EVENT_GFX_ULTRA_BALL 491
|
||||
#define OBJ_EVENT_GFX_MASTER_BALL 492
|
||||
#define OBJ_EVENT_GFX_SAFARI_BALL 493
|
||||
#define OBJ_EVENT_GFX_NET_BALL 494
|
||||
#define OBJ_EVENT_GFX_DIVE_BALL 495
|
||||
#define OBJ_EVENT_GFX_NEST_BALL 496
|
||||
#define OBJ_EVENT_GFX_REPEAT_BALL 497
|
||||
#define OBJ_EVENT_GFX_TIMER_BALL 498
|
||||
#define OBJ_EVENT_GFX_LUXURY_BALL 499
|
||||
#define OBJ_EVENT_GFX_PREMIER_BALL 500
|
||||
#define OBJ_EVENT_GFX_HEAL_BALL 501
|
||||
#define OBJ_EVENT_GFX_DUSK_BALL 502
|
||||
#define OBJ_EVENT_GFX_QUICK_BALL 503
|
||||
#define OBJ_EVENT_GFX_LEVEL_BALL 504
|
||||
#define OBJ_EVENT_GFX_LURE_BALL 505
|
||||
#define OBJ_EVENT_GFX_MOON_BALL 506
|
||||
#define OBJ_EVENT_GFX_FRIEND_BALL 507
|
||||
#define OBJ_EVENT_GFX_LOVE_BALL 508
|
||||
#define OBJ_EVENT_GFX_FAST_BALL 509
|
||||
#define OBJ_EVENT_GFX_HEAVY_BALL 510
|
||||
#define OBJ_EVENT_GFX_DREAM_BALL 511
|
||||
#define OBJ_EVENT_GFX_SPORT_BALL 512
|
||||
#define OBJ_EVENT_GFX_PARK_BALL 513
|
||||
#define OBJ_EVENT_GFX_CHERISH_BALL 514
|
||||
|
||||
// Jump in numbers due to SPECIES_OLD_UNOWN constants
|
||||
#define OBJ_EVENT_GFX_TREECKO 515
|
||||
#define OBJ_EVENT_GFX_GROVYLE 516
|
||||
#define OBJ_EVENT_GFX_SCEPTILE 517
|
||||
#define OBJ_EVENT_GFX_TORCHIC 518
|
||||
#define OBJ_EVENT_GFX_COMBUSKEN 519
|
||||
#define OBJ_EVENT_GFX_BLAZIKEN 520
|
||||
#define OBJ_EVENT_GFX_MUDKIP 521
|
||||
#define OBJ_EVENT_GFX_MARSHTOMP 522
|
||||
#define OBJ_EVENT_GFX_SWAMPERT 523
|
||||
#define OBJ_EVENT_GFX_POOCHYENA_FOLLOWER 524
|
||||
#define OBJ_EVENT_GFX_MIGHTYENA 525
|
||||
#define OBJ_EVENT_GFX_ZIGZAGOON_FOLLOWER 526
|
||||
#define OBJ_EVENT_GFX_LINOONE 527
|
||||
#define OBJ_EVENT_GFX_WURMPLE 528
|
||||
#define OBJ_EVENT_GFX_SILCOON 529
|
||||
#define OBJ_EVENT_GFX_BEAUTIFLY 530
|
||||
#define OBJ_EVENT_GFX_CASCOON 531
|
||||
#define OBJ_EVENT_GFX_DUSTOX 532
|
||||
#define OBJ_EVENT_GFX_LOTAD 533
|
||||
#define OBJ_EVENT_GFX_LOMBRE 534
|
||||
#define OBJ_EVENT_GFX_LUDICOLO 535
|
||||
#define OBJ_EVENT_GFX_SEEDOT 536
|
||||
#define OBJ_EVENT_GFX_NUZLEAF 537
|
||||
#define OBJ_EVENT_GFX_SHIFTRY 538
|
||||
#define OBJ_EVENT_GFX_NINCADA 539
|
||||
#define OBJ_EVENT_GFX_NINJASK 540
|
||||
#define OBJ_EVENT_GFX_SHEDINJA 541
|
||||
#define OBJ_EVENT_GFX_TAILLOW 542
|
||||
#define OBJ_EVENT_GFX_SWELLOW 543
|
||||
#define OBJ_EVENT_GFX_SHROOMISH 544
|
||||
#define OBJ_EVENT_GFX_BRELOOM 545
|
||||
#define OBJ_EVENT_GFX_SPINDA 546
|
||||
#define OBJ_EVENT_GFX_WINGULL_FOLLOWER 547
|
||||
#define OBJ_EVENT_GFX_PELIPPER 548
|
||||
#define OBJ_EVENT_GFX_SURSKIT 549
|
||||
#define OBJ_EVENT_GFX_MASQUERAIN 550
|
||||
#define OBJ_EVENT_GFX_WAILMER 551
|
||||
#define OBJ_EVENT_GFX_WAILORD 552
|
||||
#define OBJ_EVENT_GFX_SKITTY_FOLLOWER 553
|
||||
#define OBJ_EVENT_GFX_DELCATTY 554
|
||||
#define OBJ_EVENT_GFX_KECLEON_FOLLOWER 555
|
||||
#define OBJ_EVENT_GFX_BALTOY 556
|
||||
#define OBJ_EVENT_GFX_CLAYDOL 557
|
||||
#define OBJ_EVENT_GFX_NOSEPASS 558
|
||||
#define OBJ_EVENT_GFX_TORKOAL 559
|
||||
#define OBJ_EVENT_GFX_SABLEYE 560
|
||||
#define OBJ_EVENT_GFX_BARBOACH 561
|
||||
#define OBJ_EVENT_GFX_WHISCASH 562
|
||||
#define OBJ_EVENT_GFX_LUVDISC 563
|
||||
#define OBJ_EVENT_GFX_CORPHISH 564
|
||||
#define OBJ_EVENT_GFX_CRAWDAUNT 565
|
||||
#define OBJ_EVENT_GFX_FEEBAS 566
|
||||
#define OBJ_EVENT_GFX_MILOTIC 567
|
||||
#define OBJ_EVENT_GFX_CARVANHA 568
|
||||
#define OBJ_EVENT_GFX_SHARPEDO 569
|
||||
#define OBJ_EVENT_GFX_TRAPINCH 570
|
||||
#define OBJ_EVENT_GFX_VIBRAVA 571
|
||||
#define OBJ_EVENT_GFX_FLYGON 572
|
||||
#define OBJ_EVENT_GFX_MAKUHITA 573
|
||||
#define OBJ_EVENT_GFX_HARIYAMA 574
|
||||
#define OBJ_EVENT_GFX_ELECTRIKE 575
|
||||
#define OBJ_EVENT_GFX_MANECTRIC 576
|
||||
#define OBJ_EVENT_GFX_NUMEL 577
|
||||
#define OBJ_EVENT_GFX_CAMERUPT 578
|
||||
#define OBJ_EVENT_GFX_SPHEAL 579
|
||||
#define OBJ_EVENT_GFX_SEALEO 580
|
||||
#define OBJ_EVENT_GFX_WALREIN 581
|
||||
#define OBJ_EVENT_GFX_CACNEA 582
|
||||
#define OBJ_EVENT_GFX_CACTURNE 583
|
||||
#define OBJ_EVENT_GFX_SNORUNT 584
|
||||
#define OBJ_EVENT_GFX_GLALIE 585
|
||||
#define OBJ_EVENT_GFX_LUNATONE 586
|
||||
#define OBJ_EVENT_GFX_SOLROCK 587
|
||||
#define OBJ_EVENT_GFX_AZURILL_FOLLOWER 588
|
||||
#define OBJ_EVENT_GFX_SPOINK 589
|
||||
#define OBJ_EVENT_GFX_GRUMPIG 590
|
||||
#define OBJ_EVENT_GFX_PLUSLE 591
|
||||
#define OBJ_EVENT_GFX_MINUN 592
|
||||
#define OBJ_EVENT_GFX_MAWILE 593
|
||||
#define OBJ_EVENT_GFX_MEDITITE 594
|
||||
#define OBJ_EVENT_GFX_MEDICHAM 595
|
||||
#define OBJ_EVENT_GFX_SWABLU 596
|
||||
#define OBJ_EVENT_GFX_ALTARIA 597
|
||||
#define OBJ_EVENT_GFX_WYNAUT 598
|
||||
#define OBJ_EVENT_GFX_DUSKULL 599
|
||||
#define OBJ_EVENT_GFX_DUSCLOPS_FOLLOWER 600
|
||||
#define OBJ_EVENT_GFX_ROSELIA 601
|
||||
#define OBJ_EVENT_GFX_SLAKOTH 602
|
||||
#define OBJ_EVENT_GFX_VIGOROTH_FOLLOWER 603
|
||||
#define OBJ_EVENT_GFX_SLAKING 604
|
||||
#define OBJ_EVENT_GFX_GULPIN 605
|
||||
#define OBJ_EVENT_GFX_SWALOT 606
|
||||
#define OBJ_EVENT_GFX_TROPIUS 607
|
||||
#define OBJ_EVENT_GFX_WHISMUR 608
|
||||
#define OBJ_EVENT_GFX_LOUDRED 609
|
||||
#define OBJ_EVENT_GFX_EXPLOUD 610
|
||||
#define OBJ_EVENT_GFX_CLAMPERL 611
|
||||
#define OBJ_EVENT_GFX_HUNTAIL 612
|
||||
#define OBJ_EVENT_GFX_GOREBYSS 613
|
||||
#define OBJ_EVENT_GFX_ABSOL 614
|
||||
#define OBJ_EVENT_GFX_SHUPPET 615
|
||||
#define OBJ_EVENT_GFX_BANETTE 616
|
||||
#define OBJ_EVENT_GFX_SEVIPER 617
|
||||
#define OBJ_EVENT_GFX_ZANGOOSE 618
|
||||
#define OBJ_EVENT_GFX_RELICANTH 619
|
||||
#define OBJ_EVENT_GFX_ARON 620
|
||||
#define OBJ_EVENT_GFX_LAIRON 621
|
||||
#define OBJ_EVENT_GFX_AGGRON 622
|
||||
#define OBJ_EVENT_GFX_CASTFORM 623
|
||||
#define OBJ_EVENT_GFX_VOLBEAT 624
|
||||
#define OBJ_EVENT_GFX_ILLUMISE 625
|
||||
#define OBJ_EVENT_GFX_LILEEP 626
|
||||
#define OBJ_EVENT_GFX_CRADILY 627
|
||||
#define OBJ_EVENT_GFX_ANORITH 628
|
||||
#define OBJ_EVENT_GFX_ARMALDO 629
|
||||
#define OBJ_EVENT_GFX_RALTS 630
|
||||
#define OBJ_EVENT_GFX_KIRLIA_FOLLOWER 631
|
||||
#define OBJ_EVENT_GFX_GARDEVOIR 632
|
||||
#define OBJ_EVENT_GFX_BAGON 633
|
||||
#define OBJ_EVENT_GFX_SHELGON 634
|
||||
#define OBJ_EVENT_GFX_SALAMENCE 635
|
||||
#define OBJ_EVENT_GFX_BELDUM 636
|
||||
#define OBJ_EVENT_GFX_METANG 637
|
||||
#define OBJ_EVENT_GFX_METAGROSS 638
|
||||
#define OBJ_EVENT_GFX_REGIROCK_FOLLOWER 639
|
||||
#define OBJ_EVENT_GFX_REGICE_FOLLOWER 640
|
||||
#define OBJ_EVENT_GFX_REGISTEEL_FOLLOWER 641
|
||||
#define OBJ_EVENT_GFX_KYOGRE 642
|
||||
#define OBJ_EVENT_GFX_GROUDON 643
|
||||
#define OBJ_EVENT_GFX_RAYQUAZA_FOLLOWER 644
|
||||
#define OBJ_EVENT_GFX_LATIAS_FOLLOWER 645
|
||||
#define OBJ_EVENT_GFX_LATIOS_FOLLOWER 646
|
||||
#define OBJ_EVENT_GFX_JIRACHI 647
|
||||
#define OBJ_EVENT_GFX_DEOXYS_NORMAL 648
|
||||
#define OBJ_EVENT_GFX_CHIMECHO 649
|
||||
|
||||
// Other forms
|
||||
#define OBJ_EVENT_GFX_DEOXYS_ATTACK 650
|
||||
#define OBJ_EVENT_GFX_DEOXYS_DEFENSE 651
|
||||
#define OBJ_EVENT_GFX_DEOXYS_SPEED 652
|
||||
#define OBJ_EVENT_GFX_UNOWN_B 653
|
||||
#define OBJ_EVENT_GFX_UNOWN_C 654
|
||||
#define OBJ_EVENT_GFX_UNOWN_D 655
|
||||
#define OBJ_EVENT_GFX_UNOWN_E 656
|
||||
#define OBJ_EVENT_GFX_UNOWN_F 657
|
||||
#define OBJ_EVENT_GFX_UNOWN_G 658
|
||||
#define OBJ_EVENT_GFX_UNOWN_H 659
|
||||
#define OBJ_EVENT_GFX_UNOWN_I 660
|
||||
#define OBJ_EVENT_GFX_UNOWN_J 661
|
||||
#define OBJ_EVENT_GFX_UNOWN_K 662
|
||||
#define OBJ_EVENT_GFX_UNOWN_L 663
|
||||
#define OBJ_EVENT_GFX_UNOWN_M 664
|
||||
#define OBJ_EVENT_GFX_UNOWN_N 665
|
||||
#define OBJ_EVENT_GFX_UNOWN_O 666
|
||||
#define OBJ_EVENT_GFX_UNOWN_P 667
|
||||
#define OBJ_EVENT_GFX_UNOWN_Q 668
|
||||
#define OBJ_EVENT_GFX_UNOWN_R 669
|
||||
#define OBJ_EVENT_GFX_UNOWN_S 670
|
||||
#define OBJ_EVENT_GFX_UNOWN_T 671
|
||||
#define OBJ_EVENT_GFX_UNOWN_U 672
|
||||
#define OBJ_EVENT_GFX_UNOWN_V 673
|
||||
#define OBJ_EVENT_GFX_UNOWN_W 674
|
||||
#define OBJ_EVENT_GFX_UNOWN_X 675
|
||||
#define OBJ_EVENT_GFX_UNOWN_Y 676
|
||||
#define OBJ_EVENT_GFX_UNOWN_Z 677
|
||||
#define OBJ_EVENT_GFX_UNOWN_EXCLAMATION 678
|
||||
#define OBJ_EVENT_GFX_UNOWN_QUESTION 679
|
||||
|
||||
#define OBJ_EVENT_GFX_EXPANDING_SPARKLE 680
|
||||
|
||||
#else
|
||||
// There are no OLD_UNOWN constants in the pokemon_expansion, and the species constants are reordered
|
||||
|
||||
#define OBJ_EVENT_GFX_TREECKO 490
|
||||
#define OBJ_EVENT_GFX_GROVYLE 491
|
||||
#define OBJ_EVENT_GFX_SCEPTILE 492
|
||||
#define OBJ_EVENT_GFX_TORCHIC 493
|
||||
#define OBJ_EVENT_GFX_COMBUSKEN 494
|
||||
#define OBJ_EVENT_GFX_BLAZIKEN 495
|
||||
#define OBJ_EVENT_GFX_MUDKIP 496
|
||||
#define OBJ_EVENT_GFX_MARSHTOMP 497
|
||||
#define OBJ_EVENT_GFX_SWAMPERT 498
|
||||
#define OBJ_EVENT_GFX_POOCHYENA_FOLLOWER 499
|
||||
#define OBJ_EVENT_GFX_MIGHTYENA 500
|
||||
#define OBJ_EVENT_GFX_ZIGZAGOON_FOLLOWER 501
|
||||
#define OBJ_EVENT_GFX_LINOONE 502
|
||||
#define OBJ_EVENT_GFX_WURMPLE 503
|
||||
#define OBJ_EVENT_GFX_SILCOON 504
|
||||
#define OBJ_EVENT_GFX_BEAUTIFLY 505
|
||||
#define OBJ_EVENT_GFX_CASCOON 506
|
||||
#define OBJ_EVENT_GFX_DUSTOX 507
|
||||
#define OBJ_EVENT_GFX_LOTAD 508
|
||||
#define OBJ_EVENT_GFX_LOMBRE 509
|
||||
#define OBJ_EVENT_GFX_LUDICOLO 510
|
||||
#define OBJ_EVENT_GFX_SEEDOT 511
|
||||
#define OBJ_EVENT_GFX_NUZLEAF 512
|
||||
#define OBJ_EVENT_GFX_SHIFTRY 513
|
||||
#define OBJ_EVENT_GFX_TAILLOW 514
|
||||
#define OBJ_EVENT_GFX_SWELLOW 515
|
||||
#define OBJ_EVENT_GFX_WINGULL_FOLLOWER 516
|
||||
#define OBJ_EVENT_GFX_PELIPPER 517
|
||||
#define OBJ_EVENT_GFX_RALTS 518
|
||||
#define OBJ_EVENT_GFX_KIRLIA_FOLLOWER 519
|
||||
#define OBJ_EVENT_GFX_GARDEVOIR 520
|
||||
#define OBJ_EVENT_GFX_SURSKIT 521
|
||||
#define OBJ_EVENT_GFX_MASQUERAIN 522
|
||||
#define OBJ_EVENT_GFX_SHROOMISH 523
|
||||
#define OBJ_EVENT_GFX_BRELOOM 524
|
||||
#define OBJ_EVENT_GFX_SLAKOTH 525
|
||||
#define OBJ_EVENT_GFX_VIGOROTH_FOLLOWER 526
|
||||
#define OBJ_EVENT_GFX_SLAKING 527
|
||||
#define OBJ_EVENT_GFX_NINCADA 528
|
||||
#define OBJ_EVENT_GFX_NINJASK 529
|
||||
#define OBJ_EVENT_GFX_SHEDINJA 530
|
||||
#define OBJ_EVENT_GFX_WHISMUR 531
|
||||
#define OBJ_EVENT_GFX_LOUDRED 532
|
||||
#define OBJ_EVENT_GFX_EXPLOUD 533
|
||||
#define OBJ_EVENT_GFX_MAKUHITA 534
|
||||
#define OBJ_EVENT_GFX_HARIYAMA 535
|
||||
#define OBJ_EVENT_GFX_AZURILL_FOLLOWER 536
|
||||
#define OBJ_EVENT_GFX_NOSEPASS 537
|
||||
#define OBJ_EVENT_GFX_SKITTY_FOLLOWER 538
|
||||
#define OBJ_EVENT_GFX_DELCATTY 539
|
||||
#define OBJ_EVENT_GFX_SABLEYE 540
|
||||
#define OBJ_EVENT_GFX_MAWILE 541
|
||||
#define OBJ_EVENT_GFX_ARON 542
|
||||
#define OBJ_EVENT_GFX_LAIRON 543
|
||||
#define OBJ_EVENT_GFX_AGGRON 544
|
||||
#define OBJ_EVENT_GFX_MEDITITE 545
|
||||
#define OBJ_EVENT_GFX_MEDICHAM 546
|
||||
#define OBJ_EVENT_GFX_ELECTRIKE 547
|
||||
#define OBJ_EVENT_GFX_MANECTRIC 548
|
||||
#define OBJ_EVENT_GFX_PLUSLE 549
|
||||
#define OBJ_EVENT_GFX_MINUN 550
|
||||
#define OBJ_EVENT_GFX_VOLBEAT 551
|
||||
#define OBJ_EVENT_GFX_ILLUMISE 552
|
||||
#define OBJ_EVENT_GFX_ROSELIA 553
|
||||
#define OBJ_EVENT_GFX_GULPIN 554
|
||||
#define OBJ_EVENT_GFX_SWALOT 555
|
||||
#define OBJ_EVENT_GFX_CARVANHA 556
|
||||
#define OBJ_EVENT_GFX_SHARPEDO 557
|
||||
#define OBJ_EVENT_GFX_WAILMER 558
|
||||
#define OBJ_EVENT_GFX_WAILORD 559
|
||||
#define OBJ_EVENT_GFX_NUMEL 560
|
||||
#define OBJ_EVENT_GFX_CAMERUPT 561
|
||||
#define OBJ_EVENT_GFX_TORKOAL 562
|
||||
#define OBJ_EVENT_GFX_SPOINK 563
|
||||
#define OBJ_EVENT_GFX_GRUMPIG 564
|
||||
#define OBJ_EVENT_GFX_SPINDA 565
|
||||
#define OBJ_EVENT_GFX_TRAPINCH 566
|
||||
#define OBJ_EVENT_GFX_VIBRAVA 567
|
||||
#define OBJ_EVENT_GFX_FLYGON 568
|
||||
#define OBJ_EVENT_GFX_CACNEA 569
|
||||
#define OBJ_EVENT_GFX_CACTURNE 570
|
||||
#define OBJ_EVENT_GFX_SWABLU 571
|
||||
#define OBJ_EVENT_GFX_ALTARIA 572
|
||||
#define OBJ_EVENT_GFX_ZANGOOSE 573
|
||||
#define OBJ_EVENT_GFX_SEVIPER 574
|
||||
#define OBJ_EVENT_GFX_LUNATONE 575
|
||||
#define OBJ_EVENT_GFX_SOLROCK 576
|
||||
#define OBJ_EVENT_GFX_BARBOACH 577
|
||||
#define OBJ_EVENT_GFX_WHISCASH 578
|
||||
#define OBJ_EVENT_GFX_CORPHISH 579
|
||||
#define OBJ_EVENT_GFX_CRAWDAUNT 580
|
||||
#define OBJ_EVENT_GFX_BALTOY 581
|
||||
#define OBJ_EVENT_GFX_CLAYDOL 582
|
||||
#define OBJ_EVENT_GFX_LILEEP 583
|
||||
#define OBJ_EVENT_GFX_CRADILY 584
|
||||
#define OBJ_EVENT_GFX_ANORITH 585
|
||||
#define OBJ_EVENT_GFX_ARMALDO 586
|
||||
#define OBJ_EVENT_GFX_FEEBAS 587
|
||||
#define OBJ_EVENT_GFX_MILOTIC 588
|
||||
#define OBJ_EVENT_GFX_CASTFORM 589
|
||||
#define OBJ_EVENT_GFX_KECLEON_FOLLOWER 590
|
||||
#define OBJ_EVENT_GFX_SHUPPET 591
|
||||
#define OBJ_EVENT_GFX_BANETTE 592
|
||||
#define OBJ_EVENT_GFX_DUSKULL 593
|
||||
#define OBJ_EVENT_GFX_DUSCLOPS_FOLLOWER 594
|
||||
#define OBJ_EVENT_GFX_TROPIUS 595
|
||||
#define OBJ_EVENT_GFX_CHIMECHO 596
|
||||
#define OBJ_EVENT_GFX_ABSOL 597
|
||||
#define OBJ_EVENT_GFX_WYNAUT 598
|
||||
#define OBJ_EVENT_GFX_SNORUNT 599
|
||||
#define OBJ_EVENT_GFX_GLALIE 600
|
||||
#define OBJ_EVENT_GFX_SPHEAL 601
|
||||
#define OBJ_EVENT_GFX_SEALEO 602
|
||||
#define OBJ_EVENT_GFX_WALREIN 603
|
||||
#define OBJ_EVENT_GFX_CLAMPERL 604
|
||||
#define OBJ_EVENT_GFX_HUNTAIL 605
|
||||
#define OBJ_EVENT_GFX_GOREBYSS 606
|
||||
#define OBJ_EVENT_GFX_RELICANTH 607
|
||||
#define OBJ_EVENT_GFX_LUVDISC 608
|
||||
#define OBJ_EVENT_GFX_BAGON 609
|
||||
#define OBJ_EVENT_GFX_SHELGON 610
|
||||
#define OBJ_EVENT_GFX_SALAMENCE 611
|
||||
#define OBJ_EVENT_GFX_BELDUM 612
|
||||
#define OBJ_EVENT_GFX_METANG 613
|
||||
#define OBJ_EVENT_GFX_METAGROSS 614
|
||||
#define OBJ_EVENT_GFX_REGIROCK_FOLLOWER 615
|
||||
#define OBJ_EVENT_GFX_REGICE_FOLLOWER 616
|
||||
#define OBJ_EVENT_GFX_REGISTEEL_FOLLOWER 617
|
||||
#define OBJ_EVENT_GFX_LATIAS_FOLLOWER 618
|
||||
#define OBJ_EVENT_GFX_LATIOS_FOLLOWER 619
|
||||
#define OBJ_EVENT_GFX_KYOGRE 620
|
||||
#define OBJ_EVENT_GFX_GROUDON 621
|
||||
#define OBJ_EVENT_GFX_RAYQUAZA_FOLLOWER 622
|
||||
#define OBJ_EVENT_GFX_JIRACHI 623
|
||||
#define OBJ_EVENT_GFX_DEOXYS_NORMAL 624
|
||||
|
||||
// Other forms
|
||||
#define OBJ_EVENT_GFX_DEOXYS_ATTACK 625
|
||||
#define OBJ_EVENT_GFX_DEOXYS_DEFENSE 626
|
||||
#define OBJ_EVENT_GFX_DEOXYS_SPEED 627
|
||||
#define OBJ_EVENT_GFX_UNOWN_B 628
|
||||
#define OBJ_EVENT_GFX_UNOWN_C 629
|
||||
#define OBJ_EVENT_GFX_UNOWN_D 630
|
||||
#define OBJ_EVENT_GFX_UNOWN_E 631
|
||||
#define OBJ_EVENT_GFX_UNOWN_F 632
|
||||
#define OBJ_EVENT_GFX_UNOWN_G 633
|
||||
#define OBJ_EVENT_GFX_UNOWN_H 634
|
||||
#define OBJ_EVENT_GFX_UNOWN_I 635
|
||||
#define OBJ_EVENT_GFX_UNOWN_J 636
|
||||
#define OBJ_EVENT_GFX_UNOWN_K 637
|
||||
#define OBJ_EVENT_GFX_UNOWN_L 638
|
||||
#define OBJ_EVENT_GFX_UNOWN_M 639
|
||||
#define OBJ_EVENT_GFX_UNOWN_N 640
|
||||
#define OBJ_EVENT_GFX_UNOWN_O 641
|
||||
#define OBJ_EVENT_GFX_UNOWN_P 642
|
||||
#define OBJ_EVENT_GFX_UNOWN_Q 643
|
||||
#define OBJ_EVENT_GFX_UNOWN_R 644
|
||||
#define OBJ_EVENT_GFX_UNOWN_S 645
|
||||
#define OBJ_EVENT_GFX_UNOWN_T 646
|
||||
#define OBJ_EVENT_GFX_UNOWN_U 647
|
||||
#define OBJ_EVENT_GFX_UNOWN_V 648
|
||||
#define OBJ_EVENT_GFX_UNOWN_W 649
|
||||
#define OBJ_EVENT_GFX_UNOWN_X 650
|
||||
#define OBJ_EVENT_GFX_UNOWN_Y 651
|
||||
#define OBJ_EVENT_GFX_UNOWN_Z 652
|
||||
#define OBJ_EVENT_GFX_UNOWN_EXCLAMATION 653
|
||||
#define OBJ_EVENT_GFX_UNOWN_QUESTION 654
|
||||
|
||||
#define OBJ_EVENT_GFX_GREAT_BALL 655
|
||||
#define OBJ_EVENT_GFX_ULTRA_BALL 656
|
||||
#define OBJ_EVENT_GFX_MASTER_BALL 657
|
||||
#define OBJ_EVENT_GFX_SAFARI_BALL 658
|
||||
#define OBJ_EVENT_GFX_NET_BALL 659
|
||||
#define OBJ_EVENT_GFX_DIVE_BALL 660
|
||||
#define OBJ_EVENT_GFX_NEST_BALL 661
|
||||
#define OBJ_EVENT_GFX_REPEAT_BALL 662
|
||||
#define OBJ_EVENT_GFX_TIMER_BALL 663
|
||||
#define OBJ_EVENT_GFX_LUXURY_BALL 664
|
||||
#define OBJ_EVENT_GFX_PREMIER_BALL 665
|
||||
#define OBJ_EVENT_GFX_HEAL_BALL 666
|
||||
#define OBJ_EVENT_GFX_DUSK_BALL 667
|
||||
#define OBJ_EVENT_GFX_QUICK_BALL 668
|
||||
#define OBJ_EVENT_GFX_LEVEL_BALL 669
|
||||
#define OBJ_EVENT_GFX_LURE_BALL 670
|
||||
#define OBJ_EVENT_GFX_MOON_BALL 671
|
||||
#define OBJ_EVENT_GFX_FRIEND_BALL 672
|
||||
#define OBJ_EVENT_GFX_LOVE_BALL 673
|
||||
#define OBJ_EVENT_GFX_FAST_BALL 674
|
||||
#define OBJ_EVENT_GFX_HEAVY_BALL 675
|
||||
#define OBJ_EVENT_GFX_DREAM_BALL 676
|
||||
#define OBJ_EVENT_GFX_SPORT_BALL 677
|
||||
#define OBJ_EVENT_GFX_PARK_BALL 678
|
||||
#define OBJ_EVENT_GFX_CHERISH_BALL 679
|
||||
#define OBJ_EVENT_GFX_EXPANDING_SPARKLE 680
|
||||
|
||||
#endif
|
||||
|
||||
#define NUM_OBJ_EVENT_GFX 681
|
||||
|
||||
|
||||
// These are dynamic object gfx ids.
|
||||
@@ -285,6 +926,9 @@
|
||||
#define TRACKS_NONE 0
|
||||
#define TRACKS_FOOT 1
|
||||
#define TRACKS_BIKE_TIRE 2
|
||||
#define TRACKS_SLITHER 3
|
||||
#define TRACKS_SPOT 4
|
||||
#define TRACKS_BUG 5
|
||||
|
||||
#define FIRST_DECORATION_SPRITE_GFX OBJ_EVENT_GFX_PICHU_DOLL
|
||||
|
||||
@@ -293,6 +937,7 @@
|
||||
|
||||
// Special object event local ids
|
||||
#define OBJ_EVENT_ID_PLAYER 0xFF
|
||||
#define OBJ_EVENT_ID_FOLLOWER 0xFE
|
||||
#define OBJ_EVENT_ID_CAMERA 0x7F
|
||||
|
||||
// Object event local ids referenced in C files
|
||||
|
||||
@@ -68,6 +68,9 @@
|
||||
#define FLDEFF_RAYQUAZA_SPOTLIGHT 64
|
||||
#define FLDEFF_DESTROY_DEOXYS_ROCK 65
|
||||
#define FLDEFF_MOVE_DEOXYS_ROCK 66
|
||||
#define FLDEFF_TRACKS_SLITHER 67
|
||||
#define FLDEFF_TRACKS_SPOT 68
|
||||
#define FLDEFF_TRACKS_BUG 69
|
||||
|
||||
#define FLDEFFOBJ_SHADOW_S 0
|
||||
#define FLDEFFOBJ_SHADOW_M 1
|
||||
@@ -106,6 +109,9 @@
|
||||
#define FLDEFFOBJ_BUBBLES 34
|
||||
#define FLDEFFOBJ_SMALL_SPARKLE 35
|
||||
#define FLDEFFOBJ_RAYQUAZA 36
|
||||
#define FLDEFFOBJ_TRACKS_SLITHER 37
|
||||
#define FLDEFFOBJ_TRACKS_SPOT 38
|
||||
#define FLDEFFOBJ_TRACKS_BUG 39
|
||||
|
||||
#define FLDEFF_PAL_TAG_CUT_GRASS 0x1000
|
||||
#define FLDEFF_PAL_TAG_SECRET_POWER_TREE 0x1003
|
||||
|
||||
@@ -41,8 +41,9 @@
|
||||
#define FLAG_TEMP_1F (TEMP_FLAGS_START + 0x1F)
|
||||
#define TEMP_FLAGS_END FLAG_TEMP_1F
|
||||
|
||||
#define FLAG_UNUSED_0x020 0x20 // Unused Flag
|
||||
#define FLAG_UNUSED_0x021 0x21 // Unused Flag
|
||||
#define FLAG_FOLLOWER_ACTIVE 0x20 // Reveals the follower object
|
||||
#define FLAG_FOLLOWER_IN_BUILDING 0x21 // Used for speeding up follower door exiting
|
||||
|
||||
#define FLAG_UNUSED_0x022 0x22 // Unused Flag
|
||||
#define FLAG_UNUSED_0x023 0x23 // Unused Flag
|
||||
#define FLAG_UNUSED_0x024 0x24 // Unused Flag
|
||||
@@ -1123,7 +1124,7 @@
|
||||
#define FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL 0x433
|
||||
#define FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE 0x434
|
||||
#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL 0x435
|
||||
#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER 0x436
|
||||
#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_2_SCANNER 0x436
|
||||
#define FLAG_ITEM_SCORCHED_SLAB_TM11 0x437
|
||||
#define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM02 0x438
|
||||
#define FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL 0x439
|
||||
@@ -1348,7 +1349,7 @@
|
||||
#define FLAG_UNUSED_0x863 (SYSTEM_FLAGS + 0x3) // Unused Flag
|
||||
#define FLAG_SYS_GAME_CLEAR (SYSTEM_FLAGS + 0x4)
|
||||
#define FLAG_SYS_CHAT_USED (SYSTEM_FLAGS + 0x5)
|
||||
#define FLAG_SYS_HIPSTER_MEET (SYSTEM_FLAGS + 0x6)
|
||||
#define FLAG_UNLOCKED_TRENDY_SAYINGS (SYSTEM_FLAGS + 0x6)
|
||||
|
||||
// Badges
|
||||
#define FLAG_BADGE01_GET (SYSTEM_FLAGS + 0x7)
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#ifndef GUARD_CONSTANTS_FOLLOW_ME_H
|
||||
#define GUARD_CONSTANTS_FOLLOW_ME_H
|
||||
|
||||
#define FOLLOWER_FLAG_HAS_RUNNING_FRAMES 0x1
|
||||
#define FOLLOWER_FLAG_CAN_BIKE 0x2
|
||||
#define FOLLOWER_FLAG_CAN_LEAVE_ROUTE 0x4 // teleport, dig, fly, etc
|
||||
#define FOLLOWER_FLAG_CAN_SURF 0x8
|
||||
#define FOLLOWER_FLAG_CAN_WATERFALL 0x10
|
||||
#define FOLLOWER_FLAG_CAN_DIVE 0x20
|
||||
#define FOLLOWER_FLAG_CAN_ROCK_CLIMB 0x40 // need rock climb implemented
|
||||
#define FOLLOWER_FLAG_CLEAR_ON_WHITE_OUT 0x80
|
||||
#define FOLLOWER_FLAG_CUSTOM_FOLLOW_SCRIPT 0x100 // follower has custom script while following (use loadword prior to setfollower)
|
||||
|
||||
#define FOLLOWER_FLAG_ALL_WATER FOLLOWER_FLAG_CAN_SURF | FOLLOWER_FLAG_CAN_WATERFALL | FOLLOWER_FLAG_CAN_DIVE
|
||||
#define FOLLOWER_FLAG_ALL_LAND FOLLOWER_FLAG_HAS_RUNNING_FRAMES | FOLLOWER_FLAG_CAN_BIKE | FOLLOWER_FLAG_CAN_LEAVE_ROUTE
|
||||
#define FOLLOWER_FLAG_ALL FOLLOWER_FLAG_ALL_WATER | FOLLOWER_FLAG_ALL_LAND | FOLLOWER_FLAG_CLEAR_ON_WHITE_OUT
|
||||
|
||||
|
||||
#endif // GUARD_CONSTANTS_FOLLOW_ME_H
|
||||
@@ -167,4 +167,9 @@
|
||||
#define CONNECTION_DIVE 5
|
||||
#define CONNECTION_EMERGE 6
|
||||
|
||||
#define SIDEWAYS_STAIRS_IMPLEMENTED FALSE
|
||||
#define POST_BATTLE_FOLLOWER_FIX FALSE
|
||||
|
||||
#define FAST_FOLLOWERS FALSE
|
||||
|
||||
#endif // GUARD_CONSTANTS_GLOBAL_H
|
||||
+2
-2
@@ -128,11 +128,11 @@ void InitializeEasyChatWordArray(u16 *words, u16 length);
|
||||
u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows);
|
||||
bool8 IsBardWordInvalid(u16 word);
|
||||
u16 GetRandomEasyChatWordFromGroup(u16 group);
|
||||
u16 GetNewHipsterPhraseToTeach(void);
|
||||
u16 UnlockRandomTrendySaying(void);
|
||||
u16 EasyChat_GetNumWordsInGroup(u8);
|
||||
u16 GetRandomEasyChatWordFromUnlockedGroup(u16);
|
||||
void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType);
|
||||
void InitQuestionnaireWords(void);
|
||||
void UnlockAdditionalPhrase(u8 additionalPhraseId);
|
||||
void UnlockTrendySaying(u8 wordIndex);
|
||||
|
||||
#endif // GUARD_EASYCHAT_H
|
||||
@@ -22,7 +22,7 @@ u16 *GetVarPointer(u16 id);
|
||||
u16 VarGet(u16 id);
|
||||
u16 VarGetIfExist(u16 id);
|
||||
bool8 VarSet(u16 id, u16 value);
|
||||
u8 VarGetObjectEventGraphicsId(u8 id);
|
||||
u16 VarGetObjectEventGraphicsId(u8 id);
|
||||
u8 *GetFlagPointer(u16 id);
|
||||
u8 FlagSet(u16 id);
|
||||
u8 FlagToggle(u16 id);
|
||||
|
||||
@@ -92,11 +92,10 @@ struct LockedAnimObjectEvents
|
||||
extern const struct OamData gObjectEventBaseOam_32x8;
|
||||
extern const struct OamData gObjectEventBaseOam_32x32;
|
||||
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
|
||||
extern const u8 gReflectionEffectPaletteMap[];
|
||||
|
||||
extern const u8 *const gBerryTreeObjectEventGraphicsIdTablePointers[];
|
||||
extern const u16 *const gBerryTreeObjectEventGraphicsIdTablePointers[];
|
||||
extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[];
|
||||
extern const u8 *const gBerryTreePaletteSlotTablePointers[];
|
||||
extern const u16 *const gBerryTreePaletteSlotTablePointers[];
|
||||
|
||||
void ResetObjectEvents(void);
|
||||
u8 GetMoveDirectionAnimNum(u8 direction);
|
||||
@@ -105,6 +104,7 @@ bool8 TryGetObjectEventIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId, u
|
||||
u8 GetObjectEventIdByXY(s16 x, s16 y);
|
||||
void SetObjectEventDirection(struct ObjectEvent *objectEvent, u8 direction);
|
||||
u8 GetFirstInactiveObjectEventId(void);
|
||||
void RemoveObjectEvent(struct ObjectEvent *objectEvent);
|
||||
void RemoveObjectEventByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup);
|
||||
void LoadPlayerObjectReflectionPalette(u16 tag, u8 slot);
|
||||
void LoadSpecialObjectReflectionPalette(u16 tag, u8 slot);
|
||||
@@ -120,14 +120,14 @@ void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *);
|
||||
void TrySpawnObjectEvents(s16 cameraX, s16 cameraY);
|
||||
u8 CreateObjectGraphicsSprite(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority);
|
||||
u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup);
|
||||
u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation);
|
||||
u8 SpawnSpecialObjectEventParameterized(u16 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation);
|
||||
u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *);
|
||||
void SetSpritePosToMapCoords(s16 mapX, s16 mapY, s16 *destX, s16 *destY);
|
||||
void CameraObjectReset1(void);
|
||||
void ObjectEventSetGraphicsId(struct ObjectEvent *, u8 graphicsId);
|
||||
void ObjectEventSetGraphicsId(struct ObjectEvent *, u16 graphicsId);
|
||||
const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u16 graphicsId);
|
||||
void ObjectEventTurn(struct ObjectEvent *, u8 direction);
|
||||
void ObjectEventTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction);
|
||||
const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8 graphicsId);
|
||||
void SetObjectInvisibility(u8 localId, u8 mapNum, u8 mapGroup, bool8 invisible);
|
||||
void FreeAndReserveObjectSpritePalettes(void);
|
||||
void SetObjectEventSpritePosByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y);
|
||||
@@ -212,8 +212,12 @@ void UpdateObjectEventSpriteInvisibility(struct Sprite *sprite, bool8 invisible)
|
||||
s16 GetFigure8XOffset(s16 idx);
|
||||
s16 GetFigure8YOffset(s16 idx);
|
||||
void CameraObjectReset2(void);
|
||||
void LoadObjectEventPalette(u16 paletteTag);
|
||||
u8 GetObjectEventBerryTreeId(u8 objectEventId);
|
||||
void SetBerryTreeJustPicked(u8 mapId, u8 mapNumber, u8 mapGroup);
|
||||
const struct ObjectEventTemplate *GetObjectEventTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup);
|
||||
u8 TrySpawnObjectEventTemplate(const struct ObjectEventTemplate *objectEventTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY);
|
||||
bool8 ObjectEventPokemonFacePlayer(struct ObjectEvent *, struct ObjectEvent *);
|
||||
bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup);
|
||||
|
||||
void MovementType_None(struct Sprite *);
|
||||
@@ -271,6 +275,7 @@ void MovementType_JogInPlace(struct Sprite *);
|
||||
void MovementType_RunInPlace(struct Sprite *);
|
||||
void MovementType_Invisible(struct Sprite *);
|
||||
void MovementType_WalkSlowlyInPlace(struct Sprite *);
|
||||
void MovementType_FollowingPokemon(struct Sprite *);
|
||||
u8 GetSlideMovementAction(u32);
|
||||
u8 GetJumpMovementAction(u32);
|
||||
u8 GetJump2MovementAction(u32);
|
||||
@@ -431,13 +436,22 @@ u8 MovementType_RunInPlace_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementType_Invisible_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementType_Invisible_Step1(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementType_Invisible_Step2(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementType_FollowingPokemon_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementType_FollowingPokemon_Step1(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementType_FollowingPokemon_Step2(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementType_FollowingPokemon_Step3(struct ObjectEvent *, struct Sprite *);
|
||||
|
||||
u8 CreateVirtualObject(u8 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevation, u8 direction);
|
||||
u8 CreateVirtualObject(u16 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 z, u8 direction);
|
||||
void TurnVirtualObject(u8 virtualObjId, u8 direction);
|
||||
void SetVirtualObjectGraphics(u8 virtualObjId, u8 graphicsId);
|
||||
void SetVirtualObjectGraphics(u8 virtualObjId, u16 graphicsId);
|
||||
void SetVirtualObjectInvisibility(u8 virtualObjId, bool32 invisible);
|
||||
bool32 IsVirtualObjectInvisible(u8 virtualObjId);
|
||||
void SetVirtualObjectSpriteAnim(u8 virtualObjId, u8 animNum);
|
||||
bool32 IsVirtualObjectAnimating(u8 virtualObjId);
|
||||
|
||||
// NEW
|
||||
u16 GetMiniStepCount(u8 speed);
|
||||
void RunMiniStep(struct Sprite *sprite, u8 speed, u8 currentFrame);
|
||||
bool8 PlayerIsUnderWaterfall(struct ObjectEvent *objectEvent);
|
||||
|
||||
#endif //GUARD_EVENT_OBJECT_MOVEMENT_H
|
||||
@@ -32,7 +32,7 @@ bool8 TryDoDiveWarp(struct MapPosition *position, u16 b);
|
||||
int SetCableClubWarp(void);
|
||||
u8 TrySetDiveWarp(void);
|
||||
const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehavior, u8 direction);
|
||||
u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position);
|
||||
const u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position);
|
||||
void ClearPoisonStepCounter(void);
|
||||
|
||||
#endif // GUARD_FIELDCONTROLAVATAR_H
|
||||
@@ -41,5 +41,6 @@ void UpdateBubblesFieldEffect(struct Sprite *);
|
||||
void UpdateSparkleFieldEffect(struct Sprite *);
|
||||
void SetSpriteInvisible(u8 spriteId);
|
||||
void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y);
|
||||
void LoadFieldEffectPalette(u8 fieldEffect);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECT_HELPERS_H
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
void PlayerStep(u8 direction, u16 newKeys, u16 heldKeys);
|
||||
void ClearPlayerAvatarInfo(void);
|
||||
void SetPlayerAvatarExtraStateTransition(u8, u8);
|
||||
u8 GetPlayerAvatarGenderByGraphicsId(u8);
|
||||
void SetPlayerAvatarExtraStateTransition(u16, u8);
|
||||
u8 GetPlayerAvatarGenderByGraphicsId(u16);
|
||||
bool8 TestPlayerAvatarFlags(u8);
|
||||
u8 GetPlayerAvatarSpriteId(void);
|
||||
void PlayerGetDestCoords(s16 *, s16 *);
|
||||
@@ -38,11 +38,11 @@ void PlayerFreeze(void);
|
||||
void StopPlayerAvatar(void);
|
||||
void SetSpinStartFacingDir(u8);
|
||||
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
|
||||
u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender);
|
||||
u16 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender);
|
||||
void SetPlayerAvatarFieldMove(void);
|
||||
u8 GetPlayerAvatarGraphicsIdByCurrentState(void);
|
||||
void SetPlayerAvatarStateMask(u8 flags);
|
||||
u8 GetPlayerAvatarGraphicsIdByStateId(u8 state);
|
||||
u16 GetPlayerAvatarGraphicsIdByCurrentState(void);
|
||||
void SetPlayerAvatarStateMask(u8 a);
|
||||
u16 GetPlayerAvatarGraphicsIdByStateId(u8 a);
|
||||
u8 GetJumpSpecialMovementAction(u32);
|
||||
bool8 PartyHasMonWithSurf(void);
|
||||
bool8 IsPlayerFacingSurfableFishableWater(void);
|
||||
@@ -50,8 +50,8 @@ bool8 IsPlayerSurfingNorth(void);
|
||||
void SetPlayerAvatarWatering(u8 direction);
|
||||
u8 GetPlayerAvatarFlags(void);
|
||||
void UpdatePlayerAvatarTransitionState(void);
|
||||
u8 GetFRLGAvatarGraphicsIdByGender(u8);
|
||||
u8 GetRSAvatarGraphicsIdByGender(u8);
|
||||
u16 GetFRLGAvatarGraphicsIdByGender(u8);
|
||||
u16 GetRSAvatarGraphicsIdByGender(u8);
|
||||
void PlayerWheelieInPlace(u8 direction);
|
||||
void PlayerWheelieMove(u8 direction);
|
||||
void PlayerPopWheelieWhileMoving(u8 direction);
|
||||
|
||||
@@ -41,5 +41,7 @@ void DoOrbEffect(void);
|
||||
void FadeOutOrbEffect(void);
|
||||
void WriteFlashScanlineEffectBuffer(u8 flashLevel);
|
||||
bool8 IsPlayerStandingStill(void);
|
||||
void SetPlayerVisibility(bool8 visible);
|
||||
void Task_WarpAndLoadMap(u8 taskId);
|
||||
|
||||
#endif // GUARD_FIELD_SCREEN_EFFECT_H
|
||||
@@ -5,6 +5,7 @@ extern bool8 gBikeCyclingChallenge;
|
||||
extern u8 gBikeCollisions;
|
||||
|
||||
u8 GetLeadMonIndex(void);
|
||||
u8 GetLeadMonNotFaintedIndex(void);
|
||||
u8 IsDestinationBoxFull(void);
|
||||
u16 GetPCBoxToSendMon(void);
|
||||
bool8 InMultiPartnerRoom(void);
|
||||
|
||||
+10
-1
@@ -141,6 +141,15 @@ extern struct Weather gWeather;
|
||||
extern struct Weather *const gWeatherPtr;
|
||||
extern const u16 gFogPalette[];
|
||||
|
||||
enum
|
||||
{
|
||||
COLOR_MAP_NONE,
|
||||
COLOR_MAP_DARK_CONTRAST,
|
||||
COLOR_MAP_CONTRAST,
|
||||
};
|
||||
|
||||
void UpdatePaletteGammaType(u8 index, u8 gammaType);
|
||||
|
||||
// field_weather_effect.c
|
||||
extern const u8 gWeatherFogHorizontalTiles[];
|
||||
|
||||
@@ -154,7 +163,7 @@ void FadeScreen(u8 mode, s8 delay);
|
||||
bool8 IsWeatherNotFadingIn(void);
|
||||
void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex);
|
||||
void ApplyWeatherColorMapToPal(u8 paletteIndex);
|
||||
void LoadCustomWeatherSpritePalette(const u16 *palette);
|
||||
void LoadCustomWeatherSpritePalette(const struct SpritePalette *palette);
|
||||
void ResetDroughtWeatherPaletteLoading(void);
|
||||
bool8 LoadDroughtWeatherPalettes(void);
|
||||
void DroughtStateInit(void);
|
||||
|
||||
+2
-2
@@ -48,8 +48,8 @@ void LoadSecondaryTilesetPalette(struct MapLayout const *mapLayout);
|
||||
void CopySecondaryTilesetToVramUsingHeap(struct MapLayout const *mapLayout);
|
||||
void CopyPrimaryTilesetToVram(const struct MapLayout *);
|
||||
void CopySecondaryTilesetToVram(const struct MapLayout *);
|
||||
struct MapHeader const *const GetMapHeaderFromConnection(struct MapConnection *connection);
|
||||
struct MapConnection *GetMapConnectionAtPos(s16 x, s16 y);
|
||||
const struct MapHeader *const GetMapHeaderFromConnection(const struct MapConnection *connection);
|
||||
const struct MapConnection *GetMapConnectionAtPos(s16 x, s16 y);
|
||||
void MapGridSetMetatileImpassabilityAt(int x, int y, bool32 impassable);
|
||||
|
||||
// field_region_map.c
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ bool8 SetUpFieldMove_Dig(void);
|
||||
bool8 FldEff_UseDig(void);
|
||||
|
||||
// rock smash
|
||||
bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId);
|
||||
bool8 CheckObjectGraphicsInFrontOfPlayer(u16 graphicsId);
|
||||
u8 CreateFieldMoveTask(void);
|
||||
bool8 SetUpFieldMove_RockSmash(void);
|
||||
bool8 FldEff_UseRockSmash(void);
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
#ifndef GUARD_FOLLOW_ME_H
|
||||
#define GUARD_FOLLOW_ME_H
|
||||
|
||||
#include "constants/follow_me.h"
|
||||
|
||||
#define DEFAULT_FOLLOWER_LOCAL_ID 0xFE
|
||||
|
||||
#define MOVEMENT_INVALID 0xFE
|
||||
|
||||
enum FollowerSpriteTypes
|
||||
{
|
||||
FOLLOWER_SPRITE_INDEX_NORMAL,
|
||||
FOLLOWER_SPRITE_INDEX_MACH_BIKE,
|
||||
FOLLOWER_SPRITE_INDEX_ACRO_BIKE,
|
||||
FOLLOWER_SPRITE_INDEX_SURF,
|
||||
FOLLOWER_SPRITE_INDEX_UNDERWATER,
|
||||
};
|
||||
|
||||
// Exported Functions
|
||||
void SetUpFollowerSprite(u8 localId, u16 flags);
|
||||
void DestroyFollower(void);
|
||||
void PlayerFaceFollowerSprite(void);
|
||||
void CheckPlayerHasFollower(void);
|
||||
bool8 FollowerComingThroughDoor(void);
|
||||
|
||||
u8 GetFollowerObjectId(void);
|
||||
u8 GetFollowerLocalId(void);
|
||||
const u8* GetFollowerScriptPointer(void);
|
||||
void HideFollower(void);
|
||||
void TryFreezeFollowerAnim(struct ObjectEvent* npc);
|
||||
void IsFollowerStoppingRockClimb(void);
|
||||
void FollowMe_SetIndicatorToComeOutDoor(void);
|
||||
void FollowMe_SetIndicatorToRecreateSurfBlob(void);
|
||||
void FollowMe_TryRemoveFollowerOnWhiteOut(void);
|
||||
void FollowMe(struct ObjectEvent* npc, u8 state, bool8 ignoreScriptActive);
|
||||
void FollowMe_Ledges(struct ObjectEvent* npc, struct Sprite* obj, u16* ledgeFramesTbl);
|
||||
bool8 FollowMe_IsCollisionExempt(struct ObjectEvent* obstacle, struct ObjectEvent* collider);
|
||||
void FollowMe_FollowerToWater(void);
|
||||
void FollowMe_BindToSurbBlobOnReloadScreen(void);
|
||||
void PrepareFollowerDismountSurf(void);
|
||||
void StairsMoveFollower(void);
|
||||
void FollowMe_HandleBike(void);
|
||||
void FollowMe_HandleSprite(void);
|
||||
void FollowMe_WarpSetEnd(void);
|
||||
void CreateFollowerAvatar(void);
|
||||
void EscalatorMoveFollower(u8 movementType);
|
||||
void EscalatorMoveFollowerFinish(void);
|
||||
bool8 FollowerCanBike(void);
|
||||
bool8 CheckFollowerFlag(u16 flag);
|
||||
void FollowerPositionFix(u8 offset);
|
||||
void SetFollowerSprite(u8 spriteIndex);
|
||||
bool8 PlayerHasFollower(void);
|
||||
|
||||
// moved from field_screen_effect.c
|
||||
void Task_DoDoorWarp(u8 taskId);
|
||||
bool8 IsPlayerOnFoot(void);
|
||||
|
||||
#endif //GUARD_FOLLOW_ME_H
|
||||
+15
-16
@@ -50,10 +50,10 @@ struct MapLayout
|
||||
{
|
||||
/*0x00*/ s32 width;
|
||||
/*0x04*/ s32 height;
|
||||
/*0x08*/ u16 *border;
|
||||
/*0x0C*/ u16 *map;
|
||||
/*0x10*/ struct Tileset *primaryTileset;
|
||||
/*0x14*/ struct Tileset *secondaryTileset;
|
||||
/*0x08*/ const u16 *border;
|
||||
/*0x0C*/ const u16 *map;
|
||||
/*0x10*/ const struct Tileset *primaryTileset;
|
||||
/*0x14*/ const struct Tileset *secondaryTileset;
|
||||
};
|
||||
|
||||
struct BackupMapLayout
|
||||
@@ -66,9 +66,8 @@ struct BackupMapLayout
|
||||
struct ObjectEventTemplate
|
||||
{
|
||||
/*0x00*/ u8 localId;
|
||||
/*0x01*/ u8 graphicsId;
|
||||
/*0x02*/ u8 kind; // Always OBJ_KIND_NORMAL in Emerald.
|
||||
/*0x03*/ //u8 padding1;
|
||||
/*0x02*/ u8 kind; // Leftover from FRLG
|
||||
u16 graphicsId;
|
||||
/*0x04*/ s16 x;
|
||||
/*0x06*/ s16 y;
|
||||
/*0x08*/ u8 elevation;
|
||||
@@ -98,7 +97,7 @@ struct CoordEvent
|
||||
u8 elevation;
|
||||
u16 trigger;
|
||||
u16 index;
|
||||
u8 *script;
|
||||
const u8 *script;
|
||||
};
|
||||
|
||||
struct BgEvent
|
||||
@@ -107,7 +106,7 @@ struct BgEvent
|
||||
u8 elevation;
|
||||
u8 kind; // The "kind" field determines how to access bgUnion union below.
|
||||
union {
|
||||
u8 *script;
|
||||
const u8 *script;
|
||||
struct {
|
||||
u16 item;
|
||||
u16 hiddenItemId;
|
||||
@@ -122,10 +121,10 @@ struct MapEvents
|
||||
u8 warpCount;
|
||||
u8 coordEventCount;
|
||||
u8 bgEventCount;
|
||||
struct ObjectEventTemplate *objectEvents;
|
||||
struct WarpEvent *warps;
|
||||
struct CoordEvent *coordEvents;
|
||||
struct BgEvent *bgEvents;
|
||||
const struct ObjectEventTemplate *objectEvents;
|
||||
const struct WarpEvent *warps;
|
||||
const struct CoordEvent *coordEvents;
|
||||
const struct BgEvent *bgEvents;
|
||||
};
|
||||
|
||||
struct MapConnection
|
||||
@@ -139,7 +138,7 @@ struct MapConnection
|
||||
struct MapConnections
|
||||
{
|
||||
s32 count;
|
||||
struct MapConnection *connections;
|
||||
const struct MapConnection *connections;
|
||||
};
|
||||
|
||||
struct MapHeader
|
||||
@@ -195,9 +194,9 @@ struct ObjectEvent
|
||||
u32 disableJumpLandingGroundEffect:1;
|
||||
u32 fixedPriority:1;
|
||||
u32 hideReflection:1;
|
||||
//u32 padding:4;
|
||||
int :0;
|
||||
/*0x04*/ u8 spriteId;
|
||||
/*0x05*/ u8 graphicsId;
|
||||
/*0x05*/ u16 graphicsId;
|
||||
/*0x06*/ u8 movementType;
|
||||
/*0x07*/ u8 trainerType;
|
||||
/*0x08*/ u8 localId;
|
||||
|
||||
+29
-3
@@ -137,7 +137,7 @@
|
||||
|
||||
#define NUM_DEX_FLAG_BYTES ROUND_BITS_TO_BYTES(POKEMON_SLOTS_NUMBER)
|
||||
#define NUM_FLAG_BYTES ROUND_BITS_TO_BYTES(FLAGS_COUNT)
|
||||
#define NUM_ADDITIONAL_PHRASE_BYTES ROUND_BITS_TO_BYTES(NUM_ADDITIONAL_PHRASES)
|
||||
#define NUM_TRENDY_SAYING_BYTES ROUND_BITS_TO_BYTES(NUM_TRENDY_SAYINGS)
|
||||
|
||||
// Calls m0/m1/.../m8 depending on how many arguments are passed.
|
||||
#define VARARG_8(m, ...) CAT(m, NARG_8(__VA_ARGS__))(__VA_ARGS__)
|
||||
@@ -488,6 +488,31 @@ struct RankingHall1P
|
||||
//u8 padding;
|
||||
};
|
||||
|
||||
// follow me
|
||||
struct FollowerMapData
|
||||
{
|
||||
/*0x0*/ u8 id;
|
||||
/*0x1*/ u8 number;
|
||||
/*0x2*/ u8 group;
|
||||
}; /* size = 0x4 */
|
||||
struct Follower
|
||||
{
|
||||
/*0x00*/ u8 inProgress:1;
|
||||
u8 warpEnd:1;
|
||||
u8 createSurfBlob:3;
|
||||
u8 comeOutDoorStairs:3;
|
||||
/*0x01*/ u8 objId;
|
||||
/*0x02*/ u8 currentSprite;
|
||||
/*0x03*/ u8 delayedState;
|
||||
/*0x04*/ struct FollowerMapData map;
|
||||
/*0x08*/ struct Coords16 log;
|
||||
/*0x0C*/ const u8* script;
|
||||
/*0x10*/ u16 flag;
|
||||
/*0x12*/ u16 graphicsId;
|
||||
/*0x14*/ u16 flags;
|
||||
/*0x15*/ u8 locked;
|
||||
}; /* size = 0x18 */
|
||||
|
||||
struct RankingHall2P
|
||||
{
|
||||
u8 id1[TRAINER_ID_LENGTH];
|
||||
@@ -533,6 +558,7 @@ struct SaveBlock2
|
||||
/*0x57C*/ struct RankingHall2P hallRecords2P[FRONTIER_LVL_MODE_COUNT][HALL_RECORDS_COUNT]; // From record mixing.
|
||||
/*0x624*/ u16 contestLinkResults[CONTEST_CATEGORIES_COUNT][CONTESTANT_COUNT];
|
||||
/*0x64C*/ struct BattleFrontier frontier;
|
||||
struct Follower follower;
|
||||
}; // sizeof=0xF2C
|
||||
|
||||
extern struct SaveBlock2 *gSaveBlock2Ptr;
|
||||
@@ -687,7 +713,7 @@ struct MauvilleManGiddy
|
||||
struct MauvilleManHipster
|
||||
{
|
||||
u8 id;
|
||||
bool8 alreadySpoken;
|
||||
bool8 taughtWord;
|
||||
u8 language;
|
||||
};
|
||||
|
||||
@@ -1045,7 +1071,7 @@ struct SaveBlock1
|
||||
/*0x2BC8*/ u16 easyChatBattleWon[EASY_CHAT_BATTLE_WORDS_COUNT];
|
||||
/*0x2BD4*/ u16 easyChatBattleLost[EASY_CHAT_BATTLE_WORDS_COUNT];
|
||||
/*0x2BE0*/ struct Mail mail[MAIL_COUNT];
|
||||
/*0x2E20*/ u8 additionalPhrases[NUM_ADDITIONAL_PHRASE_BYTES]; // bitfield for 33 additional phrases in easy chat system
|
||||
/*0x2E20*/ u8 unlockedTrendySayings[NUM_TRENDY_SAYING_BYTES]; // Bitfield for unlockable Easy Chat words in EC_GROUP_TRENDY_SAYING
|
||||
/*0x2E25*/ //u8 padding5[3];
|
||||
/*0x2E28*/ OldMan oldMan;
|
||||
/*0x2e64*/ struct DewfordTrend dewfordTrends[SAVED_TRENDS_COUNT];
|
||||
|
||||
@@ -154,5 +154,9 @@ bool32 Overworld_RecvKeysFromLinkIsRunning(void);
|
||||
bool32 Overworld_SendKeysToLinkIsRunning(void);
|
||||
bool32 IsSendingKeysOverCable(void);
|
||||
void ClearLinkPlayerObjectEvents(void);
|
||||
void UpdateFollowerPokemonGraphic(void);
|
||||
void FollowerPokeballSparkle(void);
|
||||
void FollowerIntoPokeball(void);
|
||||
bool8 IsBigSprite(u16);
|
||||
|
||||
#endif // GUARD_OVERWORLD_H
|
||||
@@ -62,4 +62,7 @@ void InitRamScript_NoObjectEvent(u8 *script, u16 scriptSize);
|
||||
// srccmd.h
|
||||
void SetMovingNpcId(u16 npcId);
|
||||
|
||||
// NEW
|
||||
u8* ReadWord(u8 index);
|
||||
|
||||
#endif // GUARD_SCRIPT_H
|
||||
Reference in new issue
Block a user