summaryrefslogtreecommitdiff
path: root/constants/sprite_constants.asm
blob: cf8d50a91be9a1a92d63cee4873af8aaa6a10372 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
; sprite ids
; SpriteHeaders indexes (see gfx/sprite_headers.asm)
	const_def
	const SPRITE_NONE ; 00
	const SPRITE_CHRIS ; 01
	const SPRITE_CHRIS_BIKE ; 02
	const SPRITE_GAMEBOY_KID ; 03
	const SPRITE_SILVER ; 04
	const SPRITE_OAK ; 05
	const SPRITE_RED ; 06
	const SPRITE_BLUE ; 07
	const SPRITE_BILL ; 08
	const SPRITE_ELDER ; 09
	const SPRITE_JANINE ; 0a
	const SPRITE_KURT ; 0b
	const SPRITE_MOM ; 0c
	const SPRITE_BLAINE ; 0d
	const SPRITE_REDS_MOM ; 0e
	const SPRITE_DAISY ; 0f
	const SPRITE_ELM ; 10
	const SPRITE_WILL ; 11
	const SPRITE_FALKNER ; 12
	const SPRITE_WHITNEY ; 13
	const SPRITE_BUGSY ; 14
	const SPRITE_MORTY ; 15
	const SPRITE_CHUCK ; 16
	const SPRITE_JASMINE ; 17
	const SPRITE_PRYCE ; 18
	const SPRITE_CLAIR ; 19
	const SPRITE_BROCK ; 1a
	const SPRITE_KAREN ; 1b
	const SPRITE_BRUNO ; 1c
	const SPRITE_MISTY ; 1d
	const SPRITE_LANCE ; 1e
	const SPRITE_SURGE ; 1f
	const SPRITE_ERIKA ; 20
	const SPRITE_KOGA ; 21
	const SPRITE_SABRINA ; 22
	const SPRITE_COOLTRAINER_M ; 23
	const SPRITE_COOLTRAINER_F ; 24
	const SPRITE_BUG_CATCHER ; 25
	const SPRITE_TWIN ; 26
	const SPRITE_YOUNGSTER ; 27
	const SPRITE_LASS ; 28
	const SPRITE_TEACHER ; 29
	const SPRITE_BUENA ; 2a
	const SPRITE_SUPER_NERD ; 2b
	const SPRITE_ROCKER ; 2c
	const SPRITE_POKEFAN_M ; 2d
	const SPRITE_POKEFAN_F ; 2e
	const SPRITE_GRAMPS ; 2f
	const SPRITE_GRANNY ; 30
	const SPRITE_SWIMMER_GUY ; 31
	const SPRITE_SWIMMER_GIRL ; 32
	const SPRITE_BIG_SNORLAX ; 33
	const SPRITE_SURFING_PIKACHU ; 34
	const SPRITE_ROCKET ; 35
	const SPRITE_ROCKET_GIRL ; 36
	const SPRITE_NURSE ; 37
	const SPRITE_LINK_RECEPTIONIST ; 38
	const SPRITE_CLERK ; 39
	const SPRITE_FISHER ; 3a
	const SPRITE_FISHING_GURU ; 3b
	const SPRITE_SCIENTIST ; 3c
	const SPRITE_KIMONO_GIRL ; 3d
	const SPRITE_SAGE ; 3e
	const SPRITE_UNUSED_GUY ; 3f
	const SPRITE_GENTLEMAN ; 40
	const SPRITE_BLACK_BELT ; 41
	const SPRITE_RECEPTIONIST ; 42
	const SPRITE_OFFICER ; 43
	const SPRITE_CAL ; 44
	const SPRITE_SLOWPOKE ; 45
	const SPRITE_CAPTAIN ; 46
	const SPRITE_BIG_LAPRAS ; 47
	const SPRITE_GYM_GUY ; 48
	const SPRITE_SAILOR ; 49
	const SPRITE_BIKER ; 4a
	const SPRITE_PHARMACIST ; 4b
	const SPRITE_MONSTER ; 4c
	const SPRITE_FAIRY ; 4d
	const SPRITE_BIRD ; 4e
	const SPRITE_DRAGON ; 4f
	const SPRITE_BIG_ONIX ; 50
	const SPRITE_N64 ; 51
	const SPRITE_SUDOWOODO ; 52
	const SPRITE_SURF ; 53
	const SPRITE_POKE_BALL ; 54
	const SPRITE_POKEDEX ; 55
	const SPRITE_PAPER ; 56
	const SPRITE_VIRTUAL_BOY ; 57
	const SPRITE_OLD_LINK_RECEPTIONIST ; 58
	const SPRITE_ROCK ; 59
	const SPRITE_BOULDER ; 5a
	const SPRITE_SNES ; 5b
	const SPRITE_FAMICOM ; 5c
	const SPRITE_FRUIT_TREE ; 5d
	const SPRITE_GOLD_TROPHY ; 5e
	const SPRITE_SILVER_TROPHY ; 5f
	const SPRITE_KRIS ; 60
	const SPRITE_KRIS_BIKE ; 61
	const SPRITE_KURT_OUTSIDE ; 62
	const SPRITE_SUICUNE ; 63
	const SPRITE_ENTEI ; 64
	const SPRITE_RAIKOU ; 65
	const SPRITE_STANDING_YOUNGSTER ; 66

