Verify data table sizes with table_width and assert_table_length macros

This was discussed in #706

It also uncovered some off-by-one issues with defining some constants.

A few structs now use rsreset/_RS to define their offset constants, as discussed in #739
This commit is contained in:
Rangi 2021-03-03 22:22:41 -05:00
parent 9c17fb14c8
commit 40902ffe24
148 changed files with 608 additions and 237 deletions

View File

@ -1,4 +1,6 @@
Cries: Cries:
; entries correspond to CRY_* constants (see constants/cry_constants.asm)
table_width 3, Cries
dba Cry_Nidoran_M dba Cry_Nidoran_M
dba Cry_Nidoran_F dba Cry_Nidoran_F
dba Cry_Slowpoke dba Cry_Slowpoke
@ -67,3 +69,4 @@ Cries:
dba Cry_Aipom dba Cry_Aipom
dba Cry_Dunsparce dba Cry_Dunsparce
dba Cry_Donphan dba Cry_Donphan
assert_table_length NUM_CRIES

View File

@ -2,6 +2,7 @@
Music: Music:
; entries correspond to MUSIC_* constants ; entries correspond to MUSIC_* constants
table_width 3, Music
dba Music_Nothing dba Music_Nothing
dba Music_TitleScreen dba Music_TitleScreen
dba Music_Route1 dba Music_Route1
@ -106,3 +107,4 @@ Music:
dba Music_SuicuneBattle dba Music_SuicuneBattle
dba Music_BattleTowerLobby dba Music_BattleTowerLobby
dba Music_MobileCenter dba Music_MobileCenter
assert_table_length NUM_MUSIC_SONGS

View File

@ -1,5 +1,6 @@
SFX: SFX:
; entries correspond to SFX_* constants ; entries correspond to SFX_* constants
table_width 3, SFX
dba Sfx_DexFanfare5079 dba Sfx_DexFanfare5079
dba Sfx_Item dba Sfx_Item
dba Sfx_CaughtMon dba Sfx_CaughtMon
@ -208,3 +209,4 @@ SFX:
dba Sfx_TwoPcBeeps dba Sfx_TwoPcBeeps
dba Sfx_4NoteDitty dba Sfx_4NoteDitty
dba Sfx_Twinkle dba Sfx_Twinkle
assert_table_length NUM_SFX

View File

@ -12,7 +12,6 @@ INCLUDE "constants/text_constants.asm"
INCLUDE "constants/audio_constants.asm" INCLUDE "constants/audio_constants.asm"
INCLUDE "constants/battle_anim_constants.asm" INCLUDE "constants/battle_anim_constants.asm"
INCLUDE "constants/battle_constants.asm" INCLUDE "constants/battle_constants.asm"
INCLUDE "constants/battle_tower_constants.asm"
INCLUDE "constants/collision_constants.asm" INCLUDE "constants/collision_constants.asm"
INCLUDE "constants/credits_constants.asm" INCLUDE "constants/credits_constants.asm"
INCLUDE "constants/cry_constants.asm" INCLUDE "constants/cry_constants.asm"
@ -50,3 +49,4 @@ INCLUDE "constants/tileset_constants.asm"
INCLUDE "constants/trainer_constants.asm" INCLUDE "constants/trainer_constants.asm"
INCLUDE "constants/trainer_data_constants.asm" INCLUDE "constants/trainer_data_constants.asm"
INCLUDE "constants/type_constants.asm" INCLUDE "constants/type_constants.asm"
INCLUDE "constants/battle_tower_constants.asm"

View File

@ -30,44 +30,45 @@ NUM_NOISE_CHANS EQU const_value - NUM_MUSIC_CHANS
NUM_CHANNELS EQU const_value NUM_CHANNELS EQU const_value
; channel_struct members (see macros/wram.asm) ; channel_struct members (see macros/wram.asm)
CHANNEL_MUSIC_ID EQUS "(wChannel1MusicID - wChannel1)" rsreset
CHANNEL_MUSIC_BANK EQUS "(wChannel1MusicBank - wChannel1)" CHANNEL_MUSIC_ID rw
CHANNEL_FLAGS1 EQUS "(wChannel1Flags1 - wChannel1)" CHANNEL_MUSIC_BANK rb
CHANNEL_FLAGS2 EQUS "(wChannel1Flags2 - wChannel1)" CHANNEL_FLAGS1 rb
CHANNEL_FLAGS3 EQUS "(wChannel1Flags3 - wChannel1)" CHANNEL_FLAGS2 rb
CHANNEL_MUSIC_ADDRESS EQUS "(wChannel1MusicAddress - wChannel1)" CHANNEL_FLAGS3 rb
CHANNEL_LAST_MUSIC_ADDRESS EQUS "(wChannel1LastMusicAddress - wChannel1)" CHANNEL_MUSIC_ADDRESS rw
CHANNEL_NOTE_FLAGS EQUS "(wChannel1NoteFlags - wChannel1)" CHANNEL_LAST_MUSIC_ADDRESS rw 2
CHANNEL_CONDITION EQUS "(wChannel1Condition - wChannel1)" CHANNEL_NOTE_FLAGS rb
CHANNEL_DUTY_CYCLE EQUS "(wChannel1DutyCycle - wChannel1)" CHANNEL_CONDITION rb
CHANNEL_VOLUME_ENVELOPE EQUS "(wChannel1VolumeEnvelope - wChannel1)" CHANNEL_DUTY_CYCLE rb
CHANNEL_FREQUENCY EQUS "(wChannel1Frequency - wChannel1)" CHANNEL_VOLUME_ENVELOPE rb
CHANNEL_PITCH EQUS "(wChannel1Pitch - wChannel1)" CHANNEL_FREQUENCY rw
CHANNEL_OCTAVE EQUS "(wChannel1Octave - wChannel1)" CHANNEL_PITCH rb
CHANNEL_TRANSPOSITION EQUS "(wChannel1Transposition - wChannel1)" CHANNEL_OCTAVE rb
CHANNEL_NOTE_DURATION EQUS "(wChannel1NoteDuration - wChannel1)" CHANNEL_TRANSPOSITION rb
CHANNEL_FIELD16 EQUS "(wChannel1Field16 - wChannel1)" CHANNEL_NOTE_DURATION rb
CHANNEL_LOOP_COUNT EQUS "(wChannel1LoopCount - wChannel1)" CHANNEL_FIELD16 rb 2
CHANNEL_TEMPO EQUS "(wChannel1Tempo - wChannel1)" CHANNEL_LOOP_COUNT rb
CHANNEL_TRACKS EQUS "(wChannel1Tracks - wChannel1)" CHANNEL_TEMPO rw
CHANNEL_DUTY_CYCLE_PATTERN EQUS "(wChannel1DutyCyclePattern - wChannel1)" CHANNEL_TRACKS rb
CHANNEL_VIBRATO_DELAY_COUNT EQUS "(wChannel1VibratoDelayCount - wChannel1)" CHANNEL_DUTY_CYCLE_PATTERN rb
CHANNEL_VIBRATO_DELAY EQUS "(wChannel1VibratoDelay - wChannel1)" CHANNEL_VIBRATO_DELAY_COUNT rb
CHANNEL_VIBRATO_EXTENT EQUS "(wChannel1VibratoExtent - wChannel1)" CHANNEL_VIBRATO_DELAY rb
CHANNEL_VIBRATO_RATE EQUS "(wChannel1VibratoRate - wChannel1)" CHANNEL_VIBRATO_EXTENT rb
CHANNEL_PITCH_SLIDE_TARGET EQUS "(wChannel1PitchSlideTarget - wChannel1)" CHANNEL_VIBRATO_RATE rb
CHANNEL_PITCH_SLIDE_AMOUNT EQUS "(wChannel1PitchSlideAmount - wChannel1)" CHANNEL_PITCH_SLIDE_TARGET rw
CHANNEL_PITCH_SLIDE_AMOUNT_FRACTION EQUS "(wChannel1PitchSlideAmountFraction - wChannel1)" CHANNEL_PITCH_SLIDE_AMOUNT rb
CHANNEL_FIELD25 EQUS "(wChannel1Field25 - wChannel1)" CHANNEL_PITCH_SLIDE_AMOUNT_FRACTION rb
CHANNEL_PITCH_OFFSET EQUS "(wChannel1PitchOffset - wChannel1)" CHANNEL_FIELD25 rb 2
CHANNEL_FIELD29 EQUS "(wChannel1Field29 - wChannel1)" CHANNEL_PITCH_OFFSET rw
CHANNEL_FIELD2A EQUS "(wChannel1Field2a - wChannel1)" CHANNEL_FIELD29 rb
CHANNEL_FIELD2C EQUS "(wChannel1Field2c - wChannel1)" CHANNEL_FIELD2A rw
CHANNEL_NOTE_LENGTH EQUS "(wChannel1NoteLength - wChannel1)" CHANNEL_FIELD2C rb
CHANNEL_FIELD2E EQUS "(wChannel1Field2e - wChannel1)" CHANNEL_NOTE_LENGTH rb
CHANNEL_FIELD2F EQUS "(wChannel1Field2f - wChannel1)" CHANNEL_FIELD2E rb
CHANNEL_FIELD30 EQUS "(wChannel1Field30 - wChannel1)" CHANNEL_FIELD2F rb
CHANNEL_STRUCT_LENGTH EQUS "(wChannel2 - wChannel1)" CHANNEL_FIELD30 rb 2
CHANNEL_STRUCT_LENGTH EQU _RS
NOISE_CHAN_F EQU 2 ; bit set in CHAN5-CHAN7 NOISE_CHAN_F EQU 2 ; bit set in CHAN5-CHAN7

View File

@ -7,6 +7,7 @@
const BATTLEANIMSTRUCT_FUNCTION const BATTLEANIMSTRUCT_FUNCTION
const BATTLEANIMSTRUCT_PALETTE const BATTLEANIMSTRUCT_PALETTE
const BATTLEANIMSTRUCT_TILEID const BATTLEANIMSTRUCT_TILEID
BATTLEANIMOBJ_LENGTH EQU const_value - 1 ; discount BATTLEANIMSTRUCT_INDEX
const BATTLEANIMSTRUCT_XCOORD const BATTLEANIMSTRUCT_XCOORD
const BATTLEANIMSTRUCT_YCOORD const BATTLEANIMSTRUCT_YCOORD
const BATTLEANIMSTRUCT_XOFFSET const BATTLEANIMSTRUCT_XOFFSET
@ -217,6 +218,7 @@ BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture
const ANIM_OBJ_PLAYERHEAD_1ROW const ANIM_OBJ_PLAYERHEAD_1ROW
const ANIM_OBJ_ENEMYFEET_2ROW const ANIM_OBJ_ENEMYFEET_2ROW
const ANIM_OBJ_PLAYERHEAD_2ROW const ANIM_OBJ_PLAYERHEAD_2ROW
NUM_ANIM_OBJS EQU const_value
; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm) ; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm)
const_def const_def
@ -300,6 +302,7 @@ BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture
const BATTLEANIMFUNC_ANCIENT_POWER const BATTLEANIMFUNC_ANCIENT_POWER
const BATTLEANIMFUNC_ROCK_SMASH const BATTLEANIMFUNC_ROCK_SMASH
const BATTLEANIMFUNC_COTTON const BATTLEANIMFUNC_COTTON
NUM_BATTLEANIMFUNCS EQU const_value
; BattleAnimFrameData indexes (see data/battle_anims/framesets.asm) ; BattleAnimFrameData indexes (see data/battle_anims/framesets.asm)
const_def const_def
@ -488,6 +491,7 @@ BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture
const BATTLEANIMFRAMESET_B6 const BATTLEANIMFRAMESET_B6
const BATTLEANIMFRAMESET_B7 const BATTLEANIMFRAMESET_B7
const BATTLEANIMFRAMESET_B8 const BATTLEANIMFRAMESET_B8
NUM_BATTLEANIMFRAMESETS EQU const_value
; BattleAnimOAMData indexes (see data/battle_anims/oam.asm) ; BattleAnimOAMData indexes (see data/battle_anims/oam.asm)
const_def const_def
@ -707,6 +711,7 @@ BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture
const BATTLEANIMOAMSET_D5 const BATTLEANIMOAMSET_D5
const BATTLEANIMOAMSET_D6 const BATTLEANIMOAMSET_D6
const BATTLEANIMOAMSET_D7 const BATTLEANIMOAMSET_D7
NUM_BATTLEANIMOAMSETS EQU const_value
; BattleBGEffects indexes (see engine/battle_anims/bg_effects.asm) ; BattleBGEffects indexes (see engine/battle_anims/bg_effects.asm)
const_def 1 const_def 1
@ -763,6 +768,7 @@ BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture
const ANIM_BG_VIBRATE_MON const ANIM_BG_VIBRATE_MON
const ANIM_BG_WOBBLE_PLAYER const ANIM_BG_WOBBLE_PLAYER
const ANIM_BG_WOBBLE_SCREEN const ANIM_BG_WOBBLE_SCREEN
NUM_ANIM_BGS EQU const_value - 1
; wBattleAnimTileDict keys (see wram.asm) ; wBattleAnimTileDict keys (see wram.asm)
; AnimObjGFX indexes (see data/battle_anims/object_gfx.asm) ; AnimObjGFX indexes (see data/battle_anims/object_gfx.asm)
@ -808,6 +814,7 @@ BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture
const ANIM_GFX_AEROBLAST const ANIM_GFX_AEROBLAST
const ANIM_GFX_PLAYERHEAD const ANIM_GFX_PLAYERHEAD
const ANIM_GFX_ENEMYFEET const ANIM_GFX_ENEMYFEET
NUM_ANIM_GFX EQU const_value - 1
; battle_bg_effect struct members (see macros/wram.asm) ; battle_bg_effect struct members (see macros/wram.asm)
const_def const_def

View File

@ -120,6 +120,7 @@ SPDSPCDV_SHINY EQU $AA
const BATTLE_VARS_LAST_COUNTER_MOVE_OPP const BATTLE_VARS_LAST_COUNTER_MOVE_OPP
const BATTLE_VARS_LAST_MOVE const BATTLE_VARS_LAST_MOVE
const BATTLE_VARS_LAST_MOVE_OPP const BATTLE_VARS_LAST_MOVE_OPP
NUM_BATTLE_VARS EQU const_value
; BattleVarLocations indexes (see home/battle.asm) ; BattleVarLocations indexes (see home/battle.asm)
const_def const_def
@ -149,6 +150,8 @@ SPDSPCDV_SHINY EQU $AA
const ENEMY_COUNTER_MOVE const ENEMY_COUNTER_MOVE
const PLAYER_LAST_MOVE const PLAYER_LAST_MOVE
const ENEMY_LAST_MOVE const ENEMY_LAST_MOVE
assert const_value % 2 == 0
NUM_BATTLE_VAR_LOCATION_PAIRS EQU const_value / 2
; status condition bit flags ; status condition bit flags
SLP EQU %111 ; 0-7 turns SLP EQU %111 ; 0-7 turns

