mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-09-26 13:32:51 -04:00
609 lines
22 KiB
C
609 lines
22 KiB
C
#ifndef GUARD_CONSTANTS_SPRITE_GROUPS_H
|
|
#define GUARD_CONSTANTS_SPRITE_GROUPS_H
|
|
|
|
// Title screen
|
|
// before pressing start
|
|
#define SG_TITLE_SCREEN_FLIPPER_AND_START_BASE 0 // Of 4
|
|
#define SG_TITLE_SCREEN_FLIPPER_AND_START_ANIM_MAX 3
|
|
#define SG_DELETE_SAVE_CONFIRMATION_PANE 4
|
|
|
|
// after pressing start
|
|
#define SG_TITLE_SCREEN_LEFT_FLIPPER_BASE 0 // Of 3
|
|
#define SG_TITLE_SCREEN_RIGHT_FLIPPER_BASE 3 // Of 3
|
|
#define SG_MENU_PANEL 6
|
|
|
|
// Field Select screen
|
|
#define SG_FIELD_SELECT_RUBY_BOARD_NAME_HIGHLIGHT 0
|
|
#define SG_FIELD_SELECT_SAPPHIRE_BOARD_NAME_HIGHLIGHT 1
|
|
#define SG_FIELD_SELECT_RUBY_FULL_HIGHLIGHT 2
|
|
#define SG_FIELD_SELECT_SAPPHIRE_FULL_SHADOW 3
|
|
#define SG_FIELD_SELECT_RUBY_SHRINKING_HIGHLIGHT_BASE 4 // 4-6
|
|
#define SG_FIELD_SELECT_RUBY_FULL_SHADOW 7
|
|
#define SG_FIELD_SELECT_SAPPHIRE_GROWING_HIGHLIGHT_BASE 8 // 8-10
|
|
#define SG_FIELD_SELECT_SAPPHIRE_FULL_HIGHLIGHT 11
|
|
#define SG_FIELD_SELECT_BALL_SPEED_SELECT_BASE 12 // Of 4
|
|
#define SG_FIELD_SELECT_BALL_SPEED_NORMAL_0 12
|
|
#define SG_FIELD_SELECT_BALL_SPEED_NORMAL_1 13
|
|
#define SG_FIELD_SELECT_BALL_SPEED_SLOW_0 14
|
|
#define SG_FIELD_SELECT_BALL_SPEED_SLOW_1 15
|
|
|
|
// Bonus field select screen
|
|
#define SG_BONUS_FIELD_SELECT_BOARD_DIMMER_BASE 0 // Of 6
|
|
#define SG_BONUS_FIELD_SELECT_DUSCLOPS_DIMMER 0
|
|
#define SG_BONUS_FIELD_SELECT_KECLEON_DIMMER 1
|
|
#define SG_BONUS_FIELD_SELECT_SPHEAL_DIMMER 2
|
|
#define SG_BONUS_FIELD_SELECT_GROUDON_DIMMER 3
|
|
#define SG_BONUS_FIELD_SELECT_KYOGRE_DIMMER 4
|
|
#define SG_BONUS_FIELD_SELECT_RAYQUAZA_DIMMER 5
|
|
#define SG_BONUS_FIELD_SELECT_BOARD_TITLE_BASE 6 // Of 6
|
|
#define SG_BONUS_FIELD_SELECT_DUSCLOPS_TITLE 6
|
|
#define SG_BONUS_FIELD_SELECT_KECLEON_TITLE 7
|
|
#define SG_BONUS_FIELD_SELECT_SPHEAL_TITLE 8
|
|
#define SG_BONUS_FIELD_SELECT_GROUDON_TITLE 9
|
|
#define SG_BONUS_FIELD_SELECT_KYOGRE_TITLE 10
|
|
#define SG_BONUS_FIELD_SELECT_RAYQUAZA_TITLE 11
|
|
#define SG_FIELD_SELECT_BALL_SPEED_SELECT_BASE 12 // Of 4
|
|
#define SG_FIELD_SELECT_BALL_SPEED_NORMAL_0 12
|
|
#define SG_FIELD_SELECT_BALL_SPEED_NORMAL_1 13
|
|
#define SG_FIELD_SELECT_BALL_SPEED_SLOW_0 14
|
|
#define SG_FIELD_SELECT_BALL_SPEED_SLOW_1 15
|
|
|
|
|
|
// Shared by all boards
|
|
#define SG_PAUSE_PANEL 0
|
|
#define SG_PAUSE_TOP_BORDER 1
|
|
#define SG_PAUSE_BOTTOM_BORDER 2
|
|
|
|
|
|
// Shared by main boards
|
|
// 0-2 shared
|
|
#define SG_BALL_SAVE_LATI_ARM 3 // Drawn above ball
|
|
#define SG_BALL_SAVE_LATI 4 // Drawn below ball
|
|
#define SG_BALL_SAVE_BANNER 5
|
|
#define SG_END_OF_BALL_BONUS_TEXT_BASE 6 // Of 3. Lines 0, 1, 2
|
|
#define SG_END_OF_BALL_BONUS_TEXT_LINE_0 6
|
|
#define SG_END_OF_BALL_BONUS_TEXT_LINE_1 7
|
|
#define SG_END_OF_BALL_BONUS_TEXT_LINE_2 8
|
|
#define SG_END_OF_BALL_BONUS_BANNER 9
|
|
#define SG_MAIN_BOARD_FLIPPER_BASE 10 // Of 2. Left, Right
|
|
#define SG_MAIN_BOARD_LEFT_FLIPPER 10
|
|
#define SG_MAIN_BOARD_RIGHT_FLIPPER 11
|
|
|
|
// Ruby board
|
|
// 0-11 shared
|
|
#define SG_RUBY_AERODACTLY_EGG_DELIVERY 12
|
|
#define SG_RUBY_CHIKORITA_PROJECTILE 13
|
|
#define SG_RUBY_CHIKORITA_PROJECTILE_COLLISION_FX 14
|
|
#define SG_RUBY_POKEMON_NAME_TEXT 15
|
|
#define SG_RUBY_WAS_CAUGHT_TEXT 16
|
|
#define SG_RUBY_SHOP_ARROWS 17 // Left/Right, and evo Up/down arrow
|
|
#define SG_RUBY_SHOP_COINS 18
|
|
#define SG_RUBY_SHOP_CONFIRMATION_PANEL 19
|
|
#define SG_RUBY_SHOP_PORTRAIT_OVERLAY 20
|
|
#define SG_RUBY_TARVEL_BANNER_SIGNPOST 21
|
|
#define SG_RUBY_MODE_START_BANNER 22
|
|
#define SG_RUBY_TILE_BREAK_FX 23
|
|
#define SG_RUBY_CENTER_HOLE_GRAVITY_FX 24
|
|
#define SG_RUBY_25 25 // FG 14; apparently unused
|
|
#define SG_RUBY_EVOLUTION_BANNER_LIGHTNING 26
|
|
#define SG_RUBY_TRAVEL_PAINTER 27
|
|
#define SG_RUBY_CHARGE_INDICATOR_DEVICE 28
|
|
#define SG_RUBY_29 29 // FG 18; Catch tile, evading identification
|
|
#define SG_RUBY_PORTRAIT_BORDERS 30
|
|
#define SG_RUBY_PORTRAIT_TRIM_0 31
|
|
#define SG_RUBY_PORTRAIT_TRIM_1 32
|
|
#define SG_RUBY_PORTRAIT_0 33
|
|
#define SG_RUBY_PORTRAIT_1 34
|
|
#define SG_RUBY_EVOLUTION_BANNER_TEXT_LARGE_BOTTOM 35
|
|
#define SG_RUBY_EVOLUTION_BANNER_TEXT_LARGE_TOP 36
|
|
#define SG_RUBY_EVOLUTION_BANNER_TEXT_MEDIUM_LOWER 37
|
|
#define SG_RUBY_EVOLUTION_BANNER_TEXT_MEDIUM_UPPER 38
|
|
#define SG_RUBY_EVOLUTION_BANNER_TEXT_SMALL_MIDDLE 39
|
|
#define SG_RUBY_BALL_OVERRIDE 40
|
|
#define SG_RUBY_BALL_TRAIL_0 41
|
|
#define SG_RUBY_BALL_TRAIL_1 42
|
|
#define SG_RUBY_CATCH_MON_ENTITY 43
|
|
#define SG_RUBY_JIRACHI_STAR_TRAIL_FX_0 44
|
|
#define SG_RUBY_JIRACHI_STAR_TRAIL_FX_1 45
|
|
#define SG_RUBY_JIRACHI_STAR_TRAIL_FX_2 46
|
|
#define SG_RUBY_JIRACHI_STAR_TRAIL_FX_3 47
|
|
#define SG_RUBY_HATCH_EGG 48
|
|
#define SG_RUBY_HATCH_MON_ENTITY 49
|
|
#define SG_RUBY_CATCH_CUTSCENE_BALL_ABSORB_MON_FX 50
|
|
#define SG_RUBY_CYNDAQUIL 51
|
|
#define SG_RUBY_HATCH_CAVE 52
|
|
#define SG_RUBY_CHIKORITA 53
|
|
#define SG_RUBY_PIKACHU_KICKBACK_ENTITY 54
|
|
#define SG_RUBY_PICHU_KICKBACK_ENTITY 55
|
|
#define SG_RUBY_SPOINK_LAUNCHER 56
|
|
#define SG_RUBY_GULPIN_STACK 57
|
|
#define SG_RUBY_MAKUHITA 58
|
|
#define SG_RUBY_LINOONE_LEFT 59
|
|
#define SG_RUBY_LINOONE_RIGHT 60
|
|
#define SG_RUBY_SHARPEDO 61
|
|
#define SG_RUBY_BUMPERS 62 // Lotad/Chinchou
|
|
#define SG_RUBY_WHISCASH 63
|
|
#define SG_RUBY_PIKA_CHARGING_SPINNER 64
|
|
#define SG_RUBY_MART_DOOR 65
|
|
#define SG_RUBY_RAMP_PRIZE 66
|
|
#define SG_RUBY_EVO_ITEM 67
|
|
#define SG_RUBY_MAKUHITA_PUNCH_CONTACT_FX 68
|
|
#define SG_RUBY_BALL_UPGRADE_FX 69
|
|
#define SG_RUBY_BALL 70
|
|
#define SG_RUBY_NUZLEAF 71
|
|
#define SG_RUBY_INITIAL_LOCATION_SELECTED_FX 72
|
|
#define SG_RUBY_CATCH_BURST_LIGHTNING_STRIKE_FX 73
|
|
#define SG_RUBY_CATCH_BURST_TILE_FLASH_FX 74
|
|
#define SG_RUBY_PANEL_ELECTRIFY_FX 75
|
|
#define SG_RUBY_PIKA_KICKBACK_LAUNCH_FX 76
|
|
#define SG_RUBY_COINS_COLLECTED 77
|
|
#define SG_RUBY_SHOP_SIGN_CHANGE 78 // Anim when activating/losing Evo mode. (Poke Mart/Center sign)
|
|
#define SG_RUBY_EVO_ITEM_SPAWN_FX 79
|
|
#define SG_RUBY_GAME_OVER_TEXT 80
|
|
#define SG_RUBY_BOARD_RIGHT_EDGE 81 // Board color rectangles along the right of the launch ramp
|
|
#define SG_RUBY_TOTODILE_EGG_DELIVERY 82
|
|
#define SG_RUBY_TREECKO_1UP_DELIVERY 83
|
|
|
|
// Sapphire board
|
|
// 0-11 shared
|
|
#define SG_SAPPHIRE_POKEMON_NAME_TEXT 12
|
|
#define SG_SAPPHIRE_WAS_CAUGHT_TEXT 13
|
|
#define SG_SAPPHIRE_SHOP_ARROWS 14 // Left/Right, and evo Up/down arrow
|
|
#define SG_SAPPHIRE_SHOP_COINS 15
|
|
#define SG_SAPPHIRE_SHOP_CONFIRMATION_PANEL 16
|
|
#define SG_SAPPHIRE_SHOP_PORTRAIT_OVERLAY 17
|
|
#define SG_SAPPHIRE_TARVEL_BANNER_SIGNPOST 18
|
|
#define SG_SAPPHIRE_MODE_START_BANNER 19
|
|
#define SG_SAPPHIRE_TILE_BREAK_FX 20
|
|
#define SG_SAPPHIRE_CENTER_HOLE_GRAVITY_FX 21
|
|
#define SG_SAPPHIRE_22 22 // FG 14; apparently unused
|
|
#define SG_SAPPHIRE_EVOLUTION_BANNER_LIGHTNING 23
|
|
#define SG_SAPPHIRE_TRAVEL_PAINTER 24
|
|
#define SG_SAPPHIRE_CHARGE_INDICATOR_DEVICE 25
|
|
#define SG_SAPPHIRE_ZIGZAGOON 26
|
|
#define SG_SAPPHIRE_ZIGZAGOON_TRAIL_FX 27
|
|
#define SG_SAPPHIRE_28 28 // FG 18; Catch tile, evading identification
|
|
#define SG_SAPPHIRE_PORTRAIT_BORDERS 29
|
|
#define SG_SAPPHIRE_PORTRAIT_TRIM_0 30
|
|
#define SG_SAPPHIRE_PORTRAIT_TRIM_1 31
|
|
#define SG_SAPPHIRE_PORTRAIT_0 32
|
|
#define SG_SAPPHIRE_PORTRAIT_1 33
|
|
#define SG_SAPPHIRE_EVOLUTION_BANNER_TEXT_LARGE_BOTTOM 34
|
|
#define SG_SAPPHIRE_EVOLUTION_BANNER_TEXT_LARGE_TOP 35
|
|
#define SG_SAPPHIRE_EVOLUTION_BANNER_TEXT_MEDIUM_LOWER 36
|
|
#define SG_SAPPHIRE_EVOLUTION_BANNER_TEXT_MEDIUM_UPPER 37
|
|
#define SG_SAPPHIRE_EVOLUTION_BANNER_TEXT_SMALL_MIDDLE 38
|
|
#define SG_SAPPHIRE_BALL_OVERRIDE 39
|
|
#define SG_SAPPHIRE_BALL_TRAIL_0 40
|
|
#define SG_SAPPHIRE_BALL_TRAIL_1 41
|
|
#define SG_SAPPHIRE_CATCH_MON_ENTITY 42
|
|
#define SG_SAPPHIRE_JIRACHI_STAR_TRAIL_FX_0 43
|
|
#define SG_SAPPHIRE_JIRACHI_STAR_TRAIL_FX_1 44
|
|
#define SG_SAPPHIRE_JIRACHI_STAR_TRAIL_FX_2 45
|
|
#define SG_SAPPHIRE_JIRACHI_STAR_TRAIL_FX_3 46
|
|
#define SG_SAPPHIRE_HATCH_MACHINE_LIGHT_SPARK_FX_BASE 47 // Of 4
|
|
#define SG_SAPPHIRE_HATCH_MACHINE_LIGHT_SPARK_FX_0 47
|
|
#define SG_SAPPHIRE_HATCH_MACHINE_LIGHT_SPARK_FX_1 48
|
|
#define SG_SAPPHIRE_HATCH_MACHINE_LIGHT_SPARK_FX_2 49
|
|
#define SG_SAPPHIRE_HATCH_MACHINE_LIGHT_SPARK_FX_3 50
|
|
#define SG_SAPPHIRE_HATCH_MACHINE_LOWER_SEGMENT 51
|
|
#define SG_SAPPHIRE_HATCH_EGG 52
|
|
#define SG_SAPPHIRE_HATCH_MON_ENTITY 53
|
|
#define SG_SAPPHIRE_CATCH_CUTSCENE_BALL_ABSORB_MON_FX 54
|
|
#define SG_SAPPHIRE_PIKACHU_KICKBACK_ENTITY 55
|
|
#define SG_SAPPHIRE_PICHU_KICKBACK_ENTITY 56
|
|
#define SG_SAPPHIRE_SPOINK_LAUNCHER 57
|
|
#define SG_SAPPHIRE_MINUN_ELECTRICITY_FX 58
|
|
#define SG_SAPPHIRE_PLUSLE_ELECTRICITY_FX 59
|
|
#define SG_SAPPHIRE_PELIPPER 60
|
|
#define SG_SAPPHIRE_MINUN 61
|
|
#define SG_SAPPHIRE_PLUSLE 62
|
|
#define SG_SAPPHIRE_SHROOMISH_BUMPERS 63
|
|
#define SG_SAPPHIRE_SEEDOT_BASKET_BACK 64
|
|
#define SG_SAPPHIRE_SEEDOT_ENTITY_BASE 65
|
|
#define SG_SAPPHIRE_SEEDOT_ENTITY_0 65
|
|
#define SG_SAPPHIRE_SEEDOT_ENTITY_1 66
|
|
#define SG_SAPPHIRE_SEEDOT_ENTITY_2 67
|
|
#define SG_SAPPHIRE_SEEDOT_BASKET_FRONT 68
|
|
#define SG_SAPPHIRE_MART_SIGN 69
|
|
#define SG_SAPPHIRE_ZIGZAGOON_SPEECH_BUBBLE 70
|
|
#define SG_SAPPHIRE_EVO_ITEM 71
|
|
#define SG_SAPPHIRE_PIKA_CHARGING_SPINNER 72
|
|
#define SG_SAPPHIRE_BALL_UPGRADE_FX 73
|
|
#define SG_SAPPHIRE_BALL 74
|
|
#define SG_SAPPHIRE_WAILMER 75
|
|
#define SG_SAPPHIRE_MART_ELECTRICAL_GATE_FX 76
|
|
#define SG_SAPPHIRE_INITIAL_LOCATION_SELECTED_FX 77
|
|
#define SG_SAPPHIRE_CATCH_BURST_LIGHTNING_STRIKE_FX 78
|
|
#define SG_SAPPHIRE_CATCH_BURST_TILE_FLASH_FX 79
|
|
#define SG_SAPPHIRE_PANEL_ELECTRIFY_FX 80
|
|
#define SG_SAPPHIRE_PIKA_KICKBACK_LAUNCH_FX 81
|
|
#define SG_SAPPHIRE_COINS_COLLECTED 82
|
|
#define SG_SAPPHIRE_EVO_ITEM_SPAWN_FX 83
|
|
#define SG_SAPPHIRE_GAME_OVER_TEXT 84
|
|
#define SG_SAPPHIRE_BOARD_RIGHT_EDGE 85 // Board color rectangles along the right of the launch ramp
|
|
#define SG_SAPPHIRE_TREECKO_1UP_DELIVERY 86
|
|
|
|
|
|
// Shared by bonus / boss boards
|
|
#define SG_BONUS_BOARD_FLIPPER_BASE 3 // Of 2. Left, Right
|
|
#define SG_BONUS_BOARD_LEFT_FLIPPER 3
|
|
#define SG_BONUS_BOARD_RIGHT_FLIPPER 4
|
|
#define SG_BONUS_COMPLETE_BANNER_SCORE 5
|
|
#define SG_BONUS_COMPLETE_BANNER 6
|
|
#define SG_LEGENDARY_POKEMON_CATCH_NAME_TEXT 7
|
|
#define SG_LEGENDARY_POKEMON_WAS_CAUGHT_TEXT 8
|
|
#define SG_LEGENDARY_CATCH_PORTRAIT_BORDERS 9
|
|
#define SG_LEGENDARY_CATCH_PORTRAIT 10
|
|
|
|
// Dusclops board
|
|
//0-6 shared
|
|
#define SG_DUSKULL_ENTITY_BASE 7 // Of 3
|
|
#define SG_DUSKULL_ENTITY_0 7
|
|
#define SG_DUSKULL_ENTITY_1 8
|
|
#define SG_DUSKULL_ENTITY_2 9
|
|
#define SG_DUSCLOPS_BALL_RESPAWN_FX 10,
|
|
#define SG_DUSCLOPS_BALL 11,
|
|
#define SG_DUSCLOPS_PHASING_FX 12
|
|
#define SG_DUSCLOPS_CAPTURE_VORTEX 13
|
|
#define SG_DUSCLOPS_ENTITY 14
|
|
|
|
// Groudon board
|
|
//0-10 shared
|
|
#define SG_GROUDON_CRYSTAL_BASE 11 // Of 4. Top right; bottom right; top left; bottom left
|
|
#define SG_GROUDON_CRYSTAL_TOP_RIGHT 11
|
|
#define SG_GROUDON_CRYSTAL_BOTTOM_RIGHT 12
|
|
#define SG_GROUDON_CRYSTAL_TOP_LEFT 13
|
|
#define SG_GROUDON_CRYSTAL_BOTTOM_LEFT 14
|
|
#define SG_GROUDON_BOULDER_BASE 15 // Of 3
|
|
#define SG_GROUDON_FILE_PILLAR_BASE 18 // Of 4
|
|
#define SG_GROUDON_FIREBALL 22
|
|
#define SG_GROUDON_FIREBALL_LAUNCH_FX 23
|
|
#define SG_GROUDON_FIREBALL_CAUGHT_BALL 24
|
|
#define SG_GROUDON_BALL_RESPAWN_FX 25,
|
|
#define SG_GROUDON_BALL 26,
|
|
#define SG_GROUDON_CATCH_BALL_TRAIL_0 27,
|
|
#define SG_GROUDON_CATCH_BALL_TRAIL_1 28,
|
|
#define SG_GROUDON_ENTITY 29
|
|
#define SG_GROUDON_SHOCKWAVE 30
|
|
|
|
// Kecleon board
|
|
//0-6 shared
|
|
#define SG_KECLEON_TREE_LEAVES 7
|
|
#define SG_KECLEON_BALL_RESPAWN 8
|
|
#define SG_KECLEON_DUST_FX 9
|
|
#define SG_KECLEON_DRAW_ORDER_SPRITES_BASE 10 // Includes bushes, ball, kecleon entity -- 14 total reserved
|
|
#define SG_KECLEON_BALL 22
|
|
#define SG_KECLEON_SCOPE_ITEM 24
|
|
#define SG_KECLEON_FLOWER_BY_TREE 25
|
|
#define SG_KECLEON_FLOWER_PAIR_LEFT 26
|
|
#define SG_KECLEON_FLOWER_PAIR_BOTTOM_RIGHT 27
|
|
#define SG_KECLEON_FLOWER_TRIPLE_RIGHT 28
|
|
#define SG_KECLEON_BALL_RIPPLE_FX 29
|
|
#define SG_KECLEON_STEP_RIPPLE_FX 30
|
|
#define SG_KECLEON_REFLECTION_HEAD 31
|
|
#define SG_KECLEON_REFLECTION_BALL 32
|
|
|
|
// Kyogre board
|
|
//0-10 shared
|
|
#define SG_KYOGRE_CRYSTAL_BASE 11 // Of 4. Top right; top left, bottom right, bottom left.
|
|
#define SG_KYOGRE_CRYSTAL_TOP_RIGHT 11
|
|
#define SG_KYOGRE_CRYSTAL_TOP_LEFT 12
|
|
#define SG_KYOGRE_CRYSTAL_BOTTOM_RIGHT 13
|
|
#define SG_KYOGRE_CRYSTAL_BOTTOM_LEFT 14
|
|
#define SG_KYOGRE_INTRO_CRYSTAL_GROUND 15
|
|
#define SG_KYOGRE_FREEZE_TRAP 16
|
|
#define SG_KYOGRE_BALL_RESPAWN_FX 17
|
|
#define SG_KYOGRE_BALL 18
|
|
#define SG_KYOGRE_CATCH_BALL_TRAIL_0 19,
|
|
#define SG_KYOGRE_CATCH_BALL_TRAIL_1 20,
|
|
#define SG_KYOGRE_ENTITY 21
|
|
#define SG_KYOGRE_WHIRLPOOL_0 22
|
|
#define SG_KYOGRE_WHIRLPOOL_1 23
|
|
#define SG_KYOGRE_SHOCKWAVE 24
|
|
#define SG_KYOGRE_SURFACING_FX 26
|
|
|
|
// Rayquaza board
|
|
//0-10 shared
|
|
#define SG_RAYQUAZA_INTRO_CLOUD_0 11
|
|
#define SG_RAYQUAZA_INTRO_CLOUD_1 12
|
|
#define SG_RAYQUAZA_INTRO_CLOUD_2 13
|
|
#define SG_RAYQUAZA_FLYING_SPARKLE 14
|
|
#define SG_RAYQUAZA_TORNADO_BASE 15 // Of 2
|
|
#define SG_RAYQUAZA_TORNADO_0 15
|
|
#define SG_RAYQUAZA_TORNADO_1 16
|
|
#define SG_RAYQUAZA_LIGHTNING_CHARGE_RING 17
|
|
#define SG_RAYQUAZA_LIGHTNING_WARNING_STRIKE 18
|
|
#define SG_RAYQUAZA_LIGHTNING_STRIKE 19
|
|
#define SG_RAYQUAZA_WHIRLWIND_BALL_FLY_UP 20
|
|
#define SG_RAYQUAZA_ENTITY_ROAR_HEAD_EXTENSION 21
|
|
#define SG_RAYQUAZA_ENTITY_FLYBY_RIGHT 22 // Left to right
|
|
#define SG_RAYQUAZA_ENTITY_FLYBY_LEFT 23 // Right to left
|
|
#define SG_RAYQUAZA_FLYBY_RIGHT_WIND_SPEEDLINES_0A 24
|
|
#define SG_RAYQUAZA_FLYBY_RIGHT_WIND_SPEEDLINES_0B 25
|
|
#define SG_RAYQUAZA_FLYBY_RIGHT_WIND_SPEEDLINES_1A 26
|
|
#define SG_RAYQUAZA_FLYBY_RIGHT_WIND_SPEEDLINES_1B 27
|
|
#define SG_RAYQUAZA_FLYBY_RIGHT_WIND_SPEEDLINES_2A 28
|
|
#define SG_RAYQUAZA_FLYBY_RIGHT_WIND_SPEEDLINES_2B 29
|
|
#define SG_RAYQUAZA_FLYBY_LEFT_WIND_SPEEDLINES_0A 30
|
|
#define SG_RAYQUAZA_FLYBY_LEFT_WIND_SPEEDLINES_0B 31
|
|
#define SG_RAYQUAZA_FLYBY_LEFT_WIND_SPEEDLINES_1A 32
|
|
#define SG_RAYQUAZA_FLYBY_LEFT_WIND_SPEEDLINES_1B 33
|
|
#define SG_RAYQUAZA_FLYBY_LEFT_WIND_SPEEDLINES_2A 34
|
|
#define SG_RAYQUAZA_FLYBY_LEFT_WIND_SPEEDLINES_2B 35
|
|
#define SG_RAYQUAZA_LIGHTNING_BALL_GRAB_FX 36
|
|
#define SG_RAYQUAZA_BALL_RESPAWN_FX 37
|
|
#define SG_RAYQUAZA_BALL 38
|
|
#define SG_RAYQUAZA_CATCH_BALL_TRAIL_0 39
|
|
#define SG_RAYQUAZA_CATCH_BALL_TRAIL_1 40
|
|
#define SG_RAYQUAZA_ENTITY_BOUNCING 41
|
|
#define SG_RAYQUAZA_ENTITY_BACKGROUND_FLY_UP 42
|
|
#define SG_RAYQUAZA_ENTITY_BACKGROUND_FLY_DOWN 43
|
|
#define SG_RAYQUAZA_ENTITY_SHADOW_FX 45
|
|
|
|
// Spheal board
|
|
//0-6 shared
|
|
#define SG_SPHEAL_END_SCORE_PANEL 7
|
|
#define SG_SPHEAL_END_SCORE_SPHEALS_SUNK 8
|
|
#define SG_SPHEAL_END_SCORE_BALLS_SUNK 9
|
|
#define SG_SPHEAL_END_SCORE_TOTAL 10
|
|
#define SG_SPHEAL_NET_FRONT 11 // part of the net that is drawn over the ball/spheal
|
|
#define SG_SPHEAL_BALL_RESPAWN_FX 12
|
|
#define SG_SPHEAL_BALL 13
|
|
#define SG_SPHEAL_ENTITY_BASE 14 // Of 2
|
|
#define SG_SPHEAL_ENTITY_0 14
|
|
#define SG_SPHEAL_ENTITY_1 15
|
|
#define SG_SPHEAL_ENTITY_REFLECTION_BASE 16 // Of 2
|
|
#define SG_SPHEAL_ENTITY_REFLECTION_0 16
|
|
#define SG_SPHEAL_ENTITY_REFLECTION_1 17
|
|
#define SG_SPHEAL_NET 18
|
|
#define SG_SPHEAL_WHISCASH_ENTITY 19
|
|
#define SG_SPHEAL_PELIPPER_ENTITY 20
|
|
#define SG_SPHEAL_LEFT_SEALEO_ENTITY 21
|
|
#define SG_SPHEAL_RIGHT_SEALEO_ENTITY 22
|
|
|
|
// High score screen
|
|
#define SG_HIGH_SCORE_ENTRY_CURSOR_ARROW_0 0
|
|
#define SG_HIGH_SCORE_ENTRY_CURSOR_ARROW_1 1
|
|
|
|
#define SG_HIGH_SCORE_PAGE_RIGHT_ARROW 0
|
|
#define SG_HIGH_SCORE_PAGE_LEFT_ARROW 1
|
|
#define SG_HIGH_SCORE_POPUP_LIST_BASE 2 // of 5
|
|
#define SG_HIGH_SCORE_POPUP_START_TRANSMISSION 2
|
|
#define SG_HIGH_SCORE_POPUP_TRANSMITTING 3
|
|
#define SG_HIGH_SCORE_POPUP_TRANSMISSION_ERROR 4
|
|
#define SG_HIGH_SCORE_POPUP_TRANSFER_COMPLETE 5
|
|
#define SG_HIGH_SCORE_POPUP_DELETE_CONFIRMATION 6
|
|
#define SG_HIGH_SCORE_PRESS_START_0 7
|
|
#define SG_HIGH_SCORE_PRESS_START_1 8
|
|
|
|
#define SG_HIGH_SCORE_COMPLETION_BANNER_LOOP_START 0
|
|
#define SG_HIGH_SCORE_COMPLETION_BANNER_LOOP_END 4
|
|
|
|
// Pokedex screen
|
|
#define SG_POKEDEX_CURSOR_HAND 0
|
|
#define SG_POKEDEX_SCROLL_INDICATOR 1
|
|
#define SG_POKEDEX_MON_PORTRAIT 2
|
|
#define SG_POKEDEX_CATCH_SPRITE_ANIMATION 3
|
|
#define SG_POKEDEX_HATCH_SPRITE_ANIMATION 4
|
|
#define SG_POKEDEX_PRESS_SELECT_TEXT_BASE 5 // of 12
|
|
#define SG_POKEDEX_POPUP_LIST_BASE 17 // of 5
|
|
#define SG_POKEDEX_POPUP_START_TRANSMISSION 17
|
|
#define SG_POKEDEX_POPUP_TRANSMITTING 18
|
|
#define SG_POKEDEX_POPUP_TRANSMISSION_ERROR 19
|
|
#define SG_POKEDEX_POPUP_TRANSFER_COMPLETE 20
|
|
#define SG_POKEDEX_POPUP_DELETE_CONFIRMATION 21
|
|
#define SG_POKEDEX_PRESS_START_0 22
|
|
#define SG_POKEDEX_PRESS_START_1 23
|
|
#define SG_POKEDEX_COMPLETION_BADGE 24
|
|
#define SG_POKEDEX_TEXT_PAGE_CHANGE_ARROW_BASE 25
|
|
#define SG_POKEDEX_TEXT_PAGE_CHANGE_ARROW_DOWN_0 25
|
|
#define SG_POKEDEX_TEXT_PAGE_CHANGE_ARROW_DOWN_1 26
|
|
#define SG_POKEDEX_TEXT_PAGE_CHANGE_ARROW_UP_0 27
|
|
#define SG_POKEDEX_TEXT_PAGE_CHANGE_ARROW_UP_1 28
|
|
|
|
// Options
|
|
#define SG_OPTIONS_CURSOR_HAND 0
|
|
#define SG_OPTIONS_BMG_NUMBER_100S 1
|
|
#define SG_OPTIONS_BMG_NUMBER_10S 2
|
|
#define SG_OPTIONS_BMG_NUMBER_1S 3
|
|
#define SG_OPTIONS_SE_NUMBER_100S 4
|
|
#define SG_OPTIONS_SE_NUMBER_10S 5
|
|
#define SG_OPTIONS_SE_NUMBER_1S 6
|
|
#define SG_OPTIONS_SOUND_SELECT_ARROWS 7 // Paired with 27 for motion
|
|
#define SG_OPTIONS_BUTTON_CONFIG_TYPE_SETTING_ARROW 8
|
|
#define SG_OPTIONS_SOUND_SELECT_ARROWS_ALT 27 // Paired with 7 for motion
|
|
#define SG_OPTIONS_BUTTON_CONFIG_EDIT_PRESS_BUTTON_TEXT 28
|
|
#define SG_OPTIONS_RUMBLE_SETTING_ARROW 29
|
|
#define SG_OPTIONS_TORCHIC 30
|
|
#define SG_OPTIONS_TORCHIC_NOTE 31
|
|
|
|
// E-Reader
|
|
#define SG_EREADER_START_TRANSMISSION_POPUP 0
|
|
#define SG_EREADER_TRANSMITTING 1
|
|
#define SG_EREADER_TRANSMIT_ERROR 2
|
|
#define SG_EREADER_TRANSMISSION_COMPLETE 3
|
|
#define SG_EREADER_GBA_LINK_BASE 4
|
|
#define SG_EREADER_GBA_LINK_ANIM_1 5
|
|
#define SG_EREADER_GBA_LINK_ANIM_2 6
|
|
#define SG_EREADER_GBA_LINK_ANIM_3 7
|
|
#define SG_EREADER_GBA_LINK_ANIM_4 8
|
|
#define SG_EREADER_GBA_LINK_ANIM_5 9
|
|
#define SG_EREADER_GBA_LINK_CONNECTED 10
|
|
#define SG_EREADER_GBA_WHITE_SCREENSS 11
|
|
#define SG_EREADER_GBA_LINK_FAILED 12
|
|
|
|
// Raw list. (can be removed later)
|
|
#define SG_0 0
|
|
#define SG_1 1
|
|
#define SG_2 2
|
|
#define SG_3 3
|
|
#define SG_4 4
|
|
#define SG_5 5
|
|
#define SG_6 6
|
|
#define SG_7 7
|
|
#define SG_8 8
|
|
#define SG_9 9
|
|
#define SG_10 10
|
|
#define SG_11 11
|
|
#define SG_12 12
|
|
#define SG_13 13
|
|
#define SG_14 14
|
|
#define SG_15 15
|
|
#define SG_16 16
|
|
#define SG_17 17
|
|
#define SG_18 18
|
|
#define SG_19 19
|
|
#define SG_20 20
|
|
#define SG_21 21
|
|
#define SG_22 22
|
|
#define SG_23 23
|
|
#define SG_24 24
|
|
#define SG_25 25
|
|
#define SG_26 26
|
|
#define SG_27 27
|
|
#define SG_28 28
|
|
#define SG_29 29
|
|
#define SG_30 30
|
|
#define SG_31 31
|
|
#define SG_32 32
|
|
#define SG_33 33
|
|
#define SG_34 34
|
|
#define SG_35 35
|
|
#define SG_36 36
|
|
#define SG_37 37
|
|
#define SG_38 38
|
|
#define SG_39 39
|
|
#define SG_40 40
|
|
#define SG_41 41
|
|
#define SG_42 42
|
|
#define SG_43 43
|
|
#define SG_44 44
|
|
#define SG_45 45
|
|
#define SG_46 46
|
|
#define SG_47 47
|
|
#define SG_48 48
|
|
#define SG_49 49
|
|
#define SG_50 50
|
|
#define SG_51 51
|
|
#define SG_52 52
|
|
#define SG_53 53
|
|
#define SG_54 54
|
|
#define SG_55 55
|
|
#define SG_56 56
|
|
#define SG_57 57
|
|
#define SG_58 58
|
|
#define SG_59 59
|
|
#define SG_60 60
|
|
#define SG_61 61
|
|
#define SG_62 62
|
|
#define SG_63 63
|
|
#define SG_64 64
|
|
#define SG_65 65
|
|
#define SG_66 66
|
|
#define SG_67 67
|
|
#define SG_68 68
|
|
#define SG_69 69
|
|
#define SG_70 70
|
|
#define SG_71 71
|
|
#define SG_72 72
|
|
#define SG_73 73
|
|
#define SG_74 74
|
|
#define SG_75 75
|
|
#define SG_76 76
|
|
#define SG_77 77
|
|
#define SG_78 78
|
|
#define SG_79 79
|
|
#define SG_80 80
|
|
#define SG_81 81
|
|
#define SG_82 82
|
|
#define SG_83 83
|
|
#define SG_84 84
|
|
#define SG_85 85
|
|
#define SG_86 86
|
|
#define SG_87 87
|
|
#define SG_88 88
|
|
#define SG_89 89
|
|
#define SG_90 90
|
|
#define SG_91 91
|
|
#define SG_92 92
|
|
#define SG_93 93
|
|
#define SG_94 94
|
|
#define SG_95 95
|
|
#define SG_96 96
|
|
#define SG_97 97
|
|
#define SG_98 98
|
|
#define SG_99 99
|
|
|
|
// ****************************************************
|
|
// Field Sprite Group uses data from gMainFieldSpriteGroups and gBonusFieldSpriteGroups
|
|
// These are board level indirect references to the sprite group used by the individual fields.
|
|
// The array index in the fieldSpriteGroup always points to the same sprite. The data in the
|
|
// array points to the sprite group used for that sprite on the specific board.
|
|
|
|
// All boards
|
|
#define FIELD_SG_BALL 0
|
|
#define FIELD_SG_CAPTURE_MON_BALL_FX 3 // Halo at start of capture cutscene & ball opening, with energy field
|
|
#define FIELD_SG_POKEMON_NAME_TEXT 4
|
|
#define FIELD_SG_WAS_CAUGHT_TEXT 5
|
|
|
|
// Main boards
|
|
//0,3-5 shared
|
|
#define FIELD_SG_MAIN_BOARD_BALL_TRAIL_BASE 1 // Of 2
|
|
#define FIELD_SG_MAIN_BOARD_BALL_TRAIL_0 1
|
|
#define FIELD_SG_MAIN_BOARD_BALL_TRAIL_1 2
|
|
#define FIELD_SG_MAIN_SHOP_ARROWS 6 // Left/Right, and evo Up/down arrow
|
|
#define FIELD_SG_MAIN_SHOP_COINS 7
|
|
#define FIELD_SG_MAIN_SHOP_CONFIRMATION_PANEL 8 // Yellow bar displaying cost/mon name
|
|
#define FIELD_SG_MAIN_SHOP_PORTRAIT_OVERLAY 9 // Change sheen, Sold Out indicator
|
|
#define FIELD_SG_MAIN_TRAVEL_BANNER_SIGNPOST 10 //Crossroads with torchic sitting on it
|
|
#define FIELD_SG_MAIN_MODE_START_BANNER 11
|
|
#define FIELD_SG_MAIN_TILE_BREAK 12
|
|
#define FIELD_SG_CENTER_HOLE_GRAVITY_FX 13
|
|
#define FIELD_SG_14 14 // Unused?
|
|
#define FIELD_SG_EVOLUTION_LIGHTNING 15
|
|
#define FIELD_SG_TRAVEL_PAINTER 16
|
|
#define FIELD_SG_CHARGE_INDICATOR_DEVICE 17
|
|
#define FIELD_SG_18 18 // Related to catch tiles... but I can't properly isolate to confirm.
|
|
#define FIELD_SG_MAIN_BOARD_PORTRAIT_BORDERS 19
|
|
#define FIELD_SG_PORTRAIT0_TRIM 20
|
|
#define FIELD_SG_PORTRAIT1_TRIM 21
|
|
#define FIELD_SG_MAIN_BOARD_PORTRAIT 22
|
|
#define FIELD_SG_PORTRAIT1 23 //Used for roulette
|
|
#define FIELD_SG_EVOLUTION_TEXT_LARGE_BOTTOM 24
|
|
#define FIELD_SG_EVOLUTION_TEXT_LARGE_TOP 25
|
|
#define FIELD_SG_EVOLUTION_TEXT_MEDIUM_LOWER 26
|
|
#define FIELD_SG_EVOLUTION_TEXT_MEDIUM_UPPER 27
|
|
#define FIELD_SG_EVOLUTION_TEXT_SMALL_MIDDLE 28
|
|
#define FIELD_SG_PIKACHU_KICKBACK 29
|
|
#define FIELD_SG_PICHU_KICKBACK 30
|
|
#define FIELD_SG_PIKA_CHARGING_SPINNER 31
|
|
#define FIELD_SG_EVO_ITEM 32
|
|
#define FIELD_SG_CATCH_MON_ENTITY 33
|
|
#define FIELD_SG_INITIAL_LOCATION_SELECTED_FX 34
|
|
#define FIELD_SG_CATCH_BURST_LIGHTNING_STRIKE 35
|
|
#define FIELD_SG_CATCH_BURST_TILE_FLASH_FX 36
|
|
#define FIELD_SG_CATCH_BURST_PANEL_ELECTRIFY_FX 37
|
|
#define FIELD_SG_PIKA_KICKBACK_LAUNCH_FX 38
|
|
#define FIELD_SG_COIN_COLLECTED 39
|
|
#define FIELD_SG_EVO_ITEM_SPAWN_FX 40
|
|
#define FIELD_SG_HATCH_MON_ENTITY 41 // Also used for Pichu Ramp Entry
|
|
#define FIELD_SG_GAME_OVER_TEXT 42
|
|
#define FIELD_SG_BALL_UPGRADE_FX 43
|
|
#define FIELD_SG_SPOINK_LAUNCHER 44
|
|
#define FIELD_SG_JIRACHI_STAR_TRAIL_FX_BASE 45 // Of 4
|
|
#define FIELD_SG_JIRACHI_STAR_TRAIL_FX0 45
|
|
#define FIELD_SG_JIRACHI_STAR_TRAIL_FX1 46
|
|
#define FIELD_SG_JIRACHI_STAR_TRAIL_FX2 47
|
|
#define FIELD_SG_JIRACHI_STAR_TRAIL_FX3 48
|
|
#define FIELD_SG_MAIN_BOARD_BALL_OVERRIDE 49 // Used with some sequences that move the ball
|
|
#define FIELD_SG_TREECKO_1UP_DELIVERY 50
|
|
|
|
// bonus/legendary boards
|
|
//0,3-5 shared
|
|
#define FIELD_SG_BONUS_BOARD_BALL_RESPAWN_FX 1
|
|
#define FIELD_SG_BONUS_BOARD_BALL_TRAIL_BASE 6 // Of 2
|
|
#define FIELD_SG_BONUS_BOARD_BALL_TRAIL_0 6
|
|
#define FIELD_SG_BONUS_BOARD_BALL_TRAIL_1 7
|
|
|
|
#endif //GUARD_CONSTANTS_SPRITE_GROUPS_H
|