; SpriteMons indexes (see data/sprite_mons.asm)
const_value SET $80
SPRITE_POKEMON EQU const_value
	const SPRITE_UNOWN ; 80
	const SPRITE_GEODUDE ; 81
	const SPRITE_GROWLITHE ; 82
	const SPRITE_WEEDLE ; 83
	const SPRITE_SHELLDER ; 84
	const SPRITE_ODDISH ; 85
	const SPRITE_GENGAR ; 86
	const SPRITE_ZUBAT ; 87
	const SPRITE_MAGIKARP ; 88
	const SPRITE_SQUIRTLE ; 89
	const SPRITE_TOGEPI ; 8a
	const SPRITE_BUTTERFREE ; 8b
	const SPRITE_DIGLETT ; 8c
	const SPRITE_POLIWAG ; 8d
	const SPRITE_PIKACHU ; 8e
	const SPRITE_CLEFAIRY ; 8f
	const SPRITE_CHARMANDER ; 90
	const SPRITE_JYNX ; 91
	const SPRITE_STARMIE ; 92
	const SPRITE_BULBASAUR ; 93
	const SPRITE_JIGGLYPUFF ; 94
	const SPRITE_GRIMER ; 95
	const SPRITE_EKANS ; 96
	const SPRITE_PARAS ; 97
	const SPRITE_TENTACOOL ; 98
	const SPRITE_TAUROS ; 99
	const SPRITE_MACHOP ; 9a
	const SPRITE_VOLTORB ; 9b
	const SPRITE_LAPRAS ; 9c
	const SPRITE_RHYDON ; 9d
	const SPRITE_MOLTRES ; 9e
	const SPRITE_SNORLAX ; 9f
	const SPRITE_GYARADOS ; a0
	const SPRITE_LUGIA ; a1
	const SPRITE_HO_OH ; a2

; special GetMonSprite values (see engine/overworld.asm)
const_value SET $e0
	const SPRITE_DAY_CARE_MON_1 ; e0
	const SPRITE_DAY_CARE_MON_2 ; e1

; VariableSprites indexes (see wram.asm)
const_value SET $f0
SPRITE_VARS EQU const_value
	const SPRITE_CONSOLE ; f0
	const SPRITE_DOLL_1 ; f1
	const SPRITE_DOLL_2 ; f2
	const SPRITE_BIG_DOLL ; f3
	const SPRITE_WEIRD_TREE ; f4
	const SPRITE_OLIVINE_RIVAL ; f5
	const SPRITE_AZALEA_ROCKET ; f6
	const SPRITE_FUCHSIA_GYM_1 ; f7
	const SPRITE_FUCHSIA_GYM_2 ; f8
	const SPRITE_FUCHSIA_GYM_3 ; f9
	const SPRITE_FUCHSIA_GYM_4 ; fa
	const SPRITE_COPYCAT ; fb
	const SPRITE_JANINE_IMPERSONATOR ; fc

; sprite_header struct members (see gfx/sprite_headers.asm)
	const_def
	const SPRITEHEADER_ADDR_LO
	const SPRITEHEADER_ADDR_HI
	const SPRITEHEADER_SIZE
	const SPRITEHEADER_BANK
	const SPRITEHEADER_TYPE
	const SPRITEHEADER_PALETTE
NUM_SPRITEHEADER_FIELDS EQU const_value