View File

@ -5,7 +5,7 @@ BATTLETOWER_NUM_UNIQUE_MON EQU 21
BATTLETOWER_NUM_UNIQUE_TRAINERS EQU 70 BATTLETOWER_NUM_UNIQUE_TRAINERS EQU 70
BATTLETOWER_TRAINERDATALENGTH EQU $24 BATTLETOWER_TRAINERDATALENGTH EQU $24
BATTLE_TOWER_STRUCT_LENGTH EQUS "(NAME_LENGTH + BATTLETOWER_PARTY_LENGTH * NICKNAMED_MON_STRUCT_LENGTH + BATTLETOWER_TRAINERDATALENGTH)" BATTLE_TOWER_STRUCT_LENGTH EQU NAME_LENGTH + BATTLETOWER_PARTY_LENGTH * NICKNAMED_MON_STRUCT_LENGTH + BATTLETOWER_TRAINERDATALENGTH
; BattleTowerAction setval arguments (see engine/events/battle_tower/battle_tower.asm) ; BattleTowerAction setval arguments (see engine/events/battle_tower/battle_tower.asm)
const_def const_def

View File

@ -103,6 +103,7 @@
const US_COORDINATION const US_COORDINATION
const TEXT_TRANSLATION const TEXT_TRANSLATION
const PAAD_TESTING const PAAD_TESTING
NUM_CREDITS_STRINGS EQU const_value
; CreditsScript indexes (see data/credits_script.asm) ; CreditsScript indexes (see data/credits_script.asm)
const_def -1, -1 const_def -1, -1

View File

@ -72,3 +72,5 @@
const CRY_AIPOM const CRY_AIPOM
const CRY_DUNSPARCE const CRY_DUNSPARCE
const CRY_DONPHAN const CRY_DONPHAN
NUM_CRIES EQU const_value

View File

@ -1,3 +1,13 @@
; decoration attributes
const_def
const DECOATTR_TYPE
const DECOATTR_NAME
const DECOATTR_ACTION
const DECOATTR_EVENT_FLAG
const_skip ; high DECOATTR_EVENT_FLAG byte
const DECOATTR_SPRITE
DECOATTR_STRUCT_LENGTH EQU const_value
; decoration types ; decoration types
const_def 1 const_def 1
const DECO_PLANT const DECO_PLANT
@ -6,6 +16,7 @@
const DECO_POSTER const DECO_POSTER
const DECO_DOLL const DECO_DOLL
const DECO_BIGDOLL const DECO_BIGDOLL
NUM_DECO_TYPES EQU const_value - 1
; DecorationNames indexes (see data/decorations/names.asm) ; DecorationNames indexes (see data/decorations/names.asm)
const_def 1 const_def 1
@ -51,8 +62,7 @@
const PUT_AWAY_BIG_DOLL const PUT_AWAY_BIG_DOLL
const SET_UP_DOLL const SET_UP_DOLL
const PUT_AWAY_DOLL const PUT_AWAY_DOLL
const SET_UP_ORNAMENT NUM_DECO_ACTIONS EQU const_value - 1
const PUT_AWAY_ORNAMENT
__deco_value__ = 0 __deco_value__ = 0
@ -127,3 +137,4 @@ NUM_NON_TROPHY_DECOS EQU __deco_value__
deco GOLD_TROPHY_DOLL deco GOLD_TROPHY_DOLL
deco SILVER_TROPHY_DOLL deco SILVER_TROPHY_DOLL
NUM_DECOS EQU __deco_value__ NUM_DECOS EQU __deco_value__
NUM_DECO_CATEGORIES EQU const_value - 1 - NUM_DECOS

View File

@ -6,7 +6,7 @@ NUM_PAL_COLORS EQU 4
PAL_COLOR_SIZE EQU 2 PAL_COLOR_SIZE EQU 2
PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE
PALRGB_WHITE EQUS "palred 31 + palgreen 31 + palblue 31" ; $7fff PALRGB_WHITE EQU palred 31 + palgreen 31 + palblue 31 ; $7fff
SCREEN_WIDTH EQU 20 ; tiles SCREEN_WIDTH EQU 20 ; tiles
SCREEN_HEIGHT EQU 18 ; tiles SCREEN_HEIGHT EQU 18 ; tiles

View File

@ -39,6 +39,7 @@
const ICON_SLOWPOKE const ICON_SLOWPOKE
const ICON_SUDOWOODO const ICON_SUDOWOODO
const ICON_BIGMON const ICON_BIGMON
NUM_ICONS EQU const_value - 1
; LoadMenuMonIcon.Jumptable indexes (see engine/gfx/mon_icons.asm) ; LoadMenuMonIcon.Jumptable indexes (see engine/gfx/mon_icons.asm)
const_def const_def

View File

@ -196,6 +196,7 @@
const MUSIC_MAIL ; bc const MUSIC_MAIL ; bc
const MIRAGE_MAIL ; bd const MIRAGE_MAIL ; bd
const ITEM_BE ; be const ITEM_BE ; be
NUM_ITEMS EQU const_value - 1
__tmhm_value__ = 1 __tmhm_value__ = 1

View File

@ -1,6 +1,5 @@
; Landmarks indexes (see data/maps/landmarks.asm) ; Landmarks indexes (see data/maps/landmarks.asm)
const_def const_def
; Johto landmarks ; Johto landmarks
const LANDMARK_SPECIAL ; 00 const LANDMARK_SPECIAL ; 00
const LANDMARK_NEW_BARK_TOWN ; 01 const LANDMARK_NEW_BARK_TOWN ; 01
@ -49,7 +48,6 @@
const LANDMARK_DARK_CAVE ; 2c const LANDMARK_DARK_CAVE ; 2c
const LANDMARK_ROUTE_46 ; 2d const LANDMARK_ROUTE_46 ; 2d
const LANDMARK_SILVER_CAVE ; 2e const LANDMARK_SILVER_CAVE ; 2e
KANTO_LANDMARK EQU const_value KANTO_LANDMARK EQU const_value
const LANDMARK_PALLET_TOWN ; 2f const LANDMARK_PALLET_TOWN ; 2f
const LANDMARK_ROUTE_1 ; 30 const LANDMARK_ROUTE_1 ; 30
@ -100,6 +98,7 @@ KANTO_LANDMARK EQU const_value
const LANDMARK_TOHJO_FALLS ; 5d const LANDMARK_TOHJO_FALLS ; 5d
const LANDMARK_ROUTE_28 ; 5e const LANDMARK_ROUTE_28 ; 5e
const LANDMARK_FAST_SHIP ; 5f const LANDMARK_FAST_SHIP ; 5f
NUM_LANDMARKS EQU const_value
; used in CaughtData ; used in CaughtData
const_def $7f, -1 const_def $7f, -1

View File

@ -50,6 +50,7 @@ NUM_MAP_PALETTES EQU const_value
const FISHGROUP_QWILFISH const FISHGROUP_QWILFISH
const FISHGROUP_REMORAID const FISHGROUP_REMORAID
const FISHGROUP_QWILFISH_NO_SWARM const FISHGROUP_QWILFISH_NO_SWARM
NUM_FISHGROUPS EQU const_value - 1
; connection directions (see data/maps/data.asm) ; connection directions (see data/maps/data.asm)
const_def const_def
@ -66,8 +67,7 @@ NUM_MAP_PALETTES EQU const_value
shift_const NORTH shift_const NORTH
; SpawnPoints indexes (see data/maps/spawn_points.asm) ; SpawnPoints indexes (see data/maps/spawn_points.asm)
const_def -1 const_def
const SPAWN_N_A
const SPAWN_HOME const SPAWN_HOME
const SPAWN_DEBUG const SPAWN_DEBUG
; kanto ; kanto
@ -100,6 +100,8 @@ NUM_MAP_PALETTES EQU const_value
const SPAWN_FAST_SHIP const SPAWN_FAST_SHIP
NUM_SPAWNS EQU const_value NUM_SPAWNS EQU const_value
SPAWN_N_A EQU -1
; Flypoints indexes (see data/maps/flypoints.asm) ; Flypoints indexes (see data/maps/flypoints.asm)
const_def const_def
; johto ; johto

View File

@ -199,6 +199,7 @@ NUM_SPRITEMOVEDATA EQU const_value
const SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE ; 19 const SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE ; 19
const SPRITEMOVEFN_BOULDERDUST ; 1a const SPRITEMOVEFN_BOULDERDUST ; 1a
const SPRITEMOVEFN_GRASS ; 1b const SPRITEMOVEFN_GRASS ; 1b
NUM_SPRITEMOVEFN EQU const_value
; StepTypesJumptable indexes (see engine/overworld/map_objects.asm) ; StepTypesJumptable indexes (see engine/overworld/map_objects.asm)
const_def const_def
@ -228,6 +229,7 @@ NUM_SPRITEMOVEDATA EQU const_value
const STEP_TYPE_17 ; 17 const STEP_TYPE_17 ; 17
const STEP_TYPE_DELETE ; 18 const STEP_TYPE_DELETE ; 18
const STEP_TYPE_SKYFALL_TOP ; 19 const STEP_TYPE_SKYFALL_TOP ; 19
NUM_STEP_TYPES EQU const_value
; ObjectActionPairPointers indexes (see engine/overworld/map_object_action.asm) ; ObjectActionPairPointers indexes (see engine/overworld/map_object_action.asm)
const_def const_def
@ -248,6 +250,7 @@ NUM_SPRITEMOVEDATA EQU const_value
const OBJECT_ACTION_BOULDER_DUST ; 0e const OBJECT_ACTION_BOULDER_DUST ; 0e
const OBJECT_ACTION_GRASS_SHAKE ; 0f const OBJECT_ACTION_GRASS_SHAKE ; 0f
const OBJECT_ACTION_SKYFALL ; 10 const OBJECT_ACTION_SKYFALL ; 10
NUM_OBJECT_ACTIONS EQU const_value
; Facings indexes (see data/sprites/facings.asm) ; Facings indexes (see data/sprites/facings.asm)
const_def const_def
@ -283,6 +286,7 @@ NUM_SPRITEMOVEDATA EQU const_value
const FACING_BOULDER_DUST_2 ; 1d const FACING_BOULDER_DUST_2 ; 1d
const FACING_GRASS_1 ; 1e const FACING_GRASS_1 ; 1e
const FACING_GRASS_2 ; 1f const FACING_GRASS_2 ; 1f
NUM_FACINGS EQU const_value
; DoPlayerMovement.DoStep arguments (see engine/overworld/player_movement.asm) ; DoPlayerMovement.DoStep arguments (see engine/overworld/player_movement.asm)
const_def const_def
@ -294,3 +298,4 @@ NUM_SPRITEMOVEDATA EQU const_value
const STEP_TURN ; 5 const STEP_TURN ; 5
const STEP_BACK_LEDGE ; 6 const STEP_BACK_LEDGE ; 6
const STEP_WALK_IN_PLACE ; 7 const STEP_WALK_IN_PLACE ; 7
NUM_STEPS EQU const_value

View File

@ -63,6 +63,7 @@
const MONMENUITEM_MOVE ; 19 const MONMENUITEM_MOVE ; 19
const MONMENUITEM_MAIL ; 20 const MONMENUITEM_MAIL ; 20
const MONMENUITEM_ERROR ; 21 const MONMENUITEM_ERROR ; 21
NUM_MONMENUITEMS EQU const_value - 1
; MonMenuOptions categories ; MonMenuOptions categories
MONMENU_FIELD_MOVE EQU 0 MONMENU_FIELD_MOVE EQU 0
@ -86,6 +87,7 @@ HMENURETURN_ASM EQU %11111111
const PARTYMENUACTION_GIVE_MON_FEMALE ; unused const PARTYMENUACTION_GIVE_MON_FEMALE ; unused
const PARTYMENUACTION_GIVE_ITEM const PARTYMENUACTION_GIVE_ITEM
const PARTYMENUACTION_MOBILE ; mobile const PARTYMENUACTION_MOBILE ; mobile
NUM_PARTYMENUACTIONS EQU const_value
; PrintPartyMenuActionText arguments (see engine/pokemon/party_menu.asm) ; PrintPartyMenuActionText arguments (see engine/pokemon/party_menu.asm)
const_next $f0 const_next $f0
const PARTYMENUTEXT_HEAL_PSN const PARTYMENUTEXT_HEAL_PSN

View File

@ -285,6 +285,7 @@ NUM_ATTACKS EQU const_value - 1
const ANIM_WOBBLE ; 113 const ANIM_WOBBLE ; 113
const ANIM_SHAKE ; 114 const ANIM_SHAKE ; 114
const ANIM_HIT_CONFUSION ; 115 const ANIM_HIT_CONFUSION ; 115
NUM_BATTLE_ANIMS EQU const_value - 1
; wNumHits uses offsets from ANIM_MISS ; wNumHits uses offsets from ANIM_MISS
const_def const_def

View File

@ -157,3 +157,4 @@
const EFFECT_BEAT_UP const EFFECT_BEAT_UP
const EFFECT_FLY const EFFECT_FLY
const EFFECT_DEFENSE_CURL const EFFECT_DEFENSE_CURL
NUM_MOVE_EFECTS EQU const_value

View File

@ -107,6 +107,7 @@
const MUSIC_SUICUNE_BATTLE ; 64 const MUSIC_SUICUNE_BATTLE ; 64
const MUSIC_BATTLE_TOWER_LOBBY ; 65 const MUSIC_BATTLE_TOWER_LOBBY ; 65
const MUSIC_MOBILE_CENTER ; 66 const MUSIC_MOBILE_CENTER ; 66
NUM_MUSIC_SONGS EQU const_value
; GetMapMusic picks music for this value (see home/map.asm) ; GetMapMusic picks music for this value (see home/map.asm)
MUSIC_MAHOGANY_MART EQU $64 MUSIC_MAHOGANY_MART EQU $64

View File

@ -1,14 +1,16 @@
; npctrade struct members (see data/events/npc_trades.asm) ; npctrade struct members (see data/events/npc_trades.asm)
NPCTRADE_DIALOG EQU 0 ; db rsreset
NPCTRADE_GIVEMON EQU 1 ; db NPCTRADE_DIALOG rb
NPCTRADE_GETMON EQU 2 ; db NPCTRADE_GIVEMON rb
NPCTRADE_NICK EQU 3 ; ds MON_NAME_LENGTH NPCTRADE_GETMON rb
NPCTRADE_DVS EQU 14 ; dw NPCTRADE_NICK rb MON_NAME_LENGTH
NPCTRADE_ITEM EQU 16 ; db NPCTRADE_DVS rw
NPCTRADE_OT_ID EQU 17 ; dw NPCTRADE_ITEM rb
NPCTRADE_OT_NAME EQU 19 ; ds NAME_LENGTH NPCTRADE_OT_ID rw
NPCTRADE_GENDER EQU 30 ; db NPCTRADE_OT_NAME rb NAME_LENGTH
NPCTRADE_PADDING EQU 31 ; db NPCTRADE_GENDER rb
NPCTRADE_PADDING rb
NPCTRADE_STRUCT_LENGTH EQU _RS
; NPCTrades indexes (see data/events/npc_trades.asm) ; NPCTrades indexes (see data/events/npc_trades.asm)
const_def const_def