; sprite types
const_value SET 1
	const WALKING_SPRITE
	const STANDING_SPRITE
	const STILL_SPRITE

; sprite palettes
	const_def
	const PAL_OW_RED    ; 0
	const PAL_OW_BLUE   ; 1
	const PAL_OW_GREEN  ; 2
	const PAL_OW_BROWN  ; 3
	const PAL_OW_PINK   ; 4
	const PAL_OW_SILVER ; 5
	const PAL_OW_TREE   ; 6
	const PAL_OW_ROCK   ; 7

; person_events set bit 3 so as not to use the sprite's default palette
const_value set (1 << 3)
	const PAL_NPC_RED    ; 8
	const PAL_NPC_BLUE   ; 9
	const PAL_NPC_GREEN  ; a
	const PAL_NPC_BROWN  ; b
	const PAL_NPC_PINK   ; c
	const PAL_NPC_SILVER ; d
	const PAL_NPC_TREE   ; e
	const PAL_NPC_ROCK   ; f

; SpriteMovementData indexes (see data/map_objects.asm)
	const_def
	const SPRITEMOVEDATA_00                   ; 00
	const SPRITEMOVEDATA_ITEM_TREE            ; 01
	const SPRITEMOVEDATA_WANDER               ; 02
	const SPRITEMOVEDATA_SPINRANDOM_SLOW      ; 03
	const SPRITEMOVEDATA_WALK_UP_DOWN         ; 04
	const SPRITEMOVEDATA_WALK_LEFT_RIGHT      ; 05
	const SPRITEMOVEDATA_STANDING_DOWN        ; 06
	const SPRITEMOVEDATA_STANDING_UP          ; 07
	const SPRITEMOVEDATA_STANDING_LEFT        ; 08
	const SPRITEMOVEDATA_STANDING_RIGHT       ; 09
	const SPRITEMOVEDATA_SPINRANDOM_FAST      ; 0a
	const SPRITEMOVEDATA_PLAYER               ; 0b
	const SPRITEMOVEDATA_0C                   ; 0c
	const SPRITEMOVEDATA_0D                   ; 0d
	const SPRITEMOVEDATA_0E                   ; 0e
	const SPRITEMOVEDATA_0F                   ; 0f
	const SPRITEMOVEDATA_10                   ; 10
	const SPRITEMOVEDATA_11                   ; 11
	const SPRITEMOVEDATA_12                   ; 12
	const SPRITEMOVEDATA_FOLLOWING            ; 13
	const SPRITEMOVEDATA_SCRIPTED             ; 14
	const SPRITEMOVEDATA_SNORLAX              ; 15
	const SPRITEMOVEDATA_POKEMON              ; 16
	const SPRITEMOVEDATA_SUDOWOODO            ; 17
	const SPRITEMOVEDATA_SMASHABLE_ROCK       ; 18
	const SPRITEMOVEDATA_STRENGTH_BOULDER     ; 19
	const SPRITEMOVEDATA_FOLLOWNOTEXACT       ; 1a
	const SPRITEMOVEDATA_SHADOW               ; 1b
	const SPRITEMOVEDATA_EMOTE                ; 1c
	const SPRITEMOVEDATA_SCREENSHAKE          ; 1d
	const SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE ; 1e
	const SPRITEMOVEDATA_SPINCLOCKWISE        ; 1f
	const SPRITEMOVEDATA_20                   ; 20
	const SPRITEMOVEDATA_BIGDOLL              ; 21
	const SPRITEMOVEDATA_BOULDERDUST          ; 22
	const SPRITEMOVEDATA_GRASS                ; 23
	const SPRITEMOVEDATA_LAPRAS               ; 24
NUM_SPRITEMOVEDATA EQU const_value
SPRITEMOVEDATA_FIELDS EQU 6

; MapObjectMovementPattern.Pointers indexes (see engine/map_objects.asm)
	const_def
	const SPRITEMOVEFN_00
	const SPRITEMOVEFN_RANDOM_WALK_Y
	const SPRITEMOVEFN_RANDOM_WALK_X
	const SPRITEMOVEFN_RANDOM_WALK_XY
	const SPRITEMOVEFN_SLOW_RANDOM_SPIN
	const SPRITEMOVEFN_FAST_RANDOM_SPIN
	const SPRITEMOVEFN_STANDING
	const SPRITEMOVEFN_OBEY_DPAD
	const SPRITEMOVEFN_08
	const SPRITEMOVEFN_09
	const SPRITEMOVEFN_0A
	const SPRITEMOVEFN_0B
	const SPRITEMOVEFN_0C
	const SPRITEMOVEFN_0D
	const SPRITEMOVEFN_0E
	const SPRITEMOVEFN_FOLLOW
	const SPRITEMOVEFN_SCRIPTED
	const SPRITEMOVEFN_STRENGTH
	const SPRITEMOVEFN_FOLLOWNOTEXACT
	const SPRITEMOVEFN_SHADOW
	const SPRITEMOVEFN_EMOTE
	const SPRITEMOVEFN_BIG_SNORLAX
	const SPRITEMOVEFN_BOUNCE
	const SPRITEMOVEFN_SCREENSHAKE
	const SPRITEMOVEFN_SPIN_CLOCKWISE
	const SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE
	const SPRITEMOVEFN_BOULDERDUST
	const SPRITEMOVEFN_GRASS

; StepTypesJumptable indexes (see engine/map_objects.asm)
	const_def
	const STEP_TYPE_00
	const STEP_TYPE_SLEEP
	const STEP_TYPE_NPC_WALK
	const STEP_TYPE_03
	const STEP_TYPE_04
	const STEP_TYPE_05
	const STEP_TYPE_PLAYER_WALK
	const STEP_TYPE_07
	const STEP_TYPE_NPC_JUMP
	const STEP_TYPE_PLAYER_JUMP
	const STEP_TYPE_HALF_STEP
	const STEP_TYPE_BUMP
	const STEP_TYPE_TELEPORT_FROM
	const STEP_TYPE_TELEPORT_TO
	const STEP_TYPE_SKYFALL
	const STEP_TYPE_0F
	const STEP_TYPE_GOT_BITE
	const STEP_TYPE_ROCK_SMASH
	const STEP_TYPE_RETURN_DIG
	const STEP_TYPE_TRACKING_OBJECT
	const STEP_TYPE_14
	const STEP_TYPE_15
	const STEP_TYPE_16
	const STEP_TYPE_17
	const STEP_TYPE_18
	const STEP_TYPE_SKYFALL_TOP

; PersonActionPairPointers indexes (see engine/map_object_action.asm)
	const_def
	const PERSON_ACTION_00
	const PERSON_ACTION_STAND
	const PERSON_ACTION_STEP
	const PERSON_ACTION_BUMP
	const PERSON_ACTION_SPIN
	const PERSON_ACTION_SPIN_FLICKER
	const PERSON_ACTION_FISHING
	const PERSON_ACTION_SHADOW
	const PERSON_ACTION_EMOTE
	const PERSON_ACTION_BIG_SNORLAX
	const PERSON_ACTION_BOUNCE
	const PERSON_ACTION_WEIRD_TREE
	const PERSON_ACTION_BIG_LAPRAS
	const PERSON_ACTION_BIG_DOLL
	const PERSON_ACTION_BOULDER_DUST
	const PERSON_ACTION_GRASS_SHAKE
	const PERSON_ACTION_SKYFALL

; Facings indexes (see data/facings.asm)
	const_def
	const FACING_STEP_DOWN_0
	const FACING_STEP_DOWN_1
	const FACING_STEP_DOWN_2
	const FACING_STEP_DOWN_3
	const FACING_STEP_UP_0
	const FACING_STEP_UP_1
	const FACING_STEP_UP_2
	const FACING_STEP_UP_3
	const FACING_STEP_LEFT_0
	const FACING_STEP_LEFT_1
	const FACING_STEP_LEFT_2
	const FACING_STEP_LEFT_3
	const FACING_STEP_RIGHT_0
	const FACING_STEP_RIGHT_1
	const FACING_STEP_RIGHT_2
	const FACING_STEP_RIGHT_3
	const FACING_FISH_DOWN
	const FACING_FISH_UP
	const FACING_FISH_LEFT
	const FACING_FISH_RIGHT
	const FACING_EMOTE
	const FACING_SHADOW
	const FACING_BIG_DOLL_ASYM
	const FACING_BIG_DOLL_SYM
	const FACING_WEIRD_TREE_0
	const FACING_WEIRD_TREE_1
	const FACING_WEIRD_TREE_2
	const FACING_WEIRD_TREE_3
	const FACING_BOULDER_DUST_1
	const FACING_BOULDER_DUST_2
	const FACING_GRASS_1
	const FACING_GRASS_2