View File

@ -38,6 +38,7 @@
const PHONE_HIKER_PARRY const PHONE_HIKER_PARRY
const PHONE_PICNICKER_ERIN const PHONE_PICNICKER_ERIN
const PHONE_BUENA const PHONE_BUENA
NUM_PHONE_CONTACTS EQU const_value - 1
; SpecialPhoneCallList indexes (see data/phone/special_calls.asm) ; SpecialPhoneCallList indexes (see data/phone/special_calls.asm)
const_def const_def
@ -50,6 +51,8 @@
const SPECIALCALL_BIKESHOP const SPECIALCALL_BIKESHOP
const SPECIALCALL_WORRIED const SPECIALCALL_WORRIED
const SPECIALCALL_MASTERBALL const SPECIALCALL_MASTERBALL
NUM_SPECIALCALLS EQU const_value - 1
SPECIALCALL_SIZE EQU 6
; phone struct members ; phone struct members
const_def const_def

View File

@ -1,30 +1,35 @@
; base data struct members (see data/pokemon/base_stats/*.asm) ; base data struct members (see data/pokemon/base_stats/*.asm)
BASE_DEX_NO EQUS "(wBaseDexNo - wCurBaseData)" rsreset
BASE_STATS EQUS "(wBaseStats - wCurBaseData)" BASE_DEX_NO rb
BASE_HP EQUS "(wBaseHP - wCurBaseData)" BASE_STATS rb NUM_STATS
BASE_ATK EQUS "(wBaseAttack - wCurBaseData)" rsset BASE_STATS
BASE_SPD EQUS "(wBaseSpeed - wCurBaseData)" BASE_HP rb
BASE_SAT EQUS "(wBaseSpecialAttack - wCurBaseData)" BASE_ATK rb
BASE_SDF EQUS "(wBaseSpecialDefense - wCurBaseData)" BASE_DEF rb
BASE_TYPES EQUS "(wBaseType - wCurBaseData)" BASE_SPD rb
BASE_TYPE_1 EQUS "(wBaseType1 - wCurBaseData)" BASE_SAT rb
BASE_TYPE_2 EQUS "(wBaseType2 - wCurBaseData)" BASE_SDF rb
BASE_CATCH_RATE EQUS "(wBaseCatchRate - wCurBaseData)" BASE_TYPES rw
BASE_EXP EQUS "(wBaseExp - wCurBaseData)" rsset BASE_TYPES
BASE_ITEMS EQUS "(wBaseItems - wCurBaseData)" BASE_TYPE_1 rb
BASE_ITEM_1 EQUS "(wBaseItem1 - wCurBaseData)" BASE_TYPE_2 rb
BASE_ITEM_2 EQUS "(wBaseItem2 - wCurBaseData)" BASE_CATCH_RATE rb
BASE_GENDER EQUS "(wBaseGender - wCurBaseData)" BASE_EXP rb
BASE_UNKNOWN_1 EQUS "(wBaseUnknown1 - wCurBaseData)" BASE_ITEMS rw
BASE_EGG_STEPS EQUS "(wBaseEggSteps - wCurBaseData)" rsset BASE_ITEMS
BASE_UNKNOWN_2 EQUS "(wBaseUnknown2 - wCurBaseData)" BASE_ITEM_1 rb
BASE_PIC_SIZE EQUS "(wBasePicSize - wCurBaseData)" BASE_ITEM_2 rb
BASE_FRONTPIC EQUS "(wBaseUnusedFrontpic - wCurBaseData)" BASE_GENDER rb
BASE_BACKPIC EQUS "(wBaseUnusedBackpic - wCurBaseData)" BASE_UNKNOWN_1 rb
BASE_GROWTH_RATE EQUS "(wBaseGrowthRate - wCurBaseData)" BASE_EGG_STEPS rb
BASE_EGG_GROUPS EQUS "(wBaseEggGroups - wCurBaseData)" BASE_UNKNOWN_2 rb
BASE_TMHM EQUS "(wBaseTMHM - wCurBaseData)" BASE_PIC_SIZE rb
BASE_DATA_SIZE EQUS "(wCurBaseDataEnd - wCurBaseData)" BASE_FRONTPIC rw
BASE_BACKPIC rw
BASE_GROWTH_RATE rb
BASE_EGG_GROUPS rb
BASE_TMHM rb (NUM_TM_HM_TUTOR + 7) / 8
BASE_DATA_SIZE EQU _RS
; gender ratio constants ; gender ratio constants
GENDER_F0 EQU 0 percent GENDER_F0 EQU 0 percent
@ -67,39 +72,43 @@ GENDER_UNKNOWN EQU -1
NUM_DEX_ENTRY_BANKS EQU 4 NUM_DEX_ENTRY_BANKS EQU 4
; party_struct members (see macros/wram.asm) ; party_struct members (see macros/wram.asm)
MON_SPECIES EQUS "(wPartyMon1Species - wPartyMon1)" rsreset
MON_ITEM EQUS "(wPartyMon1Item - wPartyMon1)" MON_SPECIES rb
MON_MOVES EQUS "(wPartyMon1Moves - wPartyMon1)" MON_ITEM rb
MON_ID EQUS "(wPartyMon1ID - wPartyMon1)" MON_MOVES rb NUM_MOVES
MON_EXP EQUS "(wPartyMon1Exp - wPartyMon1)" MON_ID rw
MON_STAT_EXP EQUS "(wPartyMon1StatExp - wPartyMon1)" MON_EXP rb 3
MON_HP_EXP EQUS "(wPartyMon1HPExp - wPartyMon1)" MON_STAT_EXP rw NUM_EXP_STATS
MON_ATK_EXP EQUS "(wPartyMon1AtkExp - wPartyMon1)" rsset MON_STAT_EXP
MON_DEF_EXP EQUS "(wPartyMon1DefExp - wPartyMon1)" MON_HP_EXP rw
MON_SPD_EXP EQUS "(wPartyMon1SpdExp - wPartyMon1)" MON_ATK_EXP rw
MON_SPC_EXP EQUS "(wPartyMon1SpcExp - wPartyMon1)" MON_DEF_EXP rw
MON_DVS EQUS "(wPartyMon1DVs - wPartyMon1)" MON_SPD_EXP rw
MON_PP EQUS "(wPartyMon1PP - wPartyMon1)" MON_SPC_EXP rw
MON_HAPPINESS EQUS "(wPartyMon1Happiness - wPartyMon1)" MON_DVS rw
MON_PKRUS EQUS "(wPartyMon1PokerusStatus - wPartyMon1)" MON_PP rb NUM_MOVES
MON_CAUGHTDATA EQUS "(wPartyMon1CaughtData - wPartyMon1)" MON_HAPPINESS rb
MON_CAUGHTLEVEL EQUS "(wPartyMon1CaughtLevel - wPartyMon1)" MON_PKRUS rb
MON_CAUGHTTIME EQUS "(wPartyMon1CaughtTime - wPartyMon1)" MON_CAUGHTDATA rw
MON_CAUGHTGENDER EQUS "(wPartyMon1CaughtGender - wPartyMon1)" rsset MON_CAUGHTDATA
MON_CAUGHTLOCATION EQUS "(wPartyMon1CaughtLocation - wPartyMon1)" MON_CAUGHTTIME rb
MON_LEVEL EQUS "(wPartyMon1Level - wPartyMon1)" MON_CAUGHTGENDER rb
MON_STATUS EQUS "(wPartyMon1Status - wPartyMon1)" rsset MON_CAUGHTDATA
MON_HP EQUS "(wPartyMon1HP - wPartyMon1)" MON_CAUGHTLEVEL rb
MON_MAXHP EQUS "(wPartyMon1MaxHP - wPartyMon1)" MON_CAUGHTLOCATION rb
MON_ATK EQUS "(wPartyMon1Attack - wPartyMon1)" MON_LEVEL rb
MON_DEF EQUS "(wPartyMon1Defense - wPartyMon1)" BOXMON_STRUCT_LENGTH EQU _RS
MON_SPD EQUS "(wPartyMon1Speed - wPartyMon1)" MON_STATUS rb 2
MON_SAT EQUS "(wPartyMon1SpclAtk - wPartyMon1)" MON_HP rw
MON_SDF EQUS "(wPartyMon1SpclDef - wPartyMon1)" MON_MAXHP rw
BOXMON_STRUCT_LENGTH EQUS "(wPartyMon1BoxEnd - wPartyMon1)" MON_ATK rw
PARTYMON_STRUCT_LENGTH EQUS "(wPartyMon1StructEnd - wPartyMon1)" MON_DEF rw
MON_SPD rw
MON_SAT rw
MON_SDF rw
PARTYMON_STRUCT_LENGTH EQU _RS
NICKNAMED_MON_STRUCT_LENGTH EQUS "(PARTYMON_STRUCT_LENGTH + MON_NAME_LENGTH)" NICKNAMED_MON_STRUCT_LENGTH EQU PARTYMON_STRUCT_LENGTH + MON_NAME_LENGTH
REDMON_STRUCT_LENGTH EQU 44 REDMON_STRUCT_LENGTH EQU 44
; caught data ; caught data
@ -116,6 +125,8 @@ CAUGHT_BY_BOY EQU 2
CAUGHT_EGG_LEVEL EQU 1 CAUGHT_EGG_LEVEL EQU 1
MON_CRY_LENGTH EQU 6
; maximum number of party pokemon ; maximum number of party pokemon
PARTY_LENGTH EQU 6 PARTY_LENGTH EQU 6
@ -199,6 +210,7 @@ NUM_TREEMON_SETS EQU const_value
const HAPPINESS_REVIVALHERB ; 11 const HAPPINESS_REVIVALHERB ; 11
const HAPPINESS_GROOMING ; 12 const HAPPINESS_GROOMING ; 12
const HAPPINESS_GAINLEVELATHOME ; 13 const HAPPINESS_GAINLEVELATHOME ; 13
NUM_HAPPINESS_CHANGES EQU const_value - 1
; significant happiness values ; significant happiness values
BASE_HAPPINESS EQU 70 BASE_HAPPINESS EQU 70

View File

@ -15,6 +15,7 @@
const POKE_FLUTE_RADIO ; 08 const POKE_FLUTE_RADIO ; 08
const UNOWN_RADIO ; 09 const UNOWN_RADIO ; 09
const EVOLUTION_RADIO ; 0a const EVOLUTION_RADIO ; 0a
NUM_RADIO_CHANNELS EQU const_value
; internal indexes for channel segments ; internal indexes for channel segments
const OAKS_POKEMON_TALK_2 ; 0b const OAKS_POKEMON_TALK_2 ; 0b
const OAKS_POKEMON_TALK_3 ; 0c const OAKS_POKEMON_TALK_3 ; 0c
@ -93,6 +94,7 @@
const POKEDEX_SHOW_6 ; 55 const POKEDEX_SHOW_6 ; 55
const POKEDEX_SHOW_7 ; 56 const POKEDEX_SHOW_7 ; 56
const POKEDEX_SHOW_8 ; 57 const POKEDEX_SHOW_8 ; 57
NUM_RADIO_SEGMENTS EQU const_value
; PlayRadio.StationPointers indexes (see engine/pokegear/pokegear.asm) ; PlayRadio.StationPointers indexes (see engine/pokegear/pokegear.asm)
const_def const_def
@ -106,9 +108,6 @@
const MAPRADIO_LETS_ALL_SING const MAPRADIO_LETS_ALL_SING
const MAPRADIO_ROCKET const MAPRADIO_ROCKET
; OaksPKMNTalkRoutes size (see data/radio/oaks_pkmn_talk_routes.asm)
NUM_OAKS_POKEMON_TALK_ROUTES EQU 15
; These tables in engine/pokegear/radio.asm are all sized to a power of 2 ; These tables in engine/pokegear/radio.asm are all sized to a power of 2
; so there's no need for a rejection sampling loop ; so there's no need for a rejection sampling loop
NUM_OAKS_POKEMON_TALK_ADVERBS EQU 16 ; OaksPKMNTalk8.Adverbs NUM_OAKS_POKEMON_TALK_ADVERBS EQU 16 ; OaksPKMNTalk8.Adverbs

View File

@ -175,6 +175,7 @@ NUM_CMDQUEUE_TYPES EQU const_value
const FLOOR_10F const FLOOR_10F
const FLOOR_11F const FLOOR_11F
const FLOOR_ROOF const FLOOR_ROOF
NUM_FLOORS EQU const_value
; showemote arguments ; showemote arguments
; Emotes indexes (see data/sprites/emotes.asm) ; Emotes indexes (see data/sprites/emotes.asm)
@ -191,7 +192,9 @@ NUM_CMDQUEUE_TYPES EQU const_value
const EMOTE_ROD ; 9 const EMOTE_ROD ; 9
const EMOTE_BOULDER_DUST ; 10 const EMOTE_BOULDER_DUST ; 10
const EMOTE_GRASS_RUSTLE ; 11 const EMOTE_GRASS_RUSTLE ; 11
NUM_EMOTES EQU const_value
EMOTE_FROM_MEM EQU -1 EMOTE_FROM_MEM EQU -1
EMOTE_LENGTH EQU 6
; fruittree arguments ; fruittree arguments
; FruitTreeItems indexes (see data/items/fruit_trees.asm) ; FruitTreeItems indexes (see data/items/fruit_trees.asm)
@ -236,6 +239,7 @@ NUM_FRUIT_TREES EQU const_value - 1
const DECODESC_RIGHT_DOLL ; 2 const DECODESC_RIGHT_DOLL ; 2
const DECODESC_BIG_DOLL ; 3 const DECODESC_BIG_DOLL ; 3
const DECODESC_CONSOLE ; 4 const DECODESC_CONSOLE ; 4
NUM_DECODESCS EQU const_value
; swarm arguments ; swarm arguments
; StoreSwarmMapIndices arguments ; StoreSwarmMapIndices arguments

View File

@ -210,3 +210,5 @@
const SFX_TWO_PC_BEEPS ; cc const SFX_TWO_PC_BEEPS ; cc
const SFX_4_NOTE_DITTY ; cd const SFX_4_NOTE_DITTY ; cd
const SFX_TWINKLE ; ce const SFX_TWINKLE ; ce
NUM_SFX EQU const_value

View File

@ -79,6 +79,7 @@ NUM_SPRITEANIMDICT_ENTRIES EQU 10
const SPRITE_ANIM_INDEX_INTRO_UNOWN_F ; 2a const SPRITE_ANIM_INDEX_INTRO_UNOWN_F ; 2a
const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY ; 2b const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY ; 2b
const SPRITE_ANIM_INDEX_CELEBI ; 2c const SPRITE_ANIM_INDEX_CELEBI ; 2c
NUM_SPRITE_ANIM_INDEXES EQU const_value
; DoAnimFrame.Jumptable indexes (see engine/gfx/sprite_anims.asm) ; DoAnimFrame.Jumptable indexes (see engine/gfx/sprite_anims.asm)
const_def const_def
@ -117,6 +118,7 @@ NUM_SPRITEANIMDICT_ENTRIES EQU 10
const SPRITE_ANIM_SEQ_INTRO_UNOWN ; 20 const SPRITE_ANIM_SEQ_INTRO_UNOWN ; 20
const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21 const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21
const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22 const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22
NUM_SPRITE_ANIM_SEQS EQU const_value
; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm) ; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm)
const_def const_def
@ -186,6 +188,7 @@ NUM_SPRITEANIMDICT_ENTRIES EQU 10
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f
const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40 const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40
const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41 const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41
NUM_SPRITE_ANIM_FRAMESETS EQU const_value
; SpriteAnimOAMData indexes (see data/sprite_anims/oam.asm) ; SpriteAnimOAMData indexes (see data/sprite_anims/oam.asm)
const_def const_def
@ -329,3 +332,4 @@ NUM_SPRITEANIMDICT_ENTRIES EQU 10
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 ; 89 const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 ; 89
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 ; 8a const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 ; 8a
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 ; 8b const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 ; 8b
NUM_SPRITE_ANIM_OAMSETS EQU const_value

View File

@ -104,6 +104,7 @@
const SPRITE_ENTEI ; 64 const SPRITE_ENTEI ; 64
const SPRITE_RAIKOU ; 65 const SPRITE_RAIKOU ; 65
const SPRITE_STANDING_YOUNGSTER ; 66 const SPRITE_STANDING_YOUNGSTER ; 66
NUM_OVERWORLD_SPRITES EQU const_value - 1
; SpriteMons indexes (see data/sprites/sprite_mons.asm) ; SpriteMons indexes (see data/sprites/sprite_mons.asm)
const_next $80 const_next $80
@ -143,6 +144,7 @@ SPRITE_POKEMON EQU const_value
const SPRITE_GYARADOS ; a0 const SPRITE_GYARADOS ; a0
const SPRITE_LUGIA ; a1 const SPRITE_LUGIA ; a1
const SPRITE_HO_OH ; a2 const SPRITE_HO_OH ; a2
NUM_POKEMON_SPRITES EQU const_value - SPRITE_POKEMON
; special GetMonSprite values (see engine/overworld/overworld.asm) ; special GetMonSprite values (see engine/overworld/overworld.asm)
const_next $e0 const_next $e0

View File

@ -36,6 +36,13 @@
const TILESET_KABUTO_WORD_ROOM ; 22 const TILESET_KABUTO_WORD_ROOM ; 22
const TILESET_OMANYTE_WORD_ROOM ; 23 const TILESET_OMANYTE_WORD_ROOM ; 23
const TILESET_AERODACTYL_WORD_ROOM ; 24 const TILESET_AERODACTYL_WORD_ROOM ; 24
NUM_TILESETS EQU const_value - 1
; wTileset struct size
TILESET_LENGTH EQU 15
; roof length (see gfx/tilesets/roofs)
ROOF_LENGTH EQU 9
; bg palette values (see gfx/tilesets/*_palette_map.asm) ; bg palette values (see gfx/tilesets/*_palette_map.asm)
; TilesetBGPalette indexes (see gfx/tilesets/bg_tiles.pal) ; TilesetBGPalette indexes (see gfx/tilesets/bg_tiles.pal)

View File

@ -25,6 +25,7 @@ CHRIS EQU __trainer_class__
const PHONECONTACT_BILL const PHONECONTACT_BILL
const PHONECONTACT_ELM const PHONECONTACT_ELM
const PHONECONTACT_BUENA const PHONECONTACT_BUENA
NUM_NONTRAINER_PHONECONTACTS EQU const_value - 1
KRIS EQU __trainer_class__ KRIS EQU __trainer_class__
trainerclass FALKNER ; 1 trainerclass FALKNER ; 1
@ -702,4 +703,4 @@ KRIS EQU __trainer_class__
trainerclass MYSTICALMAN ; 43 trainerclass MYSTICALMAN ; 43
const EUSINE const EUSINE
NUM_TRAINER_CLASSES EQU __trainer_class__ NUM_TRAINER_CLASSES EQU __trainer_class__ - 1

View File

@ -34,4 +34,6 @@ SPECIAL EQU const_value
const DARK const DARK
TYPES_END EQU const_value TYPES_END EQU const_value
NUM_TYPES EQU TYPES_END + UNUSED_TYPES - UNUSED_TYPES_END NUM_TYPES EQU TYPES_END + UNUSED_TYPES - UNUSED_TYPES_END - 1 ; discount BIRD
POKEDEX_TYPE_STRING_LENGTH EQU 9

View File

@ -4,6 +4,7 @@
BattleCommandPointers: BattleCommandPointers:
; entries correspond to macros/scripts/battle_commands.asm ; entries correspond to macros/scripts/battle_commands.asm
table_width 2, BattleCommandPointers
dw BattleCommand_CheckTurn dw BattleCommand_CheckTurn
dw BattleCommand_CheckObedience dw BattleCommand_CheckObedience
dw BattleCommand_UsedMoveText dw BattleCommand_UsedMoveText
@ -179,3 +180,4 @@ BattleCommandPointers:
dw BattleCommand_SuperEffectiveLoopText dw BattleCommand_SuperEffectiveLoopText
dw BattleCommand_StartLoop dw BattleCommand_StartLoop
dw BattleCommand_Curl dw BattleCommand_Curl
assert_table_length NUM_EFFECT_COMMANDS

View File

@ -1,5 +1,6 @@
BattleAnimFrameData: BattleAnimFrameData:
; entries correspond to BATTLEANIMFRAMESET_* constants ; entries correspond to BATTLEANIMFRAMESET_* constants
table_width 2, BattleAnimFrameData
dw .Frameset_00 ; BATTLEANIMFRAMESET_00 dw .Frameset_00 ; BATTLEANIMFRAMESET_00
dw .Frameset_01 ; BATTLEANIMFRAMESET_01 dw .Frameset_01 ; BATTLEANIMFRAMESET_01
dw .Frameset_02 ; BATTLEANIMFRAMESET_02 dw .Frameset_02 ; BATTLEANIMFRAMESET_02
@ -185,6 +186,7 @@ BattleAnimFrameData:
dw .Frameset_b6 ; BATTLEANIMFRAMESET_B6 dw .Frameset_b6 ; BATTLEANIMFRAMESET_B6
dw .Frameset_b7 ; BATTLEANIMFRAMESET_B7 dw .Frameset_b7 ; BATTLEANIMFRAMESET_B7
dw .Frameset_b8 ; BATTLEANIMFRAMESET_B8 dw .Frameset_b8 ; BATTLEANIMFRAMESET_B8
assert_table_length NUM_BATTLEANIMFRAMESETS
.Frameset_00: .Frameset_00:
frame BATTLEANIMOAMSET_00, 6 frame BATTLEANIMOAMSET_00, 6

View File

@ -1,5 +1,6 @@
BattleAnimOAMData: BattleAnimOAMData:
; entries correspond to BATTLEANIMOAMSET_* constants ; entries correspond to BATTLEANIMOAMSET_* constants
table_width 4, BattleAnimOAMData
; vtile offset, data length, data pointer ; vtile offset, data length, data pointer
dbbw $00, 16, .OAMData_00 ; BATTLEANIMOAMSET_00 dbbw $00, 16, .OAMData_00 ; BATTLEANIMOAMSET_00
dbbw $04, 9, .OAMData_01 ; BATTLEANIMOAMSET_01 dbbw $04, 9, .OAMData_01 ; BATTLEANIMOAMSET_01
@ -217,6 +218,7 @@ BattleAnimOAMData:
dbbw $00, 6, .OAMData_d5 ; BATTLEANIMOAMSET_D5 dbbw $00, 6, .OAMData_d5 ; BATTLEANIMOAMSET_D5
dbbw $00, 14, .OAMData_d6 ; BATTLEANIMOAMSET_D6 dbbw $00, 14, .OAMData_d6 ; BATTLEANIMOAMSET_D6
dbbw $00, 12, .OAMData_d7 ; BATTLEANIMOAMSET_D7 dbbw $00, 12, .OAMData_d7 ; BATTLEANIMOAMSET_D7
assert_table_length NUM_BATTLEANIMOAMSETS
.OAMData_11: .OAMData_11:
dbsprite -1, -1, 4, 0, $00, $0 dbsprite -1, -1, 4, 0, $00, $0

View File

@ -6,6 +6,7 @@ ENDM
AnimObjGFX: AnimObjGFX:
; entries correspond to ANIM_GFX_* constants ; entries correspond to ANIM_GFX_* constants
table_width 4, AnimObjGFX
anim_obj_gfx 0, AnimObj00GFX anim_obj_gfx 0, AnimObj00GFX
anim_obj_gfx 21, AnimObjHitGFX anim_obj_gfx 21, AnimObjHitGFX
anim_obj_gfx 6, AnimObjCutGFX anim_obj_gfx 6, AnimObjCutGFX
@ -48,3 +49,4 @@ AnimObjGFX:
anim_obj_gfx 24, AnimObjAeroblastGFX anim_obj_gfx 24, AnimObjAeroblastGFX
anim_obj_gfx 1, NULL anim_obj_gfx 1, NULL
anim_obj_gfx 1, NULL anim_obj_gfx 1, NULL
assert_table_length NUM_ANIM_GFX + 1

View File

@ -18,6 +18,7 @@ ENDM
BattleAnimObjects: BattleAnimObjects:
; entries correspond to ANIM_OBJ_* constants ; entries correspond to ANIM_OBJ_* constants
table_width BATTLEANIMOBJ_LENGTH, BattleAnimObjects
; ANIM_OBJ_HIT_BIG_YFIX ; ANIM_OBJ_HIT_BIG_YFIX
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_HIT_YFIX ; ANIM_OBJ_HIT_YFIX
@ -394,3 +395,4 @@ BattleAnimObjects:
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_ENEMY, ANIM_GFX_PLAYERHEAD battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_ENEMY, ANIM_GFX_PLAYERHEAD
; ANIM_OBJ_PLAYERHEAD_2ROW ; ANIM_OBJ_PLAYERHEAD_2ROW
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_PLAYER, ANIM_GFX_ENEMYFEET battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_PLAYER, ANIM_GFX_ENEMYFEET
assert_table_length NUM_ANIM_OBJS

View File

@ -2,6 +2,8 @@ BattleTowerTrainers:
; The trainer class is not used in Crystal 1.0 due to a bug. ; The trainer class is not used in Crystal 1.0 due to a bug.
; Instead, the sixth character in the trainer's name is used. ; Instead, the sixth character in the trainer's name is used.
; See BattleTowerText in engine/events/battle_tower/trainer_text.asm. ; See BattleTowerText in engine/events/battle_tower/trainer_text.asm.
table_width (NAME_LENGTH - 1) + 1, BattleTowerTrainers
; name, class
db "HANSON@@@@", FISHER db "HANSON@@@@", FISHER
db "SAWYER@@@@", POKEMANIAC db "SAWYER@@@@", POKEMANIAC
db "MASUDA@@@@", GUITARIST db "MASUDA@@@@", GUITARIST
@ -23,6 +25,7 @@ BattleTowerTrainers:
db "KAUFMAN@@@", SWIMMERM db "KAUFMAN@@@", SWIMMERM
db "LANCASTER@", SKIER db "LANCASTER@", SKIER
db "McMAHILL@@", CAMPER db "McMAHILL@@", CAMPER
assert_table_length BATTLETOWER_NUM_UNIQUE_MON
; The following can only be sampled in Crystal 1.1. ; The following can only be sampled in Crystal 1.1.
db "OBRIEN@@@@", GENTLEMAN db "OBRIEN@@@@", GENTLEMAN
db "FROST@@@@@", BEAUTY db "FROST@@@@@", BEAUTY
@ -73,3 +76,4 @@ BattleTowerTrainers:
db "DYKSTRA@@@", SWIMMERF db "DYKSTRA@@@", SWIMMERF
db "EATON@@@@@", BIKER db "EATON@@@@@", BIKER
db "WONG@@@@@@", FIREBREATHER db "WONG@@@@@@", FIREBREATHER
assert_table_length BATTLETOWER_NUM_UNIQUE_TRAINERS

View File

@ -1,5 +1,6 @@
BattleTowerMons: BattleTowerMons:
; 10 groups (one per floor level) of 21 mons (BATTLETOWER_NUM_UNIQUE_MON). ; 10 groups (one per floor level) of 21 mons (BATTLETOWER_NUM_UNIQUE_MON).
table_width NICKNAMED_MON_STRUCT_LENGTH, BattleTowerMons
; BattleTowerMons group 1 ; BattleTowerMons group 1
@ -5489,3 +5490,5 @@ BattleTowerMons:
bigdw 214 ; SAtk bigdw 214 ; SAtk
bigdw 214 ; SDef bigdw 214 ; SDef
db "RANTA-N@@@@" db "RANTA-N@@@@"
assert_table_length 10 * BATTLETOWER_NUM_UNIQUE_MON

View File

@ -1,6 +1,7 @@
BattleTowerTrainerData:: ; ??? BattleTowerTrainerData:: ; ???
; 70 tables (BATTLETOWER_NUM_UNIQUE_TRAINERS) of 18 two-argument entries (total size BATTLETOWER_TRAINERDATALENGTH). ; 70 tables (BATTLETOWER_NUM_UNIQUE_TRAINERS) of 18 two-argument entries (total size BATTLETOWER_TRAINERDATALENGTH).
; Second argument points to an entry in Unknown_170470, to which the first argument is compared. ; Second argument points to an entry in Unknown_170470, to which the first argument is compared.
table_width BATTLETOWER_TRAINERDATALENGTH, BattleTowerTrainerData
; BattleTowerTrainerData table 1: ; BattleTowerTrainerData table 1:
db $37, 3 db $37, 3
@ -1401,3 +1402,5 @@ BattleTowerTrainerData:: ; ???
db $22, 7 db $22, 7
db $d1, 0 db $d1, 0
db $32, 13 db $32, 13
assert_table_length BATTLETOWER_NUM_UNIQUE_TRAINERS

View File

@ -1,5 +1,6 @@
TileCollisionTable:: TileCollisionTable::
; entries correspond to COLL_* constants ; entries correspond to COLL_* constants
table_width 1, TileCollisionTable
db LAND_TILE ; COLL_FLOOR db LAND_TILE ; COLL_FLOOR
db LAND_TILE ; COLL_01 db LAND_TILE ; COLL_01
db LAND_TILE ; 02 db LAND_TILE ; 02
@ -256,3 +257,4 @@ TileCollisionTable::
db LAND_TILE ; fd db LAND_TILE ; fd
db LAND_TILE ; fe db LAND_TILE ; fe
db WALL_TILE ; COLL_FF db WALL_TILE ; COLL_FF
assert_table_length $100

View File

@ -1,5 +1,6 @@
CreditsStringsPointers: CreditsStringsPointers:
; entries correspond to constants/credits_constants.asm ; entries correspond to constants/credits_constants.asm
table_width 2, CreditsStringsPointers
dw .SatoshiTajiri dw .SatoshiTajiri
dw .JunichiMasuda dw .JunichiMasuda
dw .TetsuyaWatanabe dw .TetsuyaWatanabe
@ -103,6 +104,7 @@ CreditsStringsPointers:
dw .UsCoordination dw .UsCoordination
dw .TextTranslation dw .TextTranslation
dw .PaadTesting dw .PaadTesting
assert_table_length NUM_CREDITS_STRINGS
.SatoshiTajiri: db " SATOSHI TAJIRI@" ; "たじり さとし@" .SatoshiTajiri: db " SATOSHI TAJIRI@" ; "たじり さとし@"
.JunichiMasuda: db " JUNICHI MASUDA@" ; "ますだ じゅんいち@" .JunichiMasuda: db " JUNICHI MASUDA@" ; "ますだ じゅんいち@"

View File

@ -1,5 +1,5 @@
decoration: MACRO decoration: MACRO
; type, name, command, event flag, tile/sprite ; type, name, action, event flag, tile/sprite
db \1, \2, \3 db \1, \2, \3
dw \4 dw \4
db \5 db \5
@ -7,6 +7,7 @@ ENDM
DecorationAttributes: DecorationAttributes:
; entries correspond to deco constants ; entries correspond to deco constants
table_width DECOATTR_STRUCT_LENGTH, DecorationAttributes
decoration DECO_PLANT, 0, 0, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 decoration DECO_PLANT, 0, 0, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0
decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BED, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0 decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BED, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0
decoration DECO_BED, FEATHERY_BED, SET_UP_BED, EVENT_DECO_BED_1, $1b decoration DECO_BED, FEATHERY_BED, SET_UP_BED, EVENT_DECO_BED_1, $1b
@ -60,3 +61,4 @@ DecorationAttributes:
decoration DECO_DOLL, TENTACOOL, SET_UP_DOLL, EVENT_DECO_TENTACOOL_DOLL, SPRITE_TENTACOOL decoration DECO_DOLL, TENTACOOL, SET_UP_DOLL, EVENT_DECO_TENTACOOL_DOLL, SPRITE_TENTACOOL
decoration DECO_PLANT, GOLD_TROPHY, SET_UP_DOLL, EVENT_DECO_GOLD_TROPHY, SPRITE_GOLD_TROPHY decoration DECO_PLANT, GOLD_TROPHY, SET_UP_DOLL, EVENT_DECO_GOLD_TROPHY, SPRITE_GOLD_TROPHY
decoration DECO_PLANT, SILVER_TROPHY, SET_UP_DOLL, EVENT_DECO_SILVER_TROPHY, SPRITE_SILVER_TROPHY decoration DECO_PLANT, SILVER_TROPHY, SET_UP_DOLL, EVENT_DECO_SILVER_TROPHY, SPRITE_SILVER_TROPHY
assert_table_length NUM_DECOS + NUM_DECO_CATEGORIES + 1

View File

@ -1,5 +1,7 @@
DecorationIDs: DecorationIDs:
; see constants/deco_constants.asm ; see constants/deco_constants.asm
table_width 1, DecorationIDs
db DECO_FEATHERY_BED ; 2 db DECO_FEATHERY_BED ; 2
db DECO_PINK_BED ; 3 db DECO_PINK_BED ; 3
db DECO_POLKADOT_BED ; 4 db DECO_POLKADOT_BED ; 4
@ -52,4 +54,5 @@ DecorationIDs:
db DECO_GOLD_TROPHY_DOLL ; 33 db DECO_GOLD_TROPHY_DOLL ; 33
db DECO_SILVER_TROPHY_DOLL ; 34 db DECO_SILVER_TROPHY_DOLL ; 34
assert_table_length NUM_DECOS
db -1 ; end db -1 ; end

View File

@ -14,3 +14,5 @@ DefaultOptions:
db $00 db $00
db $00 db $00
.End
assert DefaultOptions.End - DefaultOptions == wOptionsEnd - wOptions

View File

@ -1,5 +1,5 @@
BugCatchingContestantEventFlagTable: BugCatchingContestantEventFlagTable:
; there are NUM_BUG_CONTESTANTS entries table_width 2, BugCatchingContestantEventFlagTable
dw EVENT_BUG_CATCHING_CONTESTANT_1A dw EVENT_BUG_CATCHING_CONTESTANT_1A
dw EVENT_BUG_CATCHING_CONTESTANT_2A dw EVENT_BUG_CATCHING_CONTESTANT_2A
dw EVENT_BUG_CATCHING_CONTESTANT_3A dw EVENT_BUG_CATCHING_CONTESTANT_3A
@ -10,3 +10,4 @@ BugCatchingContestantEventFlagTable:
dw EVENT_BUG_CATCHING_CONTESTANT_8A dw EVENT_BUG_CATCHING_CONTESTANT_8A
dw EVENT_BUG_CATCHING_CONTESTANT_9A dw EVENT_BUG_CATCHING_CONTESTANT_9A
dw EVENT_BUG_CATCHING_CONTESTANT_10A dw EVENT_BUG_CATCHING_CONTESTANT_10A
assert_table_length NUM_BUG_CONTESTANTS

View File

@ -1,5 +1,5 @@
BugContestantPointers: BugContestantPointers:
; there are NUM_BUG_CONTESTANTS + 1 entries table_width 2, BugContestantPointers
dw BugContestant_BugCatcherDon ; this reverts back to the player dw BugContestant_BugCatcherDon ; this reverts back to the player
dw BugContestant_BugCatcherDon dw BugContestant_BugCatcherDon
dw BugContestant_BugCatcherEd dw BugContestant_BugCatcherEd
@ -11,6 +11,7 @@ BugContestantPointers:
dw BugContestant_BugCatcherJosh dw BugContestant_BugCatcherJosh
dw BugContestant_YoungsterSamuel dw BugContestant_YoungsterSamuel
dw BugContestant_SchoolboyKipp dw BugContestant_SchoolboyKipp
assert_table_length NUM_BUG_CONTESTANTS + 1
; contestant format: ; contestant format:
; db class, id ; db class, id

View File

@ -1,5 +1,6 @@
ElevatorFloorNames: ElevatorFloorNames:
; entries correspond to FLOOR_* constants ; entries correspond to FLOOR_* constants
table_width 2, ElevatorFloorNames
dw .B4F dw .B4F
dw .B3F dw .B3F
dw .B2F dw .B2F
@ -16,6 +17,7 @@ ElevatorFloorNames:
dw ._10F dw ._10F
dw ._11F dw ._11F
dw .ROOF dw .ROOF
assert_table_length NUM_FLOORS
.B4F: db "B4F@" .B4F: db "B4F@"
.B3F: db "B3F@" .B3F: db "B3F@"

View File

@ -6,6 +6,7 @@ ENDM
EngineFlags: EngineFlags:
; entries correspond to ENGINE_* constants ; entries correspond to ENGINE_* constants
table_width 3, EngineFlags
; pokegear ; pokegear
engine_flag wPokegearFlags, POKEGEAR_RADIO_CARD_F engine_flag wPokegearFlags, POKEGEAR_RADIO_CARD_F
@ -197,3 +198,5 @@ EngineFlags:
engine_flag wSwarmFlags, SWARMFLAGS_DUNSPARCE_SWARM_F engine_flag wSwarmFlags, SWARMFLAGS_DUNSPARCE_SWARM_F
engine_flag wSwarmFlags, SWARMFLAGS_YANMA_SWARM_F engine_flag wSwarmFlags, SWARMFLAGS_YANMA_SWARM_F
assert_table_length NUM_ENGINE_FLAGS

View File

@ -1,6 +1,7 @@
HappinessChanges: HappinessChanges:
; entries correspond to HAPPINESS_* constants ; entries correspond to HAPPINESS_* constants
; change if happiness < 100, change if happiness < 200, change otherwise table_width 3, HappinessChanges
; change if happiness < 100, change if happiness < 200, change otherwise
db +5, +3, +2 ; Gained a level db +5, +3, +2 ; Gained a level
db +5, +3, +2 ; Vitamin db +5, +3, +2 ; Vitamin
db +1, +1, +0 ; X Item db +1, +1, +0 ; X Item
@ -20,3 +21,4 @@ HappinessChanges:
db -15, -15, -20 ; Used Revival Herb (bitter) db -15, -15, -20 ; Used Revival Herb (bitter)
db +3, +3, +1 ; Grooming db +3, +3, +1 ; Grooming
db +10, +6, +4 ; Gained a level in the place where it was caught db +10, +6, +4 ; Gained a level in the place where it was caught
assert_table_length NUM_HAPPINESS_CHANGES

View File

@ -8,6 +8,7 @@ ENDM
NPCTrades: NPCTrades:
; entries correspond to NPCTRADE_* constants ; entries correspond to NPCTRADE_* constants
table_width NPCTRADE_STRUCT_LENGTH, NPCTrades
npctrade TRADE_DIALOGSET_COLLECTOR, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_GENDER_EITHER npctrade TRADE_DIALOGSET_COLLECTOR, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_GENDER_EITHER
npctrade TRADE_DIALOGSET_COLLECTOR, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_GENDER_EITHER npctrade TRADE_DIALOGSET_COLLECTOR, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_GENDER_EITHER
npctrade TRADE_DIALOGSET_HAPPY, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, 29189, "TIM@@@@@@@@", TRADE_GENDER_EITHER npctrade TRADE_DIALOGSET_HAPPY, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, 29189, "TIM@@@@@@@@", TRADE_GENDER_EITHER
@ -15,3 +16,4 @@ NPCTrades:
npctrade TRADE_DIALOGSET_NEWBIE, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, 15616, "CHRIS@@@@@@", TRADE_GENDER_EITHER npctrade TRADE_DIALOGSET_NEWBIE, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, 15616, "CHRIS@@@@@@", TRADE_GENDER_EITHER
npctrade TRADE_DIALOGSET_GIRL, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_GENDER_EITHER npctrade TRADE_DIALOGSET_GIRL, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_GENDER_EITHER
npctrade TRADE_DIALOGSET_COLLECTOR, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, 50082, "FOREST@@@@@", TRADE_GENDER_EITHER npctrade TRADE_DIALOGSET_COLLECTOR, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, 50082, "FOREST@@@@@", TRADE_GENDER_EITHER
assert_table_length NUM_NPC_TRADES

View File

@ -1,9 +1,12 @@
NUM_ODD_EGGS EQU 14
prob: MACRO prob: MACRO
prob_total = prob_total + (\1) prob_total = prob_total + (\1)
dw prob_total * $ffff / 100 dw prob_total * $ffff / 100
ENDM ENDM
OddEggProbabilities: OddEggProbabilities:
table_width 2, OddEggProbabilities
prob_total = 0 prob_total = 0
; Pichu ; Pichu
prob 8 prob 8
@ -26,8 +29,10 @@ prob_total = 0
; Tyrogue ; Tyrogue
prob 10 prob 10
prob 1 prob 1
assert_table_length NUM_ODD_EGGS
OddEggs: OddEggs:
table_width NICKNAMED_MON_STRUCT_LENGTH, OddEggs
db PICHU db PICHU
db NO_ITEM db NO_ITEM
@ -392,3 +397,5 @@ OddEggs:
bigdw 9 ; SAtk bigdw 9 ; SAtk
bigdw 9 ; SDef bigdw 9 ; SDef
db "EGG@@@@@@@@" db "EGG@@@@@@@@"
assert_table_length NUM_ODD_EGGS

View File

@ -1,5 +1,6 @@
IconPointers: IconPointers:
; entries correspond to ICON_* constants ; entries correspond to ICON_* constants (see constants/icon_constants.asm)
table_width 2, IconPointers
dw NullIcon dw NullIcon
dw PoliwagIcon dw PoliwagIcon
dw JigglypuffIcon dw JigglypuffIcon
@ -39,3 +40,4 @@ IconPointers:
dw SlowpokeIcon dw SlowpokeIcon
dw SudowoodoIcon dw SudowoodoIcon
dw BigmonIcon dw BigmonIcon
assert_table_length NUM_ICONS + 1

View File

@ -6,7 +6,8 @@ item_attribute: MACRO
ENDM ENDM
ItemAttributes: ItemAttributes:
; entries correspond to item ids ; entries correspond to item ids (see constants/item_constants.asm)
table_width ITEMATTR_STRUCT_LENGTH, ItemAttributes
; MASTER_BALL ; MASTER_BALL
item_attribute 0, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE item_attribute 0, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; ULTRA_BALL ; ULTRA_BALL
@ -387,6 +388,7 @@ ItemAttributes:
item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; ITEM_BE ; ITEM_BE
item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
assert_table_length NUM_ITEMS
; TM01 ; TM01
item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM02 ; TM02
@ -491,6 +493,7 @@ ItemAttributes:
item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM50 ; TM50
item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
assert_table_length NUM_ITEMS + NUM_TMS + 2 ; count ITEM_C3 and ITEM_DC
; HM01 ; HM01
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM02 ; HM02
@ -505,6 +508,7 @@ ItemAttributes:
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM07 ; HM07
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
assert_table_length NUM_ITEMS + NUM_TMS + 2 + NUM_HMS ; count ITEM_C3 and ITEM_DC
; ITEM_FA ; ITEM_FA
item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; $fb ; $fb
@ -519,3 +523,4 @@ ItemAttributes:
item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; $00 ; $00
item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
assert_table_length $100

View File

@ -1,5 +1,5 @@
BuenaPrizeItems: BuenaPrizeItems:
; there are NUM_BUENA_PRIZES entries table_width 2, BuenaPrizeItems
db ULTRA_BALL, 2 db ULTRA_BALL, 2
db FULL_RESTORE, 2 db FULL_RESTORE, 2
db NUGGET, 3 db NUGGET, 3
@ -9,3 +9,4 @@ BuenaPrizeItems:
db CARBOS, 5 db CARBOS, 5
db CALCIUM, 5 db CALCIUM, 5
db HP_UP, 5 db HP_UP, 5
assert_table_length NUM_BUENA_PRIZES

View File

@ -1,5 +1,6 @@
ItemDescriptions: ItemDescriptions:
; entries correspond to item ids ; entries correspond to item ids (see constants/item_constants.asm)
table_width 2, ItemDescriptions
dw MasterBallDesc dw MasterBallDesc
dw UltraBallDesc dw UltraBallDesc
dw BrightpowderDesc dw BrightpowderDesc
@ -190,6 +191,7 @@ ItemDescriptions:
dw MusicMailDesc dw MusicMailDesc
dw MirageMailDesc dw MirageMailDesc
dw TeruSama25Desc dw TeruSama25Desc
assert_table_length NUM_ITEMS
dw TeruSama26Desc dw TeruSama26Desc
dw TeruSama26Desc dw TeruSama26Desc
dw TeruSama26Desc dw TeruSama26Desc
@ -255,6 +257,7 @@ ItemDescriptions:
dw TeruSama31Desc dw TeruSama31Desc
dw TeruSama32Desc dw TeruSama32Desc
dw TeruSama33Desc dw TeruSama33Desc
assert_table_length $ff
MasterBallDesc: MasterBallDesc:
db "The best BALL. It" db "The best BALL. It"

View File

@ -1,5 +1,6 @@
FruitTreeItems: FruitTreeItems:
; entries correspond to FRUITTREE_* constants ; entries correspond to FRUITTREE_* constants
table_width 1, FruitTreeItems
db BERRY ; ROUTE_29 db BERRY ; ROUTE_29
db BERRY ; ROUTE_30_1 db BERRY ; ROUTE_30_1
db BERRY ; ROUTE_38 db BERRY ; ROUTE_38
@ -30,3 +31,4 @@ FruitTreeItems:
db ICE_BERRY ; PEWTER_CITY_1 db ICE_BERRY ; PEWTER_CITY_1
db MINT_BERRY ; PEWTER_CITY_2 db MINT_BERRY ; PEWTER_CITY_2
db BURNT_BERRY ; FUCHSIA_CITY db BURNT_BERRY ; FUCHSIA_CITY
assert_table_length NUM_FRUIT_TREES

View File

@ -1,5 +1,6 @@
Marts: Marts:
; entries correspond to MART_* constants ; entries correspond to MART_* constants (see constants/mart_constants.asm)
table_width 2, Marts
dw MartCherrygrove dw MartCherrygrove
dw MartCherrygroveDex dw MartCherrygroveDex
dw MartViolet dw MartViolet
@ -34,6 +35,7 @@ Marts:
dw MartMtMoon dw MartMtMoon
dw MartIndigoPlateau dw MartIndigoPlateau
dw MartUnderground dw MartUnderground
assert_table_length NUM_MARTS
MartCherrygrove: MartCherrygrove:
db 4 ; # items db 4 ; # items

View File

@ -6,6 +6,7 @@ ENDM
Landmarks: Landmarks:
; entries correspond to constants/landmark_constants.asm ; entries correspond to constants/landmark_constants.asm
table_width 4, Landmarks
dbbw 0, 0, SpecialMapName dbbw 0, 0, SpecialMapName
landmark 140, 100, NewBarkTownName landmark 140, 100, NewBarkTownName
landmark 128, 100, Route29Name landmark 128, 100, Route29Name
@ -53,6 +54,7 @@ Landmarks:
landmark 112, 72, DarkCaveName landmark 112, 72, DarkCaveName
landmark 124, 88, Route46Name landmark 124, 88, Route46Name
landmark 148, 68, SilverCaveName landmark 148, 68, SilverCaveName
assert_table_length KANTO_LANDMARK
landmark 52, 108, PalletTownName landmark 52, 108, PalletTownName
landmark 52, 92, Route1Name landmark 52, 92, Route1Name
landmark 52, 76, ViridianCityName landmark 52, 76, ViridianCityName
@ -102,6 +104,7 @@ Landmarks:
landmark 12, 100, TohjoFallsName landmark 12, 100, TohjoFallsName
landmark 20, 68, Route28Name landmark 20, 68, Route28Name
landmark 140, 116, FastShipName landmark 140, 116, FastShipName
assert_table_length NUM_LANDMARKS
NewBarkTownName: db "NEW BARK¯TOWN@" NewBarkTownName: db "NEW BARK¯TOWN@"
CherrygroveCityName: db "CHERRYGROVE¯CITY@" CherrygroveCityName: db "CHERRYGROVE¯CITY@"

View File

@ -16,6 +16,7 @@ ENDM
MapGroupPointers:: MapGroupPointers::
; pointers to the first map of each map group ; pointers to the first map of each map group
table_width 2, MapGroupPointers
dw MapGroup_Olivine ; 1 dw MapGroup_Olivine ; 1
dw MapGroup_Mahogany ; 2 dw MapGroup_Mahogany ; 2
dw MapGroup_Dungeons ; 3 dw MapGroup_Dungeons ; 3
@ -42,6 +43,7 @@ MapGroupPointers::
dw MapGroup_NewBark ; 24 dw MapGroup_NewBark ; 24
dw MapGroup_Saffron ; 25 dw MapGroup_Saffron ; 25
dw MapGroup_Cherrygrove ; 26 dw MapGroup_Cherrygrove ; 26
assert_table_length NUM_MAP_GROUPS
MapGroup_Olivine: MapGroup_Olivine:
map OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE map OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE

View File

@ -3,6 +3,7 @@
OutdoorSprites: OutdoorSprites:
; entries correspond to map groups ; entries correspond to map groups
table_width 2, OutdoorSprites
dw OlivineGroupSprites dw OlivineGroupSprites
dw MahoganyGroupSprites dw MahoganyGroupSprites
dw DungeonsGroupSprites dw DungeonsGroupSprites
@ -29,6 +30,7 @@ OutdoorSprites:
dw NewBarkGroupSprites dw NewBarkGroupSprites
dw SaffronGroupSprites dw SaffronGroupSprites
dw CherrygroveGroupSprites dw CherrygroveGroupSprites
assert_table_length NUM_MAP_GROUPS
PalletGroupSprites: PalletGroupSprites:
db SPRITE_SUICUNE db SPRITE_SUICUNE

View File

@ -5,10 +5,12 @@
const ROOF_AZALEA ; 2 const ROOF_AZALEA ; 2
const ROOF_OLIVINE ; 3 const ROOF_OLIVINE ; 3
const ROOF_GOLDENROD ; 4 const ROOF_GOLDENROD ; 4
NUM_ROOFS EQU const_value
MapGroupRoofs: MapGroupRoofs:
; entries correspond to map groups ; entries correspond to map groups
; values are indexes for Roofs (see below) ; values are indexes for Roofs (see below)
table_width 1, MapGroupRoofs
db -1 ; 0 db -1 ; 0
db ROOF_OLIVINE ; 1 (Olivine) db ROOF_OLIVINE ; 1 (Olivine)
db ROOF_AZALEA ; 2 (Mahogany) db ROOF_AZALEA ; 2 (Mahogany)
@ -36,11 +38,14 @@ MapGroupRoofs:
db ROOF_NEW_BARK ; 24 (New Bark) db ROOF_NEW_BARK ; 24 (New Bark)
db -1 ; 25 db -1 ; 25
db ROOF_NEW_BARK ; 26 (Cherrygrove) db ROOF_NEW_BARK ; 26 (Cherrygrove)
assert_table_length NUM_MAP_GROUPS + 1
Roofs: Roofs:
; entries correspond to ROOF_* constants ; entries correspond to ROOF_* constants
table_width ROOF_LENGTH * LEN_2BPP_TILE, Roofs
INCBIN "gfx/tilesets/roofs/new_bark.2bpp" INCBIN "gfx/tilesets/roofs/new_bark.2bpp"
INCBIN "gfx/tilesets/roofs/violet.2bpp" INCBIN "gfx/tilesets/roofs/violet.2bpp"
INCBIN "gfx/tilesets/roofs/azalea.2bpp" INCBIN "gfx/tilesets/roofs/azalea.2bpp"
INCBIN "gfx/tilesets/roofs/olivine.2bpp" INCBIN "gfx/tilesets/roofs/olivine.2bpp"
INCBIN "gfx/tilesets/roofs/goldenrod.2bpp" INCBIN "gfx/tilesets/roofs/goldenrod.2bpp"
assert_table_length NUM_ROOFS

View File

@ -2,6 +2,7 @@
MapGroupRoofSGBPalInds: MapGroupRoofSGBPalInds:
; entries correspond to map groups ; entries correspond to map groups
table_width 1, MapGroupRoofSGBPalInds
db PREDEFPAL_ROUTES db PREDEFPAL_ROUTES
db PREDEFPAL_OLIVINE db PREDEFPAL_OLIVINE
db PREDEFPAL_MAHOGANY db PREDEFPAL_MAHOGANY
@ -29,3 +30,4 @@ MapGroupRoofSGBPalInds:
db PREDEFPAL_NEW_BARK db PREDEFPAL_NEW_BARK
db PREDEFPAL_SAFFRON db PREDEFPAL_SAFFRON
db PREDEFPAL_CHERRYGROVE db PREDEFPAL_CHERRYGROVE
assert_table_length NUM_MAP_GROUPS + 1

View File

@ -6,6 +6,7 @@ ENDM
SpawnPoints: SpawnPoints:
; entries correspond to SPAWN_* constants ; entries correspond to SPAWN_* constants
table_width 4, SpawnPoints
spawn PLAYERS_HOUSE_2F, 3, 3 spawn PLAYERS_HOUSE_2F, 3, 3
spawn VIRIDIAN_POKECENTER_1F, 5, 3 spawn VIRIDIAN_POKECENTER_1F, 5, 3
@ -39,3 +40,5 @@ SpawnPoints:
spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2 spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2
spawn N_A, -1, -1 spawn N_A, -1, -1
assert_table_length NUM_SPAWNS + 1

View File

@ -20,6 +20,7 @@ MonMenuOptionStrings:
MonMenuOptions: MonMenuOptions:
; category, item, value; actions are in PokemonActionSubmenu (see engine/pokemon/mon_menu.asm) ; category, item, value; actions are in PokemonActionSubmenu (see engine/pokemon/mon_menu.asm)
table_width 3, MonMenuOptions
; moves ; moves
db MONMENU_FIELD_MOVE, MONMENUITEM_CUT, CUT db MONMENU_FIELD_MOVE, MONMENUITEM_CUT, CUT
db MONMENU_FIELD_MOVE, MONMENUITEM_FLY, FLY db MONMENU_FIELD_MOVE, MONMENUITEM_FLY, FLY
@ -43,4 +44,5 @@ MonMenuOptions:
db MONMENU_MENUOPTION, MONMENUITEM_MOVE, MONMENUVALUE_MOVE db MONMENU_MENUOPTION, MONMENUITEM_MOVE, MONMENUVALUE_MOVE
db MONMENU_MENUOPTION, MONMENUITEM_MAIL, MONMENUVALUE_MAIL db MONMENU_MENUOPTION, MONMENUITEM_MAIL, MONMENUVALUE_MAIL
db MONMENU_MENUOPTION, MONMENUITEM_ERROR, MONMENUVALUE_ERROR db MONMENU_MENUOPTION, MONMENUITEM_ERROR, MONMENUVALUE_ERROR
db -1 assert_table_length NUM_MONMENUITEMS
db -1 ; end

View File

@ -1,5 +1,6 @@
BattleAnimations:: BattleAnimations::
; entries correspond to constants/move_constants.asm ; entries correspond to constants/move_constants.asm
table_width 2, BattleAnimations
dw BattleAnim_0 dw BattleAnim_0
dw BattleAnim_Pound dw BattleAnim_Pound
dw BattleAnim_KarateChop dw BattleAnim_KarateChop
@ -252,10 +253,12 @@ BattleAnimations::
dw BattleAnim_RockSmash dw BattleAnim_RockSmash
dw BattleAnim_Whirlpool dw BattleAnim_Whirlpool
dw BattleAnim_BeatUp dw BattleAnim_BeatUp
assert_table_length NUM_ATTACKS + 1
dw BattleAnim_252 dw BattleAnim_252
dw BattleAnim_253 dw BattleAnim_253
dw BattleAnim_254 dw BattleAnim_254
dw BattleAnim_SweetScent2 dw BattleAnim_SweetScent2
assert_table_length $100
; $100 ; $100
dw BattleAnim_ThrowPokeBall dw BattleAnim_ThrowPokeBall
dw BattleAnim_SendOutMon dw BattleAnim_SendOutMon
@ -279,6 +282,7 @@ BattleAnimations::
dw BattleAnim_Wobble dw BattleAnim_Wobble
dw BattleAnim_Shake dw BattleAnim_Shake
dw BattleAnim_HitConfusion dw BattleAnim_HitConfusion
assert_table_length NUM_BATTLE_ANIMS + 1
BattleAnim_0: BattleAnim_0:
BattleAnim_252: BattleAnim_252:

View File

@ -1,5 +1,6 @@
MoveDescriptions:: MoveDescriptions::
; entries correspond to move ids (see constants/move_constants.asm) ; entries correspond to move ids (see constants/move_constants.asm)
table_width 2, MoveDescriptions
dw PoundDescription dw PoundDescription
dw KarateChopDescription dw KarateChopDescription
dw DoubleslapDescription dw DoubleslapDescription
@ -251,11 +252,13 @@ MoveDescriptions::
dw RockSmashDescription dw RockSmashDescription
dw WhirlpoolDescription dw WhirlpoolDescription
dw BeatUpDescription dw BeatUpDescription
assert_table_length NUM_ATTACKS
dw MoveFCDescription dw MoveFCDescription
dw MoveFDDescription dw MoveFDDescription
dw MoveFEDescription dw MoveFEDescription
dw MoveFFDescription dw MoveFFDescription
dw Move00Description dw Move00Description
assert_table_length $100
MoveFCDescription: MoveFCDescription:
MoveFDDescription: MoveFDDescription:

View File

@ -1,5 +1,6 @@
MoveEffectsPointers: MoveEffectsPointers:
; entries correspond to EFFECT_* constants ; entries correspond to EFFECT_* constants
table_width 2, MoveEffectsPointers
dw NormalHit dw NormalHit
dw DoSleep dw DoSleep
dw PoisonHit dw PoisonHit
@ -157,3 +158,4 @@ MoveEffectsPointers:
dw BeatUp dw BeatUp
dw Fly dw Fly
dw DefenseCurl dw DefenseCurl
assert_table_length NUM_MOVE_EFECTS

View File

@ -11,7 +11,8 @@ move: MACRO
ENDM ENDM
Moves: Moves:
; entries correspond to constants/move_constants.asm ; entries correspond to move ids (see constants/move_constants.asm)
table_width MOVE_LENGTH, Moves
move POUND, EFFECT_NORMAL_HIT, 40, NORMAL, 100, 35, 0 move POUND, EFFECT_NORMAL_HIT, 40, NORMAL, 100, 35, 0
move KARATE_CHOP, EFFECT_NORMAL_HIT, 50, FIGHTING, 100, 25, 0 move KARATE_CHOP, EFFECT_NORMAL_HIT, 50, FIGHTING, 100, 25, 0
move DOUBLESLAP, EFFECT_MULTI_HIT, 15, NORMAL, 85, 10, 0 move DOUBLESLAP, EFFECT_MULTI_HIT, 15, NORMAL, 85, 10, 0
@ -263,3 +264,4 @@ Moves:
move ROCK_SMASH, EFFECT_DEFENSE_DOWN_HIT, 20, FIGHTING, 100, 15, 50 move ROCK_SMASH, EFFECT_DEFENSE_DOWN_HIT, 20, FIGHTING, 100, 15, 50
move WHIRLPOOL, EFFECT_TRAP_TARGET, 15, WATER, 70, 15, 0 move WHIRLPOOL, EFFECT_TRAP_TARGET, 15, WATER, 70, 15, 0
move BEAT_UP, EFFECT_BEAT_UP, 10, DARK, 100, 10, 0 move BEAT_UP, EFFECT_BEAT_UP, 10, DARK, 100, 10, 0
assert_table_length NUM_ATTACKS

View File

@ -3,6 +3,7 @@
TMHMMoves: TMHMMoves:
; entries correspond to *_TMNUM constants (see constants/item_constants.asm) ; entries correspond to *_TMNUM constants (see constants/item_constants.asm)
table_width 1, TMHMMoves
; TMs ; TMs
n = 1 n = 1
@ -43,4 +44,6 @@ PURGE MOVE_FOR_MT
n = n + 1 n = n + 1
endr endr
assert_table_length NUM_TM_HM_TUTOR
db 0 ; end db 0 ; end

View File

@ -20,6 +20,7 @@ ENDM
PartyMenuQualityPointers: PartyMenuQualityPointers:
; entries correspond to PARTYMENUACTION_* constants ; entries correspond to PARTYMENUACTION_* constants
table_width 2, PartyMenuQualityPointers
dw .Default ; PARTYMENUACTION_CHOOSE_POKEMON dw .Default ; PARTYMENUACTION_CHOOSE_POKEMON
dw .Default ; PARTYMENUACTION_HEALING_ITEM dw .Default ; PARTYMENUACTION_HEALING_ITEM
dw .Default ; PARTYMENUACTION_SWITCH dw .Default ; PARTYMENUACTION_SWITCH
@ -30,6 +31,7 @@ PartyMenuQualityPointers:
dw .Gender ; PARTYMENUACTION_GIVE_MON_FEMALE dw .Gender ; PARTYMENUACTION_GIVE_MON_FEMALE
dw .Default ; PARTYMENUACTION_GIVE_ITEM dw .Default ; PARTYMENUACTION_GIVE_ITEM
dw .Mobile ; PARTYMENUACTION_MOBILE dw .Mobile ; PARTYMENUACTION_MOBILE
assert_table_length NUM_PARTYMENUACTIONS
.Default: partymenuqualities NICKNAMES, HP_BAR, HP_DIGITS, LEVEL, STATUS .Default: partymenuqualities NICKNAMES, HP_BAR, HP_DIGITS, LEVEL, STATUS
.TMHM: partymenuqualities NICKNAMES, TMHM_COMPAT, LEVEL, STATUS .TMHM: partymenuqualities NICKNAMES, TMHM_COMPAT, LEVEL, STATUS

View File

@ -1,11 +1,13 @@
NonTrainerCallerNames: NonTrainerCallerNames:
; entries correspond to PHONECONTACT_* constants ; entries correspond to PHONECONTACT_* constants (see constants/trainer_constants.asm)
table_width 2, NonTrainerCallerNames
dw .none dw .none
dw .mom dw .mom
dw .bikeshop dw .bikeshop
dw .bill dw .bill
dw .elm dw .elm
dw .buena dw .buena
assert_table_length NUM_NONTRAINER_PHONECONTACTS + 1
.none: db "----------@" .none: db "----------@"
.mom: db "MOM:@" .mom: db "MOM:@"

View File

@ -10,6 +10,7 @@ ENDM
PhoneContacts: PhoneContacts:
; entries correspond to PHONE_* constants ; entries correspond to PHONE_* constants
table_width PHONE_CONTACT_SIZE, PhoneContacts
phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
phone TRAINER_NONE, PHONECONTACT_MOM, PLAYERS_HOUSE_1F, ANYTIME, MomPhoneCalleeScript, 0, UnusedPhoneScript phone TRAINER_NONE, PHONECONTACT_MOM, PLAYERS_HOUSE_1F, ANYTIME, MomPhoneCalleeScript, 0, UnusedPhoneScript
phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript
@ -48,3 +49,4 @@ PhoneContacts:
phone HIKER, PARRY1, ROUTE_45, ANYTIME, ParryPhoneCalleeScript, ANYTIME, ParryPhoneCallerScript phone HIKER, PARRY1, ROUTE_45, ANYTIME, ParryPhoneCalleeScript, ANYTIME, ParryPhoneCallerScript
phone PICNICKER, ERIN1, ROUTE_46, ANYTIME, ErinPhoneCalleeScript, ANYTIME, ErinPhoneCallerScript phone PICNICKER, ERIN1, ROUTE_46, ANYTIME, ErinPhoneCalleeScript, ANYTIME, ErinPhoneCallerScript
phone TRAINER_NONE, PHONECONTACT_BUENA, GOLDENROD_DEPT_STORE_ROOF, ANYTIME, BuenaPhoneCalleeScript, ANYTIME, BuenaPhoneCallerScript phone TRAINER_NONE, PHONECONTACT_BUENA, GOLDENROD_DEPT_STORE_ROOF, ANYTIME, BuenaPhoneCalleeScript, ANYTIME, BuenaPhoneCallerScript
assert_table_length NUM_PHONE_CONTACTS + 1

View File

@ -7,6 +7,7 @@ ENDM
SpecialPhoneCallList: SpecialPhoneCallList:
; entries correspond to SPECIALCALL_* constants ; entries correspond to SPECIALCALL_* constants
table_width SPECIALCALL_SIZE, SpecialPhoneCallList
specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript
specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript
specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript
@ -15,3 +16,4 @@ SpecialPhoneCallList:
specialcall SpecialCallWhereverYouAre, PHONECONTACT_BIKESHOP, BikeShopPhoneCallerScript specialcall SpecialCallWhereverYouAre, PHONECONTACT_BIKESHOP, BikeShopPhoneCallerScript
specialcall SpecialCallWhereverYouAre, PHONECONTACT_MOM, MomPhoneLectureScript specialcall SpecialCallWhereverYouAre, PHONECONTACT_MOM, MomPhoneLectureScript
specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript
assert_table_length NUM_SPECIALCALLS

View File

@ -32,6 +32,7 @@ endr
ENDM ENDM
BaseData:: BaseData::
table_width BASE_DATA_SIZE, BaseData
INCLUDE "data/pokemon/base_stats/bulbasaur.asm" INCLUDE "data/pokemon/base_stats/bulbasaur.asm"
INCLUDE "data/pokemon/base_stats/ivysaur.asm" INCLUDE "data/pokemon/base_stats/ivysaur.asm"
INCLUDE "data/pokemon/base_stats/venusaur.asm" INCLUDE "data/pokemon/base_stats/venusaur.asm"
@ -283,5 +284,4 @@ INCLUDE "data/pokemon/base_stats/tyranitar.asm"
INCLUDE "data/pokemon/base_stats/lugia.asm" INCLUDE "data/pokemon/base_stats/lugia.asm"
INCLUDE "data/pokemon/base_stats/ho_oh.asm" INCLUDE "data/pokemon/base_stats/ho_oh.asm"
INCLUDE "data/pokemon/base_stats/celebi.asm" INCLUDE "data/pokemon/base_stats/celebi.asm"
.End: assert_table_length NUM_POKEMON
assert BaseData.End - BaseData == NUM_POKEMON * BASE_DATA_SIZE

View File

@ -5,6 +5,7 @@ ENDM
PokemonCries:: PokemonCries::
; entries correspond to constants/pokemon_constants.asm ; entries correspond to constants/pokemon_constants.asm
table_width MON_CRY_LENGTH, PokemonCries
mon_cry CRY_BULBASAUR, 128, 129 ; BULBASAUR mon_cry CRY_BULBASAUR, 128, 129 ; BULBASAUR
mon_cry CRY_BULBASAUR, 32, 256 ; IVYSAUR mon_cry CRY_BULBASAUR, 32, 256 ; IVYSAUR
mon_cry CRY_BULBASAUR, 0, 320 ; VENUSAUR mon_cry CRY_BULBASAUR, 0, 320 ; VENUSAUR
@ -256,7 +257,9 @@ PokemonCries::
mon_cry CRY_TYPHLOSION, 0, 256 ; LUGIA mon_cry CRY_TYPHLOSION, 0, 256 ; LUGIA
mon_cry CRY_AIPOM, 0, 384 ; HO_OH mon_cry CRY_AIPOM, 0, 384 ; HO_OH
mon_cry CRY_ENTEI, 330, 273 ; CELEBI mon_cry CRY_ENTEI, 330, 273 ; CELEBI
assert_table_length NUM_POKEMON
mon_cry CRY_NIDORAN_M, 0, 0 ; 252 mon_cry CRY_NIDORAN_M, 0, 0 ; 252
mon_cry CRY_NIDORAN_M, 0, 0 ; 253 mon_cry CRY_NIDORAN_M, 0, 0 ; 253
mon_cry CRY_NIDORAN_M, 0, 0 ; 254 mon_cry CRY_NIDORAN_M, 0, 0 ; 254
mon_cry CRY_NIDORAN_M, 0, 0 ; 255 mon_cry CRY_NIDORAN_M, 0, 0 ; 255
assert_table_length $ff

View File

@ -1,5 +1,6 @@
PokedexDataPointerTable: PokedexDataPointerTable:
; entries correspond to constants/pokemon_constants.asm ; entries correspond to constants/pokemon_constants.asm
table_width 2, PokedexDataPointerTable
dw BulbasaurPokedexEntry dw BulbasaurPokedexEntry
dw IvysaurPokedexEntry dw IvysaurPokedexEntry
dw VenusaurPokedexEntry dw VenusaurPokedexEntry
@ -251,3 +252,4 @@ PokedexDataPointerTable:
dw LugiaPokedexEntry dw LugiaPokedexEntry
dw HoOhPokedexEntry dw HoOhPokedexEntry
dw CelebiPokedexEntry dw CelebiPokedexEntry
assert_table_length NUM_POKEMON

View File

@ -1,6 +1,7 @@
; Every Pokémon sorted alphabetically by name. ; Every Pokémon sorted alphabetically by name.
AlphabeticalPokedexOrder: AlphabeticalPokedexOrder:
table_width 1, AlphabeticalPokedexOrder
db ABRA db ABRA
db AERODACTYL db AERODACTYL
db AIPOM db AIPOM
@ -252,3 +253,4 @@ AlphabeticalPokedexOrder:
db YANMA db YANMA
db ZAPDOS db ZAPDOS
db ZUBAT db ZUBAT
assert_table_length NUM_POKEMON

View File

@ -1,6 +1,7 @@
; Every Pokémon sorted in New Pokédex Order. ; Every Pokémon sorted in New Pokédex Order.
NewPokedexOrder: NewPokedexOrder:
table_width 1, NewPokedexOrder
db CHIKORITA db CHIKORITA
db BAYLEEF db BAYLEEF
db MEGANIUM db MEGANIUM
@ -252,3 +253,4 @@ NewPokedexOrder:
db MEWTWO db MEWTWO
db MEW db MEW
db CELEBI db CELEBI
assert_table_length NUM_POKEMON

View File

@ -1,4 +1,5 @@
EggMovePointers:: EggMovePointers::
table_width 2, EggMovePointers
dw BulbasaurEggMoves dw BulbasaurEggMoves
dw NoEggMoves dw NoEggMoves
dw NoEggMoves dw NoEggMoves
@ -250,3 +251,4 @@ EggMovePointers::
dw NoEggMoves dw NoEggMoves
dw NoEggMoves dw NoEggMoves
dw NoEggMoves dw NoEggMoves
assert_table_length NUM_POKEMON

View File

@ -1,6 +1,7 @@
; Evolutions and attacks are grouped together since they're both checked at level-up. ; Evolutions and attacks are grouped together since they're both checked at level-up.
EvosAttacksPointers:: EvosAttacksPointers::
table_width 2, EvosAttacksPointers
dw BulbasaurEvosAttacks dw BulbasaurEvosAttacks
dw IvysaurEvosAttacks dw IvysaurEvosAttacks
dw VenusaurEvosAttacks dw VenusaurEvosAttacks
@ -252,3 +253,4 @@ EvosAttacksPointers::
dw LugiaEvosAttacks dw LugiaEvosAttacks
dw HoOhEvosAttacks dw HoOhEvosAttacks
dw CelebiEvosAttacks dw CelebiEvosAttacks
assert_table_length NUM_POKEMON

View File

@ -1,6 +1,7 @@
; The original base Special stat for each Pokémon from Red/Blue ; The original base Special stat for each Pokémon from Red/Blue
KantoMonSpecials: KantoMonSpecials:
table_width 1, KantoMonSpecials
db 65 ; BULBASAUR db 65 ; BULBASAUR
db 80 ; IVYSAUR db 80 ; IVYSAUR
db 100 ; VENUSAUR db 100 ; VENUSAUR
@ -152,3 +153,4 @@ KantoMonSpecials:
db 100 ; DRAGONITE db 100 ; DRAGONITE
db 154 ; MEWTWO db 154 ; MEWTWO
db 100 ; MEW db 100 ; MEW
assert_table_length JOHTO_POKEMON - 1

View File

@ -1,4 +1,5 @@
Pokered_MonIndices: Pokered_MonIndices:
table_width 1, Pokered_MonIndices
db RHYDON db RHYDON
db KANGASKHAN db KANGASKHAN
db NIDORAN_M db NIDORAN_M
@ -189,7 +190,7 @@ Pokered_MonIndices:
db BELLSPROUT db BELLSPROUT
db WEEPINBELL db WEEPINBELL
db VICTREEBEL db VICTREEBEL
assert_table_length 190 ; gen 1 mon indexes
db CHIKORITA db CHIKORITA
db BAYLEEF db BAYLEEF
db MEGANIUM db MEGANIUM
@ -252,3 +253,4 @@ Pokered_MonIndices:
db QWILFISH db QWILFISH
db WOBBUFFET db WOBBUFFET
db WOBBUFFET db WOBBUFFET
assert_table_length NUM_POKEMON + 1

View File

@ -1,6 +1,7 @@
; party menu icons ; party menu icons
MonMenuIcons: MonMenuIcons:
table_width 1, MonMenuIcons
db ICON_BULBASAUR ; BULBASAUR db ICON_BULBASAUR ; BULBASAUR
db ICON_BULBASAUR ; IVYSAUR db ICON_BULBASAUR ; IVYSAUR
db ICON_BULBASAUR ; VENUSAUR db ICON_BULBASAUR ; VENUSAUR
@ -252,3 +253,4 @@ MonMenuIcons:
db ICON_LUGIA ; LUGIA db ICON_LUGIA ; LUGIA
db ICON_HO_OH ; HO_OH db ICON_HO_OH ; HO_OH
db ICON_HUMANSHAPE ; CELEBI db ICON_HUMANSHAPE ; CELEBI
assert_table_length NUM_POKEMON

View File

@ -1,4 +1,5 @@
PokemonNames:: PokemonNames::
table_width NAME_LENGTH - 1, PokemonNames
db "BULBASAUR@" db "BULBASAUR@"
db "IVYSAUR@@@" db "IVYSAUR@@@"
db "VENUSAUR@@" db "VENUSAUR@@"
@ -250,8 +251,11 @@ PokemonNames::
db "LUGIA@@@@@" db "LUGIA@@@@@"
db "HO-OH@@@@@" db "HO-OH@@@@@"
db "CELEBI@@@@" db "CELEBI@@@@"
assert_table_length NUM_POKEMON
db "?????@@@@@" db "?????@@@@@"
db "EGG@@@@@@@" db "EGG@@@@@@@"
assert_table_length EGG
db "?????@@@@@" db "?????@@@@@"
db "?????@@@@@" db "?????@@@@@"
db "?????@@@@@" db "?????@@@@@"
assert_table_length $100

View File

@ -5,6 +5,9 @@ PokemonPalettes:
; only the middle two colors are included, not black or white. ; only the middle two colors are included, not black or white.
; Shiny palettes are defined directly, not generated. ; Shiny palettes are defined directly, not generated.
; 2 middle palettes, front and shiny, with 2 colors each
table_width PAL_COLOR_SIZE * 2 * 2, PokemonPalettes
; 000 ; 000
RGB 30, 22, 17 RGB 30, 22, 17
RGB 16, 14, 19 RGB 16, 14, 19
@ -515,6 +518,8 @@ INCLUDE "gfx/pokemon/ho_oh/shiny.pal"
INCBIN "gfx/pokemon/celebi/front.gbcpal", middle_colors INCBIN "gfx/pokemon/celebi/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/celebi/shiny.pal" INCLUDE "gfx/pokemon/celebi/shiny.pal"
assert_table_length NUM_POKEMON + 1
; 252 ; 252
RGB 30, 26, 11 RGB 30, 26, 11
RGB 23, 16, 00 RGB 23, 16, 00
@ -525,6 +530,8 @@ INCLUDE "gfx/pokemon/celebi/shiny.pal"
INCBIN "gfx/pokemon/egg/front.gbcpal", middle_colors INCBIN "gfx/pokemon/egg/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/egg/shiny.pal" INCLUDE "gfx/pokemon/egg/shiny.pal"
assert_table_length EGG + 1
; 254 ; 254
RGB 30, 26, 11 RGB 30, 26, 11
RGB 23, 16, 00 RGB 23, 16, 00
@ -538,3 +545,5 @@ INCLUDE "gfx/pokemon/egg/shiny.pal"
; 255 shiny ; 255 shiny
RGB 23, 23, 23 RGB 23, 23, 23
RGB 17, 17, 17 RGB 17, 17, 17
assert_table_length $100

View File

@ -2,6 +2,7 @@
PokemonPicPointers:: PokemonPicPointers::
; entries correspond to Pokémon species, two apiece ; entries correspond to Pokémon species, two apiece
table_width 3 * 2, PokemonPicPointers
dba_pic BulbasaurFrontpic dba_pic BulbasaurFrontpic
dba_pic BulbasaurBackpic dba_pic BulbasaurBackpic
dba_pic IvysaurFrontpic dba_pic IvysaurFrontpic
@ -507,7 +508,9 @@ PokemonPicPointers::
dba_pic HoOhBackpic dba_pic HoOhBackpic
dba_pic CelebiFrontpic dba_pic CelebiFrontpic
dba_pic CelebiBackpic dba_pic CelebiBackpic
assert_table_length NUM_POKEMON
dbw -1, -1 ; unused dbw -1, -1 ; unused
dbw -1, -1 ; unused dbw -1, -1 ; unused
dba_pic EggPic dba_pic EggPic
dbw -1, -1 ; unused dbw -1, -1 ; unused
assert_table_length EGG

View File

@ -1,5 +1,6 @@
UnownPicPointers:: UnownPicPointers::
; entries correspond to Unown letters, two apiece ; entries correspond to Unown letters, two apiece
table_width 3 * 2, UnownPicPointers
dba_pic UnownAFrontpic dba_pic UnownAFrontpic
dba_pic UnownABackpic dba_pic UnownABackpic
dba_pic UnownBFrontpic dba_pic UnownBFrontpic
@ -52,3 +53,4 @@ UnownPicPointers::
dba_pic UnownYBackpic dba_pic UnownYBackpic
dba_pic UnownZFrontpic dba_pic UnownZFrontpic
dba_pic UnownZBackpic dba_pic UnownZBackpic
assert_table_length NUM_UNOWN

View File

@ -9,7 +9,8 @@ ENDM
UnownWords: UnownWords:
; entries correspond to UNOWN_* form constants ; entries correspond to UNOWN_* form constants
dw UnownWordA table_width 2, UnownWords
dw UnownWordA ; unused
dw UnownWordA dw UnownWordA
dw UnownWordB dw UnownWordB
dw UnownWordC dw UnownWordC
@ -36,6 +37,7 @@ UnownWords:
dw UnownWordX dw UnownWordX
dw UnownWordY dw UnownWordY
dw UnownWordZ dw UnownWordZ
assert_table_length NUM_UNOWN + 1
UnownWordA: unownword "ANGRY" UnownWordA: unownword "ANGRY"
UnownWordB: unownword "BEAR" UnownWordB: unownword "BEAR"

View File

@ -1,5 +1,5 @@
BuenasPasswordTable: BuenasPasswordTable:
; there are NUM_PASSWORD_CATEGORIES entries table_width 2, BuenasPasswordTable
dw .JohtoStarters dw .JohtoStarters
dw .Beverages dw .Beverages
dw .HealingItems dw .HealingItems
@ -11,6 +11,7 @@ BuenasPasswordTable:
dw .Moves dw .Moves
dw .XItems dw .XItems
dw .RadioStations dw .RadioStations
assert_table_length NUM_PASSWORD_CATEGORIES
; string type, points, option 1, option 2, option 3 ; string type, points, option 1, option 2, option 3
.JohtoStarters: db BUENA_MON, 10, CYNDAQUIL, TOTODILE, CHIKORITA .JohtoStarters: db BUENA_MON, 10, CYNDAQUIL, TOTODILE, CHIKORITA

View File

@ -1,5 +1,6 @@
RadioChannelSongs: RadioChannelSongs:
; entries correspond to radio channel ids ; entries correspond to radio channel ids (see constants/radio_constants.asm)
table_width 2, RadioChannelSongs
dw MUSIC_POKEMON_TALK dw MUSIC_POKEMON_TALK
dw MUSIC_POKEMON_CENTER dw MUSIC_POKEMON_CENTER
dw MUSIC_TITLE dw MUSIC_TITLE
@ -11,3 +12,4 @@ RadioChannelSongs:
dw MUSIC_POKE_FLUTE_CHANNEL dw MUSIC_POKE_FLUTE_CHANNEL
dw MUSIC_RUINS_OF_ALPH_RADIO dw MUSIC_RUINS_OF_ALPH_RADIO
dw MUSIC_LAKE_OF_RAGE_ROCKET_RADIO dw MUSIC_LAKE_OF_RAGE_ROCKET_RADIO
assert_table_length NUM_RADIO_CHANNELS

View File

@ -1,7 +1,6 @@
; Oak's Pokémon Talk will list wild Pokémon on these maps. ; Oak's Pokémon Talk will list wild Pokémon on these maps.
OaksPKMNTalkRoutes: OaksPKMNTalkRoutes:
; there are NUM_OAKS_POKEMON_TALK_ROUTES entries
map_id ROUTE_29 map_id ROUTE_29
map_id ROUTE_46 map_id ROUTE_46
map_id ROUTE_30 map_id ROUTE_30
@ -17,3 +16,4 @@ OaksPKMNTalkRoutes:
map_id ROUTE_45 map_id ROUTE_45
map_id ROUTE_36 map_id ROUTE_36
map_id ROUTE_31 map_id ROUTE_31
.End

View File

@ -1,5 +1,6 @@
SpriteAnimFrameData: SpriteAnimFrameData:
; entries correspond to SPRITE_ANIM_FRAMESET_* constants ; entries correspond to SPRITE_ANIM_FRAMESET_* constants (see constants/sprite_anim_constants.asm)
table_width 2, SpriteAnimFrameData
dw .Frameset_00 dw .Frameset_00
dw .Frameset_PartyMon dw .Frameset_PartyMon
dw .Frameset_PartyMonWithMail dw .Frameset_PartyMonWithMail
@ -66,6 +67,7 @@ SpriteAnimFrameData:
dw .Frameset_IntroUnownF dw .Frameset_IntroUnownF
dw .Frameset_CelebiLeft dw .Frameset_CelebiLeft
dw .Frameset_CelebiRight dw .Frameset_CelebiRight
assert_table_length NUM_SPRITE_ANIM_FRAMESETS
.Frameset_00: .Frameset_00:
frame SPRITE_ANIM_OAMSET_RED_WALK_1, 32 frame SPRITE_ANIM_OAMSET_RED_WALK_1, 32

View File

@ -1,5 +1,6 @@
SpriteAnimOAMData: SpriteAnimOAMData:
; entries correspond to SPRITE_ANIM_OAMSET_* constants ; entries correspond to SPRITE_ANIM_OAMSET_* constants (see constants/sprite_anim_constants.asm)
table_width 3, SpriteAnimOAMData
; vtile offset, data pointer ; vtile offset, data pointer
dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_1 dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_1
dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_2 dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_2
@ -141,6 +142,7 @@ SpriteAnimOAMData:
dbw $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 dbw $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9
dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10
dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11
assert_table_length NUM_SPRITE_ANIM_OAMSETS
.OAMData_1x1_Palette0: .OAMData_1x1_Palette0:
db 1 db 1

View File

@ -1,5 +1,6 @@
SpriteAnimSeqData: SpriteAnimSeqData:
; entries correspond to SPRITE_ANIM_INDEX_* constants ; entries correspond to SPRITE_ANIM_INDEX_* constants (see constants/sprite_anim_constants.asm)
table_width 3, SpriteAnimSeqData
; frameset, sequence, tile ; frameset, sequence, tile
; SPRITE_ANIM_INDEX_PARTY_MON ; SPRITE_ANIM_INDEX_PARTY_MON
db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, SPRITE_ANIM_DICT_DEFAULT db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, SPRITE_ANIM_DICT_DEFAULT
@ -91,3 +92,4 @@ SpriteAnimSeqData:
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, SPRITE_ANIM_DICT_DEFAULT db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_CELEBI ; SPRITE_ANIM_INDEX_CELEBI
db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
assert_table_length NUM_SPRITE_ANIM_INDEXES

View File

@ -7,6 +7,7 @@ ENDM
Emotes: Emotes:
; entries correspond to EMOTE_* constants ; entries correspond to EMOTE_* constants
table_width EMOTE_LENGTH, Emotes
emote ShockEmote, 4, $f8 emote ShockEmote, 4, $f8
emote QuestionEmote, 4, $f8 emote QuestionEmote, 4, $f8
emote HappyEmote, 4, $f8 emote HappyEmote, 4, $f8
@ -19,3 +20,4 @@ Emotes:
emote FishingRodGFX, 2, $fc emote FishingRodGFX, 2, $fc
emote BoulderDustGFX, 2, $fe emote BoulderDustGFX, 2, $fe
emote GrassRustleGFX, 1, $fe emote GrassRustleGFX, 1, $fe
assert_table_length NUM_EMOTES

View File

@ -1,5 +1,6 @@
Facings: Facings:
; entries correspond to FACING_* constants ; entries correspond to FACING_* constants (see constants/map_object_constants.asm)
table_width 2, Facings
dw FacingStepDown0 dw FacingStepDown0
dw FacingStepDown1 dw FacingStepDown1
dw FacingStepDown2 dw FacingStepDown2
@ -32,10 +33,8 @@ Facings:
dw FacingBoulderDust2 dw FacingBoulderDust2
dw FacingGrass1 dw FacingGrass1
dw FacingGrass2 dw FacingGrass2
.End assert_table_length NUM_FACINGS
dw 0 dw 0 ; end
NUM_FACINGS EQU (Facings.End - Facings) / 2
; Tables used as a reference to transform OAM data. ; Tables used as a reference to transform OAM data.

View File

@ -1,5 +1,6 @@
SpriteMovementData:: SpriteMovementData::
; entries correspond to SPRITEMOVEDATA_* constants ; entries correspond to SPRITEMOVEDATA_* constants
table_width NUM_SPRITEMOVEDATA_FIELDS, SpriteMovementData
; SPRITEMOVEDATA_00 ; SPRITEMOVEDATA_00
db SPRITEMOVEFN_00 ; movement function db SPRITEMOVEFN_00 ; movement function
@ -304,3 +305,5 @@ SpriteMovementData::
db 0 ; flags1 db 0 ; flags1
db 0 ; flags2 db 0 ; flags2
db 0 ; palette flags db 0 ; palette flags
assert_table_length NUM_SPRITEMOVEDATA + 1

View File

@ -1,5 +1,6 @@
SpriteMons: SpriteMons:
; entries correspond to SPRITE_* constants past SPRITE_POKEMON ; entries correspond to SPRITE_* constants past SPRITE_POKEMON
table_width 1, SpriteMons
db UNOWN db UNOWN
db GEODUDE db GEODUDE
db GROWLITHE db GROWLITHE
@ -35,3 +36,4 @@ SpriteMons:
db GYARADOS db GYARADOS
db LUGIA db LUGIA
db HO_OH db HO_OH
assert_table_length NUM_POKEMON_SPRITES

View File

@ -6,6 +6,7 @@ ENDM
OverworldSprites: OverworldSprites:
; entries correspond to SPRITE_* constants ; entries correspond to SPRITE_* constants
table_width NUM_SPRITEDATA_FIELDS, OverworldSprites
overworld_sprite ChrisSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED overworld_sprite ChrisSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED
overworld_sprite ChrisBikeSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED overworld_sprite ChrisBikeSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED
overworld_sprite GameboyKidSpriteGFX, 12, STANDING_SPRITE, PAL_OW_GREEN overworld_sprite GameboyKidSpriteGFX, 12, STANDING_SPRITE, PAL_OW_GREEN
@ -108,3 +109,4 @@ OverworldSprites:
overworld_sprite EnteiSpriteGFX, 4, STILL_SPRITE, PAL_OW_RED overworld_sprite EnteiSpriteGFX, 4, STILL_SPRITE, PAL_OW_RED
overworld_sprite RaikouSpriteGFX, 4, STILL_SPRITE, PAL_OW_RED overworld_sprite RaikouSpriteGFX, 4, STILL_SPRITE, PAL_OW_RED
overworld_sprite StandingYoungsterSpriteGFX, 12, STANDING_SPRITE, PAL_OW_BLUE overworld_sprite StandingYoungsterSpriteGFX, 12, STANDING_SPRITE, PAL_OW_BLUE
assert_table_length NUM_OVERWORLD_SPRITES

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