; sprite_anim_struct members (see macros/wram.asm)
	const_def
	const SPRITEANIMSTRUCT_INDEX           ; 0
	const SPRITEANIMSTRUCT_FRAMESET_ID     ; 1
	const SPRITEANIMSTRUCT_ANIM_SEQ_ID     ; 2
	const SPRITEANIMSTRUCT_TILE_ID         ; 3
	const SPRITEANIMSTRUCT_XCOORD          ; 4
	const SPRITEANIMSTRUCT_YCOORD          ; 5
	const SPRITEANIMSTRUCT_XOFFSET         ; 6
	const SPRITEANIMSTRUCT_YOFFSET         ; 7
	const SPRITEANIMSTRUCT_DURATION        ; 8
	const SPRITEANIMSTRUCT_DURATIONOFFSET  ; 9
	const SPRITEANIMSTRUCT_FRAME           ; a
	const SPRITEANIMSTRUCT_JUMPTABLE_INDEX ; b
	const SPRITEANIMSTRUCT_0C              ; c
	const SPRITEANIMSTRUCT_0D              ; d
	const SPRITEANIMSTRUCT_0E              ; e
	const SPRITEANIMSTRUCT_0F              ; f

; SpriteAnimFrameData indexes (see data/sprite_anim_frames.asm)
	const_def
	const SPRITE_ANIM_FRAMESET_00
	const SPRITE_ANIM_FRAMESET_PARTY_MON
	const SPRITE_ANIM_FRAMESET_02 ; unused?
	const SPRITE_ANIM_FRAMESET_03 ; unused?
	const SPRITE_ANIM_FRAMESET_04 ; unused?
	const SPRITE_ANIM_FRAMESET_05 ; unused?
	const SPRITE_ANIM_FRAMESET_06 ; unused?
	const SPRITE_ANIM_FRAMESET_07
	const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR
	const SPRITE_ANIM_FRAMESET_09 ; unused?
	const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO
	const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR
	const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE
	const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM
	const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY
	const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2
	const SPRITE_ANIM_FRAMESET_SLOTS_EGG
	const SPRITE_ANIM_FRAMESET_RED_WALK
	const SPRITE_ANIM_FRAMESET_STILL_CURSOR
	const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL
	const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0
	const SPRITE_ANIM_FRAMESET_TRADE_POOF
	const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE
	const SPRITE_ANIM_FRAMESET_TRADEMON_ICON
	const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE
	const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT
	const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB
	const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED
	const SPRITE_ANIM_FRAMESET_1C ; unused?
	const SPRITE_ANIM_FRAMESET_LEAF
	const SPRITE_ANIM_FRAMESET_CUT_TREE
	const SPRITE_ANIM_FRAMESET_EGG_CRACK
	const SPRITE_ANIM_FRAMESET_EGG_HATCH
	const SPRITE_ANIM_FRAMESET_21 ; unused?
	const SPRITE_ANIM_FRAMESET_22 ; unused?
	const SPRITE_ANIM_FRAMESET_23 ; unused?
	const SPRITE_ANIM_FRAMESET_24
	const SPRITE_ANIM_FRAMESET_HEADBUTT
	const SPRITE_ANIM_FRAMESET_26
	const SPRITE_ANIM_FRAMESET_27 ; unused?
	const SPRITE_ANIM_FRAMESET_28 ; unused?
	const SPRITE_ANIM_FRAMESET_29 ; unused?
	const SPRITE_ANIM_FRAMESET_2A ; unused?
	const SPRITE_ANIM_FRAMESET_2B ; unused?
	const SPRITE_ANIM_FRAMESET_2C ; unused?
	const SPRITE_ANIM_FRAMESET_BLUE_WALK
	const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE
	const SPRITE_ANIM_FRAMESET_2F
	const SPRITE_ANIM_FRAMESET_30
	const SPRITE_ANIM_FRAMESET_31
	const SPRITE_ANIM_FRAMESET_32
	const SPRITE_ANIM_FRAMESET_33
	const SPRITE_ANIM_FRAMESET_34
	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE
	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2
	const SPRITE_ANIM_FRAMESET_INTRO_PICHU
	const SPRITE_ANIM_FRAMESET_INTRO_WOOPER
	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1
	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2
	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3
	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4
	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2
	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY
	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F
	const SPRITE_ANIM_FRAMESET_CELEBI_LEFT
	const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT

; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm)
	const_def
	const SPRITE_ANIM_SEQ_NULL
	const SPRITE_ANIM_SEQ_PARTY_MON
	const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
	const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED
	const SPRITE_ANIM_SEQ_04
	const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR
	const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO
	const SPRITE_ANIM_SEQ_GS_INTRO_STAR
	const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE
	const SPRITE_ANIM_SEQ_SLOTS_GOLEM
	const SPRITE_ANIM_SEQ_SLOTS_CHANSEY
	const SPRITE_ANIM_SEQ_SLOTS_EGG
	const SPRITE_ANIM_SEQ_MAIL_CURSOR
	const SPRITE_ANIM_SEQ_0D
	const SPRITE_ANIM_SEQ_0E
	const SPRITE_ANIM_SEQ_0F
	const SPRITE_ANIM_SEQ_TRADE_POKE_BALL
	const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE
	const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE
	const SPRITE_ANIM_SEQ_REVEAL_NEW_MON
	const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB
	const SPRITE_ANIM_SEQ_CUT_LEAVES
	const SPRITE_ANIM_SEQ_FLY_FROM
	const SPRITE_ANIM_SEQ_FLY_LEAF
	const SPRITE_ANIM_SEQ_FLY_TO
	const SPRITE_ANIM_SEQ_19
	const SPRITE_ANIM_SEQ_1A
	const SPRITE_ANIM_SEQ_1B
	const SPRITE_ANIM_SEQ_1C
	const SPRITE_ANIM_SEQ_INTRO_SUICUNE
	const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER
	const SPRITE_ANIM_SEQ_CELEBI
	const SPRITE_ANIM_SEQ_INTRO_UNOWN
	const SPRITE_ANIM_SEQ_INTRO_UNOWN_F
	const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY

; SpriteAnimSeqData indexes (see data/sprite_anim_seqs.asm)
	const_def
	const SPRITE_ANIM_INDEX_PARTY_MON
	const SPRITE_ANIM_INDEX_01
	const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
	const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
	const SPRITE_ANIM_INDEX_GS_INTRO_STAR
	const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
	const SPRITE_ANIM_INDEX_SLOTS_GOLEM
	const SPRITE_ANIM_INDEX_SLOTS_CHANSEY
	const SPRITE_ANIM_INDEX_SLOTS_EGG
	const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
	const SPRITE_ANIM_INDEX_RED_WALK
	const SPRITE_ANIM_INDEX_0B
	const SPRITE_ANIM_INDEX_DUMMY_GAME
	const SPRITE_ANIM_INDEX_0D
	const SPRITE_ANIM_INDEX_TRADE_POKE_BALL
	const SPRITE_ANIM_INDEX_TRADE_POOF
	const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
	const SPRITE_ANIM_INDEX_TRADEMON_ICON
	const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
	const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
	const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
	const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
	const SPRITE_ANIM_INDEX_LEAF
	const SPRITE_ANIM_INDEX_CUT_TREE
	const SPRITE_ANIM_INDEX_FLY_LEAF
	const SPRITE_ANIM_INDEX_EGG_CRACK
	const SPRITE_ANIM_INDEX_1A
	const SPRITE_ANIM_INDEX_HEADBUTT
	const SPRITE_ANIM_INDEX_EGG_HATCH
	const SPRITE_ANIM_INDEX_1D
	const SPRITE_ANIM_INDEX_BLUE_WALK
	const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
	const SPRITE_ANIM_INDEX_20
	const SPRITE_ANIM_INDEX_21
	const SPRITE_ANIM_INDEX_22
	const SPRITE_ANIM_INDEX_23
	const SPRITE_ANIM_INDEX_24
	const SPRITE_ANIM_INDEX_25
	const SPRITE_ANIM_INDEX_INTRO_SUICUNE
	const SPRITE_ANIM_INDEX_INTRO_PICHU
	const SPRITE_ANIM_INDEX_INTRO_WOOPER
	const SPRITE_ANIM_INDEX_INTRO_UNOWN
	const SPRITE_ANIM_INDEX_INTRO_UNOWN_F
	const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
	const SPRITE_ANIM_INDEX_CELEBI

; SpriteAnimOAMData indexes (see data/sprite_anim_oam.asm)
	const_def
	const SPRITE_ANIM_FRAME_IDX_00
	const SPRITE_ANIM_FRAME_IDX_01
	const SPRITE_ANIM_FRAME_IDX_02
	const SPRITE_ANIM_FRAME_IDX_03
	const SPRITE_ANIM_FRAME_IDX_04
	const SPRITE_ANIM_FRAME_IDX_05
	const SPRITE_ANIM_FRAME_IDX_06
	const SPRITE_ANIM_FRAME_IDX_07
	const SPRITE_ANIM_FRAME_IDX_08
	const SPRITE_ANIM_FRAME_IDX_09
	const SPRITE_ANIM_FRAME_IDX_0A
	const SPRITE_ANIM_FRAME_IDX_0B
	const SPRITE_ANIM_FRAME_IDX_0C
	const SPRITE_ANIM_FRAME_IDX_0D
	const SPRITE_ANIM_FRAME_IDX_0E
	const SPRITE_ANIM_FRAME_IDX_0F
	const SPRITE_ANIM_FRAME_IDX_10
	const SPRITE_ANIM_FRAME_IDX_11
	const SPRITE_ANIM_FRAME_IDX_12
	const SPRITE_ANIM_FRAME_IDX_13
	const SPRITE_ANIM_FRAME_IDX_14
	const SPRITE_ANIM_FRAME_IDX_15
	const SPRITE_ANIM_FRAME_IDX_16
	const SPRITE_ANIM_FRAME_IDX_17
	const SPRITE_ANIM_FRAME_IDX_18
	const SPRITE_ANIM_FRAME_IDX_19
	const SPRITE_ANIM_FRAME_IDX_1A
	const SPRITE_ANIM_FRAME_IDX_1B
	const SPRITE_ANIM_FRAME_IDX_1C
	const SPRITE_ANIM_FRAME_IDX_1D
	const SPRITE_ANIM_FRAME_IDX_1E
	const SPRITE_ANIM_FRAME_IDX_1F
	const SPRITE_ANIM_FRAME_IDX_20
	const SPRITE_ANIM_FRAME_IDX_21
	const SPRITE_ANIM_FRAME_IDX_22
	const SPRITE_ANIM_FRAME_IDX_23
	const SPRITE_ANIM_FRAME_IDX_24
	const SPRITE_ANIM_FRAME_IDX_25
	const SPRITE_ANIM_FRAME_IDX_26
	const SPRITE_ANIM_FRAME_IDX_27
	const SPRITE_ANIM_FRAME_IDX_28
	const SPRITE_ANIM_FRAME_IDX_29
	const SPRITE_ANIM_FRAME_IDX_2A
	const SPRITE_ANIM_FRAME_IDX_2B
	const SPRITE_ANIM_FRAME_IDX_2C
	const SPRITE_ANIM_FRAME_IDX_2D
	const SPRITE_ANIM_FRAME_IDX_2E
	const SPRITE_ANIM_FRAME_IDX_2F
	const SPRITE_ANIM_FRAME_IDX_30
	const SPRITE_ANIM_FRAME_IDX_31
	const SPRITE_ANIM_FRAME_IDX_32
	const SPRITE_ANIM_FRAME_IDX_33
	const SPRITE_ANIM_FRAME_IDX_34
	const SPRITE_ANIM_FRAME_IDX_35
	const SPRITE_ANIM_FRAME_IDX_36
	const SPRITE_ANIM_FRAME_IDX_37
	const SPRITE_ANIM_FRAME_IDX_38
	const SPRITE_ANIM_FRAME_IDX_39
	const SPRITE_ANIM_FRAME_IDX_3A
	const SPRITE_ANIM_FRAME_IDX_3B
	const SPRITE_ANIM_FRAME_IDX_3C
	const SPRITE_ANIM_FRAME_IDX_3D
	const SPRITE_ANIM_FRAME_IDX_3E
	const SPRITE_ANIM_FRAME_IDX_3F
	const SPRITE_ANIM_FRAME_IDX_40
	const SPRITE_ANIM_FRAME_IDX_41
	const SPRITE_ANIM_FRAME_IDX_42
	const SPRITE_ANIM_FRAME_IDX_43
	const SPRITE_ANIM_FRAME_IDX_44
	const SPRITE_ANIM_FRAME_IDX_45
	const SPRITE_ANIM_FRAME_IDX_46
	const SPRITE_ANIM_FRAME_IDX_47
	const SPRITE_ANIM_FRAME_IDX_48
	const SPRITE_ANIM_FRAME_IDX_49
	const SPRITE_ANIM_FRAME_IDX_4A
	const SPRITE_ANIM_FRAME_IDX_4B
	const SPRITE_ANIM_FRAME_IDX_4C
	const SPRITE_ANIM_FRAME_IDX_4D
	const SPRITE_ANIM_FRAME_IDX_4E
	const SPRITE_ANIM_FRAME_IDX_4F
	const SPRITE_ANIM_FRAME_IDX_50
	const SPRITE_ANIM_FRAME_IDX_51
	const SPRITE_ANIM_FRAME_IDX_52
	const SPRITE_ANIM_FRAME_IDX_53
	const SPRITE_ANIM_FRAME_IDX_54
	const SPRITE_ANIM_FRAME_IDX_55
	const SPRITE_ANIM_FRAME_IDX_56
	const SPRITE_ANIM_FRAME_IDX_57
	const SPRITE_ANIM_FRAME_IDX_58
	const SPRITE_ANIM_FRAME_IDX_59
	const SPRITE_ANIM_FRAME_IDX_5A
	const SPRITE_ANIM_FRAME_IDX_5B
	const SPRITE_ANIM_FRAME_IDX_5C
	const SPRITE_ANIM_FRAME_IDX_5D
	const SPRITE_ANIM_FRAME_IDX_5E
	const SPRITE_ANIM_FRAME_IDX_5F
	const SPRITE_ANIM_FRAME_IDX_60
	const SPRITE_ANIM_FRAME_IDX_61
	const SPRITE_ANIM_FRAME_IDX_62
	const SPRITE_ANIM_FRAME_IDX_63
	const SPRITE_ANIM_FRAME_IDX_64
	const SPRITE_ANIM_FRAME_IDX_65
	const SPRITE_ANIM_FRAME_IDX_66
	const SPRITE_ANIM_FRAME_IDX_67
	const SPRITE_ANIM_FRAME_IDX_68
	const SPRITE_ANIM_FRAME_IDX_69
	const SPRITE_ANIM_FRAME_IDX_6A
	const SPRITE_ANIM_FRAME_IDX_6B
	const SPRITE_ANIM_FRAME_IDX_6C
	const SPRITE_ANIM_FRAME_IDX_6D
	const SPRITE_ANIM_FRAME_IDX_6E
	const SPRITE_ANIM_FRAME_IDX_6F
	const SPRITE_ANIM_FRAME_IDX_70
	const SPRITE_ANIM_FRAME_IDX_71
	const SPRITE_ANIM_FRAME_IDX_72
	const SPRITE_ANIM_FRAME_IDX_73
	const SPRITE_ANIM_FRAME_IDX_74
	const SPRITE_ANIM_FRAME_IDX_75
	const SPRITE_ANIM_FRAME_IDX_76
	const SPRITE_ANIM_FRAME_IDX_77
	const SPRITE_ANIM_FRAME_IDX_78
	const SPRITE_ANIM_FRAME_IDX_79
	const SPRITE_ANIM_FRAME_IDX_7A
	const SPRITE_ANIM_FRAME_IDX_7B
	const SPRITE_ANIM_FRAME_IDX_7C
	const SPRITE_ANIM_FRAME_IDX_7D
	const SPRITE_ANIM_FRAME_IDX_7E
	const SPRITE_ANIM_FRAME_IDX_7F
	const SPRITE_ANIM_FRAME_IDX_80
	const SPRITE_ANIM_FRAME_IDX_81
	const SPRITE_ANIM_FRAME_IDX_82
	const SPRITE_ANIM_FRAME_IDX_83
	const SPRITE_ANIM_FRAME_IDX_84
	const SPRITE_ANIM_FRAME_IDX_85
	const SPRITE_ANIM_FRAME_IDX_86
	const SPRITE_ANIM_FRAME_IDX_87
	const SPRITE_ANIM_FRAME_IDX_88
	const SPRITE_ANIM_FRAME_IDX_89
	const SPRITE_ANIM_FRAME_IDX_8A
	const SPRITE_ANIM_FRAME_IDX_8B