First Commit

Upload literally everything from the pokecrystal16 expand-move-ID branch
This commit is contained in:
Zeta_Null 2023-09-10 12:35:35 -04:00
commit 2f8a41f833
4618 changed files with 480386 additions and 0 deletions

View file

@ -0,0 +1,41 @@
; Pokémon locked ID table constants
const_def
const LOCKED_MON_ID_MAP_1
const LOCKED_MON_ID_MAP_2
const LOCKED_MON_ID_MAP_3
const LOCKED_MON_ID_MAP_4
const LOCKED_MON_ID_MAP_5
const LOCKED_MON_ID_MAP_6
const LOCKED_MON_ID_MAP_7
const LOCKED_MON_ID_MAP_8
DEF NUM_MAP_LOCKED_MON_IDS EQU const_value + -LOCKED_MON_ID_MAP_1
const LOCKED_MON_ID_DEX_SELECTED
const LOCKED_MON_ID_TRADE_SEND
const LOCKED_MON_ID_TRADE_RECEIVE
const LOCKED_MON_ID_BATTLE_TOWER_1
const LOCKED_MON_ID_BATTLE_TOWER_2
const LOCKED_MON_ID_BATTLE_TOWER_3
const LOCKED_MON_ID_CURRENT_MENU
if const_value > MON_TABLE_LOCKED_ENTRIES
fail "Too many locked Pokémon IDs"
endc
; Move locked ID table constants
const_def
const LOCKED_MOVE_ID_BATTLE_TOWER_MON1_MOVE1
const LOCKED_MOVE_ID_BATTLE_TOWER_MON1_MOVE2
const LOCKED_MOVE_ID_BATTLE_TOWER_MON1_MOVE3
const LOCKED_MOVE_ID_BATTLE_TOWER_MON1_MOVE4
const LOCKED_MOVE_ID_BATTLE_TOWER_MON2_MOVE1
const LOCKED_MOVE_ID_BATTLE_TOWER_MON2_MOVE2
const LOCKED_MOVE_ID_BATTLE_TOWER_MON2_MOVE3
const LOCKED_MOVE_ID_BATTLE_TOWER_MON2_MOVE4
const LOCKED_MOVE_ID_BATTLE_TOWER_MON3_MOVE1
const LOCKED_MOVE_ID_BATTLE_TOWER_MON3_MOVE2
const LOCKED_MOVE_ID_BATTLE_TOWER_MON3_MOVE3
const LOCKED_MOVE_ID_BATTLE_TOWER_MON3_MOVE4
if const_value > MOVE_TABLE_LOCKED_ENTRIES
fail "Too many locked move IDs"
endc

View file

@ -0,0 +1,26 @@
; constants for 16-bit conversion tables:
; _ENTRIES: number of entries in the table; 8-bit indexes $01, $02, ..., _ENTRIES will point to table entries
; _LOCKED_ENTRIES: number of entries in a reserved ID array; valid IDs stored in this table will be protected from
; eviction when the table is garbage collected to make room for new entries (useful to preserve
; IDs being used in the current screen, map script, etc.)
; _CACHE_SIZE: number of entries in a fast-retrieval cache table that attempts to make retrieving recently-used
; indexes faster; must be a power of two (or zero to disable the cache)
; _SAVED_RECENT_INDEXES: circular buffer of recently-allocated IDs, protecting them from eviction and thus simplifying
; code that allocates several IDs at once
; _MINIMUM_RESERVED_INDEX: minimum value that will be treated as a special value and not handled through the table;
; 8-bit IDs that are greater or equal to this value convert to $FF00 + index, and the reverse
; conversion is also valid without using the table. This guarantees that high values (such
; as $FF), often handled as negative indexes, retain their special meanings without requiring
; an allocation
DEF MON_TABLE_ENTRIES EQU 100
DEF MON_TABLE_LOCKED_ENTRIES EQU 30
DEF MON_TABLE_CACHE_SIZE EQU 16
DEF MON_TABLE_SAVED_RECENT_INDEXES EQU 8
DEF MON_TABLE_MINIMUM_RESERVED_INDEX EQU $FD ; ensures that the value for the egg will remain reserved
DEF MOVE_TABLE_ENTRIES EQU 230
DEF MOVE_TABLE_LOCKED_ENTRIES EQU 18
DEF MOVE_TABLE_CACHE_SIZE EQU 16
DEF MOVE_TABLE_SAVED_RECENT_INDEXES EQU 16
DEF MOVE_TABLE_MINIMUM_RESERVED_INDEX EQU $FF

View file

@ -0,0 +1,134 @@
; pitch
; FrequencyTable indexes (see audio/notes.asm)
const_def 1
const C_ ; 1
const C# ; 2
const D_ ; 3
const D# ; 4
const E_ ; 5
const F_ ; 6
const F# ; 7
const G_ ; 8
const G# ; 9
const A_ ; a
const A# ; b
const B_ ; c
DEF NUM_NOTES EQU const_value - 1
; channel
; ChannelPointers indexes (see audio/engine.asm)
const_def
const CHAN1 ; 0
const CHAN2 ; 1
const CHAN3 ; 2
const CHAN4 ; 3
DEF NUM_MUSIC_CHANS EQU const_value
const CHAN5 ; 4
const CHAN6 ; 5
const CHAN7 ; 6
const CHAN8 ; 7
DEF NUM_NOISE_CHANS EQU const_value - NUM_MUSIC_CHANS
DEF NUM_CHANNELS EQU const_value
; channel_struct members (see macros/ram.asm)
rsreset
DEF CHANNEL_MUSIC_ID rw
DEF CHANNEL_MUSIC_BANK rb
DEF CHANNEL_FLAGS1 rb
DEF CHANNEL_FLAGS2 rb
DEF CHANNEL_FLAGS3 rb
DEF CHANNEL_MUSIC_ADDRESS rw
DEF CHANNEL_LAST_MUSIC_ADDRESS rw
rb_skip 2
DEF CHANNEL_NOTE_FLAGS rb
DEF CHANNEL_CONDITION rb
DEF CHANNEL_DUTY_CYCLE rb
DEF CHANNEL_VOLUME_ENVELOPE rb
DEF CHANNEL_FREQUENCY rw
DEF CHANNEL_PITCH rb
DEF CHANNEL_OCTAVE rb
DEF CHANNEL_TRANSPOSITION rb
DEF CHANNEL_NOTE_DURATION rb
DEF CHANNEL_FIELD16 rb
rb_skip
DEF CHANNEL_LOOP_COUNT rb
DEF CHANNEL_TEMPO rw
DEF CHANNEL_TRACKS rb
DEF CHANNEL_DUTY_CYCLE_PATTERN rb
DEF CHANNEL_VIBRATO_DELAY_COUNT rb
DEF CHANNEL_VIBRATO_DELAY rb
DEF CHANNEL_VIBRATO_EXTENT rb
DEF CHANNEL_VIBRATO_RATE rb
DEF CHANNEL_PITCH_SLIDE_TARGET rw
DEF CHANNEL_PITCH_SLIDE_AMOUNT rb
DEF CHANNEL_PITCH_SLIDE_AMOUNT_FRACTION rb
DEF CHANNEL_FIELD25 rb
rb_skip
DEF CHANNEL_PITCH_OFFSET rw
DEF CHANNEL_FIELD29 rb
DEF CHANNEL_FIELD2A rw
DEF CHANNEL_FIELD2C rb
DEF CHANNEL_NOTE_LENGTH rb
DEF CHANNEL_FIELD2E rb
DEF CHANNEL_FIELD2F rb
DEF CHANNEL_FIELD30 rb
rb_skip
DEF CHANNEL_STRUCT_LENGTH EQU _RS
DEF NOISE_CHAN_F EQU 2 ; bit set in CHAN5-CHAN7
; Flags1
const_def
const SOUND_CHANNEL_ON ; 0
const SOUND_SUBROUTINE ; 1
const SOUND_LOOPING ; 2
const SOUND_SFX ; 3
const SOUND_NOISE ; 4
const SOUND_CRY ; 5
; Flags2
const_def
const SOUND_VIBRATO ; 0
const SOUND_PITCH_SLIDE ; 1
const SOUND_DUTY_LOOP ; 2
const SOUND_UNKN_0B ; 3
const SOUND_PITCH_OFFSET ; 4
const SOUND_UNKN_0D ; 5
const SOUND_UNKN_0E ; 6
const SOUND_UNKN_0F ; 7
; Flags3
const_def
const SOUND_VIBRATO_DIR ; 0
const SOUND_PITCH_SLIDE_DIR ; 1
; NoteFlags
const_def
const NOTE_DUTY_OVERRIDE ; 0
const NOTE_FREQ_OVERRIDE ; 1
const NOTE_UNUSED ; 2
const NOTE_PITCH_SWEEP ; 3
const NOTE_NOISE_SAMPLING ; 4
const NOTE_REST ; 5
const NOTE_VIBRATO_OVERRIDE ; 6
; wVolume
DEF VOLUME_SO1_F EQU 3
DEF VOLUME_SO2_F EQU 7
DEF VOLUME_SO1_LEVEL EQU %00000111
DEF VOLUME_SO2_LEVEL EQU %01110000
DEF MAX_VOLUME EQU $77
; wSoundInput
DEF SOUND_INPUT_CH1_F EQU 0
DEF SOUND_INPUT_CH2_F EQU 1
DEF SOUND_INPUT_CH3_F EQU 2
DEF SOUND_INPUT_CH4_F EQU 3
DEF SOUND_INPUT_GLOBAL_F EQU 7
; wLowHealthAlarm
DEF DANGER_PITCH_F EQU 4
DEF DANGER_ON_F EQU 7
; wMusicFade
DEF MUSIC_FADE_IN_F EQU 7

View file

@ -0,0 +1,853 @@
; battle_anim_struct members (see macros/ram.asm)
rsreset
DEF BATTLEANIMSTRUCT_INDEX rb
DEF BATTLEANIMSTRUCT_OAMFLAGS rb
DEF BATTLEANIMSTRUCT_FIX_Y rb
DEF BATTLEANIMSTRUCT_FRAMESET_ID rb
DEF BATTLEANIMSTRUCT_FUNCTION rb
DEF BATTLEANIMSTRUCT_PALETTE rb
DEF BATTLEANIMSTRUCT_TILEID rb
DEF BATTLEANIMOBJ_LENGTH EQU _RS - 1 ; discount BATTLEANIMSTRUCT_INDEX
DEF BATTLEANIMSTRUCT_XCOORD rb
DEF BATTLEANIMSTRUCT_YCOORD rb
DEF BATTLEANIMSTRUCT_XOFFSET rb
DEF BATTLEANIMSTRUCT_YOFFSET rb
DEF BATTLEANIMSTRUCT_PARAM rb
DEF BATTLEANIMSTRUCT_DURATION rb
DEF BATTLEANIMSTRUCT_FRAME rb
DEF BATTLEANIMSTRUCT_JUMPTABLE_INDEX rb
DEF BATTLEANIMSTRUCT_VAR1 rb
DEF BATTLEANIMSTRUCT_VAR2 rb
rb_skip 7
DEF BATTLEANIMSTRUCT_LENGTH EQU _RS
DEF NUM_ANIM_OBJECTS EQU 10 ; see wActiveAnimObjects
; wBattleAnimTileDict size (see wram.asm)
DEF NUM_BATTLEANIMTILEDICT_ENTRIES EQU 5
; Start tile for battle animation graphics
DEF BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture
; BattleAnimObjects indexes (see data/battle_anims/objects.asm)
const_def
const ANIM_OBJ_HIT_BIG_YFIX
const ANIM_OBJ_HIT_YFIX
const ANIM_OBJ_HIT_SMALL_YFIX
const ANIM_OBJ_HIT_BIG
const ANIM_OBJ_HIT
const ANIM_OBJ_HIT_SMALL
const ANIM_OBJ_PUNCH
const ANIM_OBJ_KICK
const ANIM_OBJ_PALM
const ANIM_OBJ_FANG
const ANIM_OBJ_PUNCH_SHAKE
const ANIM_OBJ_EMBER
const ANIM_OBJ_DRAGON_RAGE
const ANIM_OBJ_FLAMETHROWER
const ANIM_OBJ_FIRE_SPIN
const ANIM_OBJ_FIRE_BLAST
const ANIM_OBJ_BURNED
const ANIM_OBJ_BLIZZARD
const ANIM_OBJ_ICE
const ANIM_OBJ_ICE_BEAM
const ANIM_OBJ_RAZOR_LEAF
const ANIM_OBJ_POKE_BALL
const ANIM_OBJ_POKE_BALL_BLOCKED
const ANIM_OBJ_EXPLOSION1
const ANIM_OBJ_EXPLOSION2
const ANIM_OBJ_ACID
const ANIM_OBJ_SLUDGE
const ANIM_OBJ_BETA_BALL_POOF
const ANIM_OBJ_BALL_POOF
const ANIM_OBJ_BIG_ROCK
const ANIM_OBJ_SMALL_ROCK
const ANIM_OBJ_STRENGTH
const ANIM_OBJ_SEISMIC_TOSS
const ANIM_OBJ_BUBBLE
const ANIM_OBJ_SURF
const ANIM_OBJ_SING
const ANIM_OBJ_WATER_GUN
const ANIM_OBJ_HYDRO_PUMP
const ANIM_OBJ_POWDER
const ANIM_OBJ_BEAM
const ANIM_OBJ_BEAM_TIP
const ANIM_OBJ_ICE_BUILDUP
const ANIM_OBJ_FROZEN
const ANIM_OBJ_MASTER_BALL_SPARKLE
const ANIM_OBJ_RECOVER
const ANIM_OBJ_THUNDER1
const ANIM_OBJ_THUNDER2
const ANIM_OBJ_THUNDER3
const ANIM_OBJ_THUNDER_WAVE
const ANIM_OBJ_SPARKS_CIRCLE_BIG
const ANIM_OBJ_THUNDERBOLT_BALL
const ANIM_OBJ_SPARKS_CIRCLE
const ANIM_OBJ_THUNDERSHOCK_BALL
const ANIM_OBJ_CLAMP
const ANIM_OBJ_BITE
const ANIM_OBJ_CUT_DOWN_LEFT
const ANIM_OBJ_CUT_DOWN_RIGHT
const ANIM_OBJ_CUT_UP_RIGHT
const ANIM_OBJ_CUT_LONG_DOWN_LEFT
const ANIM_OBJ_CUT_LONG_DOWN_RIGHT
const ANIM_OBJ_SOLAR_BEAM_CHARGE
const ANIM_OBJ_ABSORB_CENTER
const ANIM_OBJ_GUST
const ANIM_OBJ_VINE_WHIP1
const ANIM_OBJ_VINE_WHIP2
const ANIM_OBJ_RAZOR_WIND1
const ANIM_OBJ_RAZOR_WIND2
const ANIM_OBJ_SONICBOOM_JP
const ANIM_OBJ_WARP
const ANIM_OBJ_ABSORB
const ANIM_OBJ_EGG
const ANIM_OBJ_FOCUS
const ANIM_OBJ_BIND1
const ANIM_OBJ_BIND2
const ANIM_OBJ_LEECH_SEED
const ANIM_OBJ_SOUND
const ANIM_OBJ_WAVE
const ANIM_OBJ_CONFUSE_RAY
const ANIM_OBJ_LEER
const ANIM_OBJ_LEER_TIP
const ANIM_OBJ_SCREEN
const ANIM_OBJ_HARDEN
const ANIM_OBJ_CHICK
const ANIM_OBJ_AMNESIA
const ANIM_OBJ_ASLEEP
const ANIM_OBJ_SKULL
const ANIM_OBJ_DIG_SAND
const ANIM_OBJ_DIG_PILE
const ANIM_OBJ_SAND
const ANIM_OBJ_PARALYZED
const ANIM_OBJ_STRING_SHOT
const ANIM_OBJ_HAZE
const ANIM_OBJ_MIST
const ANIM_OBJ_SMOG
const ANIM_OBJ_POISON_GAS
const ANIM_OBJ_HORN
const ANIM_OBJ_NEEDLE
const ANIM_OBJ_PETAL_DANCE
const ANIM_OBJ_SLUDGE_BOMB
const ANIM_OBJ_PAY_DAY
const ANIM_OBJ_SONICBOOM_JP_UNUSED
const ANIM_OBJ_MIMIC
const ANIM_OBJ_ATTRACT
const ANIM_OBJ_BONEMERANG
const ANIM_OBJ_BONE_CLUB
const ANIM_OBJ_BONE_RUSH
const ANIM_OBJ_SWIFT
const ANIM_OBJ_KINESIS
const ANIM_OBJ_FLASH
const ANIM_OBJ_SHINY
const ANIM_OBJ_SKY_ATTACK
const ANIM_OBJ_LICK
const ANIM_OBJ_WITHDRAW
const ANIM_OBJ_DRAIN
const ANIM_OBJ_GROWTH
const ANIM_OBJ_CONVERSION2
const ANIM_OBJ_SMOKE
const ANIM_OBJ_SMOKESCREEN
const ANIM_OBJ_SWORDS_DANCE
const ANIM_OBJ_SPEED_LINE
const ANIM_OBJ_SHARPEN
const ANIM_OBJ_DEFENSE_CURL
const ANIM_OBJ_METRONOME_HAND
const ANIM_OBJ_METRONOME_SPARKLE
const ANIM_OBJ_DISABLE
const ANIM_OBJ_AGILITY
const ANIM_OBJ_HEART
const ANIM_OBJ_FLAME_WHEEL
const ANIM_OBJ_SACRED_FIRE
const ANIM_OBJ_COTTON_SPORE
const ANIM_OBJ_MILK_DRINK
const ANIM_OBJ_ANGER
const ANIM_OBJ_HEAL_BELL
const ANIM_OBJ_HEAL_BELL_NOTE
const ANIM_OBJ_BATON_PASS
const ANIM_OBJ_LOCK_ON
const ANIM_OBJ_MIND_READER
const ANIM_OBJ_SAFEGUARD
const ANIM_OBJ_PROTECT
const ANIM_OBJ_THIEF
const ANIM_OBJ_OCTAZOOKA
const ANIM_OBJ_PRESENT
const ANIM_OBJ_SPIKES
const ANIM_OBJ_POWDER_SNOW
const ANIM_OBJ_DRAGONBREATH
const ANIM_OBJ_CONVERSION
const ANIM_OBJ_SPIDER_WEB
const ANIM_OBJ_CAKE_UNUSED
const ANIM_OBJ_NIGHTMARE
const ANIM_OBJ_IN_NIGHTMARE
const ANIM_OBJ_LOVELY_KISS
const ANIM_OBJ_SWEET_KISS
const ANIM_OBJ_SKETCH
const ANIM_OBJ_ENCORE_HAND
const ANIM_OBJ_ENCORE_STAR
const ANIM_OBJ_DESTINY_BOND
const ANIM_OBJ_MORNING_SUN
const ANIM_OBJ_GLIMMER
const ANIM_OBJ_MOONLIGHT
const ANIM_OBJ_HIDDEN_POWER
const ANIM_OBJ_CROSS_CHOP1
const ANIM_OBJ_CROSS_CHOP2
const ANIM_OBJ_SANDSTORM
const ANIM_OBJ_ZAP_CANNON
const ANIM_OBJ_SPITE
const ANIM_OBJ_CURSE
const ANIM_OBJ_PERISH_SONG
const ANIM_OBJ_FORESIGHT
const ANIM_OBJ_RAPID_SPIN
const ANIM_OBJ_SWAGGER
const ANIM_OBJ_BELLY_DRUM_HAND
const ANIM_OBJ_BELLY_DRUM_NOTE
const ANIM_OBJ_MEAN_LOOK
const ANIM_OBJ_BETA_PURSUIT
const ANIM_OBJ_SHOOTING_SPARKLE
const ANIM_OBJ_RAIN
const ANIM_OBJ_B0
const ANIM_OBJ_PSYCH_UP
const ANIM_OBJ_ANCIENTPOWER
const ANIM_OBJ_AEROBLAST
const ANIM_OBJ_SHADOW_BALL
const ANIM_OBJ_ROCK_SMASH
const ANIM_OBJ_FLOWER
const ANIM_OBJ_COTTON
const ANIM_OBJ_ENEMYFEET_1ROW
const ANIM_OBJ_PLAYERHEAD_1ROW
const ANIM_OBJ_ENEMYFEET_2ROW
const ANIM_OBJ_PLAYERHEAD_2ROW
DEF NUM_ANIM_OBJS EQU const_value
; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm)
const_def
const BATTLEANIMFUNC_NULL
const BATTLEANIMFUNC_USER_TO_TARGET
const BATTLEANIMFUNC_USER_TO_TARGET_DISAPPEAR
const BATTLEANIMFUNC_MOVE_IN_CIRCLE
const BATTLEANIMFUNC_WAVE_TO_TARGET
const BATTLEANIMFUNC_THROW_TO_TARGET
const BATTLEANIMFUNC_THROW_TO_TARGET_DISAPPEAR
const BATTLEANIMFUNC_DROP
const BATTLEANIMFUNC_USER_TO_TARGET_SPIN
const BATTLEANIMFUNC_SHAKE
const BATTLEANIMFUNC_FIRE_BLAST
const BATTLEANIMFUNC_RAZOR_LEAF
const BATTLEANIMFUNC_BUBBLE
const BATTLEANIMFUNC_SURF
const BATTLEANIMFUNC_SING
const BATTLEANIMFUNC_WATER_GUN
const BATTLEANIMFUNC_EMBER
const BATTLEANIMFUNC_POWDER
const BATTLEANIMFUNC_POKEBALL
const BATTLEANIMFUNC_POKEBALL_BLOCKED
const BATTLEANIMFUNC_RECOVER
const BATTLEANIMFUNC_THUNDER_WAVE
const BATTLEANIMFUNC_CLAMP_ENCORE
const BATTLEANIMFUNC_BITE
const BATTLEANIMFUNC_SOLAR_BEAM
const BATTLEANIMFUNC_GUST
const BATTLEANIMFUNC_RAZOR_WIND
const BATTLEANIMFUNC_KICK
const BATTLEANIMFUNC_ABSORB
const BATTLEANIMFUNC_EGG
const BATTLEANIMFUNC_MOVE_UP
const BATTLEANIMFUNC_WRAP
const BATTLEANIMFUNC_LEECH_SEED
const BATTLEANIMFUNC_SOUND
const BATTLEANIMFUNC_CONFUSE_RAY
const BATTLEANIMFUNC_DIZZY
const BATTLEANIMFUNC_AMNESIA
const BATTLEANIMFUNC_FLOAT_UP
const BATTLEANIMFUNC_DIG
const BATTLEANIMFUNC_STRING
const BATTLEANIMFUNC_PARALYZED
const BATTLEANIMFUNC_SPIRAL_DESCENT
const BATTLEANIMFUNC_POISON_GAS
const BATTLEANIMFUNC_HORN
const BATTLEANIMFUNC_NEEDLE
const BATTLEANIMFUNC_PETAL_DANCE
const BATTLEANIMFUNC_THIEF_PAYDAY
const BATTLEANIMFUNC_ABSORB_CIRCLE
const BATTLEANIMFUNC_BONEMERANG
const BATTLEANIMFUNC_SHINY
const BATTLEANIMFUNC_SKY_ATTACK
const BATTLEANIMFUNC_GROWTH_SWORDS_DANCE
const BATTLEANIMFUNC_SMOKE_FLAME_WHEEL
const BATTLEANIMFUNC_PRESENT_SMOKESCREEN
const BATTLEANIMFUNC_STRENGTH_SEISMIC_TOSS
const BATTLEANIMFUNC_SPEED_LINE
const BATTLEANIMFUNC_SLUDGE
const BATTLEANIMFUNC_METRONOME_HAND
const BATTLEANIMFUNC_METRONOME_SPARKLE_SKETCH
const BATTLEANIMFUNC_AGILITY
const BATTLEANIMFUNC_SACRED_FIRE
const BATTLEANIMFUNC_SAFEGUARD_PROTECT
const BATTLEANIMFUNC_LOCK_ON_MIND_READER
const BATTLEANIMFUNC_SPIKES
const BATTLEANIMFUNC_HEAL_BELL_NOTES
const BATTLEANIMFUNC_BATON_PASS
const BATTLEANIMFUNC_CONVERSION
const BATTLEANIMFUNC_ENCORE_BELLY_DRUM
const BATTLEANIMFUNC_SWAGGER_MORNING_SUN
const BATTLEANIMFUNC_HIDDEN_POWER
const BATTLEANIMFUNC_CURSE
const BATTLEANIMFUNC_PERISH_SONG
const BATTLEANIMFUNC_RAPID_SPIN
const BATTLEANIMFUNC_BETA_PURSUIT
const BATTLEANIMFUNC_RAIN_SANDSTORM
const BATTLEANIMFUNC_ANIM_OBJ_B0
const BATTLEANIMFUNC_PSYCH_UP
const BATTLEANIMFUNC_ANCIENT_POWER
const BATTLEANIMFUNC_ROCK_SMASH
const BATTLEANIMFUNC_COTTON
DEF NUM_BATTLEANIMFUNCS EQU const_value
; BattleAnimFrameData indexes (see data/battle_anims/framesets.asm)
const_def
const BATTLEANIMFRAMESET_00
const BATTLEANIMFRAMESET_01
const BATTLEANIMFRAMESET_02
const BATTLEANIMFRAMESET_03
const BATTLEANIMFRAMESET_04
const BATTLEANIMFRAMESET_05
const BATTLEANIMFRAMESET_06
const BATTLEANIMFRAMESET_07
const BATTLEANIMFRAMESET_08
const BATTLEANIMFRAMESET_09
const BATTLEANIMFRAMESET_0A
const BATTLEANIMFRAMESET_0B
const BATTLEANIMFRAMESET_0C
const BATTLEANIMFRAMESET_0D
const BATTLEANIMFRAMESET_0E
const BATTLEANIMFRAMESET_0F
const BATTLEANIMFRAMESET_10
const BATTLEANIMFRAMESET_11
const BATTLEANIMFRAMESET_12
const BATTLEANIMFRAMESET_13
const BATTLEANIMFRAMESET_14
const BATTLEANIMFRAMESET_15
const BATTLEANIMFRAMESET_16
const BATTLEANIMFRAMESET_17
const BATTLEANIMFRAMESET_18
const BATTLEANIMFRAMESET_19
const BATTLEANIMFRAMESET_1A
const BATTLEANIMFRAMESET_1B
const BATTLEANIMFRAMESET_1C
const BATTLEANIMFRAMESET_1D
const BATTLEANIMFRAMESET_1E
const BATTLEANIMFRAMESET_1F
const BATTLEANIMFRAMESET_20
const BATTLEANIMFRAMESET_21
const BATTLEANIMFRAMESET_22
const BATTLEANIMFRAMESET_23
const BATTLEANIMFRAMESET_24
const BATTLEANIMFRAMESET_25
const BATTLEANIMFRAMESET_26
const BATTLEANIMFRAMESET_27
const BATTLEANIMFRAMESET_28
const BATTLEANIMFRAMESET_29
const BATTLEANIMFRAMESET_2A
const BATTLEANIMFRAMESET_2B
const BATTLEANIMFRAMESET_2C
const BATTLEANIMFRAMESET_2D
const BATTLEANIMFRAMESET_2E
const BATTLEANIMFRAMESET_2F
const BATTLEANIMFRAMESET_30
const BATTLEANIMFRAMESET_31
const BATTLEANIMFRAMESET_32
const BATTLEANIMFRAMESET_33
const BATTLEANIMFRAMESET_34
const BATTLEANIMFRAMESET_35
const BATTLEANIMFRAMESET_36
const BATTLEANIMFRAMESET_37
const BATTLEANIMFRAMESET_38
const BATTLEANIMFRAMESET_39
const BATTLEANIMFRAMESET_3A
const BATTLEANIMFRAMESET_3B
const BATTLEANIMFRAMESET_3C
const BATTLEANIMFRAMESET_3D
const BATTLEANIMFRAMESET_3E
const BATTLEANIMFRAMESET_3F
const BATTLEANIMFRAMESET_40
const BATTLEANIMFRAMESET_41
const BATTLEANIMFRAMESET_42
const BATTLEANIMFRAMESET_43
const BATTLEANIMFRAMESET_44
const BATTLEANIMFRAMESET_45
const BATTLEANIMFRAMESET_46
const BATTLEANIMFRAMESET_47
const BATTLEANIMFRAMESET_48
const BATTLEANIMFRAMESET_49
const BATTLEANIMFRAMESET_4A
const BATTLEANIMFRAMESET_4B
const BATTLEANIMFRAMESET_4C
const BATTLEANIMFRAMESET_4D
const BATTLEANIMFRAMESET_4E
const BATTLEANIMFRAMESET_4F
const BATTLEANIMFRAMESET_50
const BATTLEANIMFRAMESET_51
const BATTLEANIMFRAMESET_52
const BATTLEANIMFRAMESET_53
const BATTLEANIMFRAMESET_54
const BATTLEANIMFRAMESET_55
const BATTLEANIMFRAMESET_56
const BATTLEANIMFRAMESET_57
const BATTLEANIMFRAMESET_58
const BATTLEANIMFRAMESET_59
const BATTLEANIMFRAMESET_5A
const BATTLEANIMFRAMESET_5B
const BATTLEANIMFRAMESET_5C
const BATTLEANIMFRAMESET_5D
const BATTLEANIMFRAMESET_5E
const BATTLEANIMFRAMESET_5F
const BATTLEANIMFRAMESET_60
const BATTLEANIMFRAMESET_61
const BATTLEANIMFRAMESET_62
const BATTLEANIMFRAMESET_63
const BATTLEANIMFRAMESET_64
const BATTLEANIMFRAMESET_65
const BATTLEANIMFRAMESET_66
const BATTLEANIMFRAMESET_67
const BATTLEANIMFRAMESET_68
const BATTLEANIMFRAMESET_69
const BATTLEANIMFRAMESET_6A
const BATTLEANIMFRAMESET_6B
const BATTLEANIMFRAMESET_6C
const BATTLEANIMFRAMESET_6D
const BATTLEANIMFRAMESET_6E
const BATTLEANIMFRAMESET_6F
const BATTLEANIMFRAMESET_70
const BATTLEANIMFRAMESET_71
const BATTLEANIMFRAMESET_72
const BATTLEANIMFRAMESET_73
const BATTLEANIMFRAMESET_74
const BATTLEANIMFRAMESET_75
const BATTLEANIMFRAMESET_76
const BATTLEANIMFRAMESET_77
const BATTLEANIMFRAMESET_78
const BATTLEANIMFRAMESET_79
const BATTLEANIMFRAMESET_7A
const BATTLEANIMFRAMESET_7B
const BATTLEANIMFRAMESET_7C
const BATTLEANIMFRAMESET_7D
const BATTLEANIMFRAMESET_7E
const BATTLEANIMFRAMESET_7F
const BATTLEANIMFRAMESET_80
const BATTLEANIMFRAMESET_81
const BATTLEANIMFRAMESET_82
const BATTLEANIMFRAMESET_83
const BATTLEANIMFRAMESET_84
const BATTLEANIMFRAMESET_85
const BATTLEANIMFRAMESET_86
const BATTLEANIMFRAMESET_87
const BATTLEANIMFRAMESET_88
const BATTLEANIMFRAMESET_89
const BATTLEANIMFRAMESET_8A
const BATTLEANIMFRAMESET_8B
const BATTLEANIMFRAMESET_8C
const BATTLEANIMFRAMESET_8D
const BATTLEANIMFRAMESET_8E
const BATTLEANIMFRAMESET_8F
const BATTLEANIMFRAMESET_90
const BATTLEANIMFRAMESET_91
const BATTLEANIMFRAMESET_92
const BATTLEANIMFRAMESET_93
const BATTLEANIMFRAMESET_94
const BATTLEANIMFRAMESET_95
const BATTLEANIMFRAMESET_96
const BATTLEANIMFRAMESET_97
const BATTLEANIMFRAMESET_98
const BATTLEANIMFRAMESET_99
const BATTLEANIMFRAMESET_9A
const BATTLEANIMFRAMESET_9B
const BATTLEANIMFRAMESET_9C
const BATTLEANIMFRAMESET_9D
const BATTLEANIMFRAMESET_9E
const BATTLEANIMFRAMESET_9F
const BATTLEANIMFRAMESET_A0
const BATTLEANIMFRAMESET_A1
const BATTLEANIMFRAMESET_A2
const BATTLEANIMFRAMESET_A3
const BATTLEANIMFRAMESET_A4
const BATTLEANIMFRAMESET_A5
const BATTLEANIMFRAMESET_A6
const BATTLEANIMFRAMESET_A7
const BATTLEANIMFRAMESET_A8
const BATTLEANIMFRAMESET_A9
const BATTLEANIMFRAMESET_AA
const BATTLEANIMFRAMESET_AB
const BATTLEANIMFRAMESET_AC
const BATTLEANIMFRAMESET_AD
const BATTLEANIMFRAMESET_AE
const BATTLEANIMFRAMESET_AF
const BATTLEANIMFRAMESET_B0
const BATTLEANIMFRAMESET_B1
const BATTLEANIMFRAMESET_B2
const BATTLEANIMFRAMESET_B3
const BATTLEANIMFRAMESET_B4
const BATTLEANIMFRAMESET_B5
const BATTLEANIMFRAMESET_B6
const BATTLEANIMFRAMESET_B7
const BATTLEANIMFRAMESET_B8
DEF NUM_BATTLEANIMFRAMESETS EQU const_value
; BattleAnimOAMData indexes (see data/battle_anims/oam.asm)
const_def
const BATTLEANIMOAMSET_00
const BATTLEANIMOAMSET_01
const BATTLEANIMOAMSET_02
const BATTLEANIMOAMSET_03
const BATTLEANIMOAMSET_04
const BATTLEANIMOAMSET_05
const BATTLEANIMOAMSET_06
const BATTLEANIMOAMSET_07
const BATTLEANIMOAMSET_08
const BATTLEANIMOAMSET_09
const BATTLEANIMOAMSET_0A
const BATTLEANIMOAMSET_0B
const BATTLEANIMOAMSET_0C
const BATTLEANIMOAMSET_0D
const BATTLEANIMOAMSET_0E
const BATTLEANIMOAMSET_0F
const BATTLEANIMOAMSET_10
const BATTLEANIMOAMSET_11
const BATTLEANIMOAMSET_12
const BATTLEANIMOAMSET_13
const BATTLEANIMOAMSET_14
const BATTLEANIMOAMSET_15
const BATTLEANIMOAMSET_16
const BATTLEANIMOAMSET_17
const BATTLEANIMOAMSET_18
const BATTLEANIMOAMSET_19
const BATTLEANIMOAMSET_1A
const BATTLEANIMOAMSET_1B
const BATTLEANIMOAMSET_1C
const BATTLEANIMOAMSET_1D
const BATTLEANIMOAMSET_1E
const BATTLEANIMOAMSET_1F
const BATTLEANIMOAMSET_20
const BATTLEANIMOAMSET_21
const BATTLEANIMOAMSET_22
const BATTLEANIMOAMSET_23
const BATTLEANIMOAMSET_24
const BATTLEANIMOAMSET_25
const BATTLEANIMOAMSET_26
const BATTLEANIMOAMSET_27
const BATTLEANIMOAMSET_28
const BATTLEANIMOAMSET_29
const BATTLEANIMOAMSET_2A
const BATTLEANIMOAMSET_2B
const BATTLEANIMOAMSET_2C
const BATTLEANIMOAMSET_2D
const BATTLEANIMOAMSET_2E
const BATTLEANIMOAMSET_2F
const BATTLEANIMOAMSET_30
const BATTLEANIMOAMSET_31
const BATTLEANIMOAMSET_32
const BATTLEANIMOAMSET_33
const BATTLEANIMOAMSET_34
const BATTLEANIMOAMSET_35
const BATTLEANIMOAMSET_36
const BATTLEANIMOAMSET_37
const BATTLEANIMOAMSET_38
const BATTLEANIMOAMSET_39
const BATTLEANIMOAMSET_3A
const BATTLEANIMOAMSET_3B
const BATTLEANIMOAMSET_3C
const BATTLEANIMOAMSET_3D
const BATTLEANIMOAMSET_3E
const BATTLEANIMOAMSET_3F
const BATTLEANIMOAMSET_40
const BATTLEANIMOAMSET_41
const BATTLEANIMOAMSET_42
const BATTLEANIMOAMSET_43
const BATTLEANIMOAMSET_44
const BATTLEANIMOAMSET_45
const BATTLEANIMOAMSET_46
const BATTLEANIMOAMSET_47
const BATTLEANIMOAMSET_48
const BATTLEANIMOAMSET_49
const BATTLEANIMOAMSET_4A
const BATTLEANIMOAMSET_4B
const BATTLEANIMOAMSET_4C
const BATTLEANIMOAMSET_4D
const BATTLEANIMOAMSET_4E
const BATTLEANIMOAMSET_4F
const BATTLEANIMOAMSET_50
const BATTLEANIMOAMSET_51
const BATTLEANIMOAMSET_52
const BATTLEANIMOAMSET_53
const BATTLEANIMOAMSET_54
const BATTLEANIMOAMSET_55
const BATTLEANIMOAMSET_56
const BATTLEANIMOAMSET_57
const BATTLEANIMOAMSET_58
const BATTLEANIMOAMSET_59
const BATTLEANIMOAMSET_5A
const BATTLEANIMOAMSET_5B
const BATTLEANIMOAMSET_5C
const BATTLEANIMOAMSET_5D
const BATTLEANIMOAMSET_5E
const BATTLEANIMOAMSET_5F
const BATTLEANIMOAMSET_60
const BATTLEANIMOAMSET_61
const BATTLEANIMOAMSET_62
const BATTLEANIMOAMSET_63
const BATTLEANIMOAMSET_64
const BATTLEANIMOAMSET_65
const BATTLEANIMOAMSET_66
const BATTLEANIMOAMSET_67
const BATTLEANIMOAMSET_68
const BATTLEANIMOAMSET_69
const BATTLEANIMOAMSET_6A
const BATTLEANIMOAMSET_6B
const BATTLEANIMOAMSET_6C
const BATTLEANIMOAMSET_6D
const BATTLEANIMOAMSET_6E
const BATTLEANIMOAMSET_6F
const BATTLEANIMOAMSET_70
const BATTLEANIMOAMSET_71
const BATTLEANIMOAMSET_72
const BATTLEANIMOAMSET_73
const BATTLEANIMOAMSET_74
const BATTLEANIMOAMSET_75
const BATTLEANIMOAMSET_76
const BATTLEANIMOAMSET_77
const BATTLEANIMOAMSET_78
const BATTLEANIMOAMSET_79
const BATTLEANIMOAMSET_7A
const BATTLEANIMOAMSET_7B
const BATTLEANIMOAMSET_7C
const BATTLEANIMOAMSET_7D
const BATTLEANIMOAMSET_7E
const BATTLEANIMOAMSET_7F
const BATTLEANIMOAMSET_80
const BATTLEANIMOAMSET_81
const BATTLEANIMOAMSET_82
const BATTLEANIMOAMSET_83
const BATTLEANIMOAMSET_84
const BATTLEANIMOAMSET_85
const BATTLEANIMOAMSET_86
const BATTLEANIMOAMSET_87
const BATTLEANIMOAMSET_88
const BATTLEANIMOAMSET_89
const BATTLEANIMOAMSET_8A
const BATTLEANIMOAMSET_8B
const BATTLEANIMOAMSET_8C
const BATTLEANIMOAMSET_8D
const BATTLEANIMOAMSET_8E
const BATTLEANIMOAMSET_8F
const BATTLEANIMOAMSET_90
const BATTLEANIMOAMSET_91
const BATTLEANIMOAMSET_92
const BATTLEANIMOAMSET_93
const BATTLEANIMOAMSET_94
const BATTLEANIMOAMSET_95
const BATTLEANIMOAMSET_96
const BATTLEANIMOAMSET_97
const BATTLEANIMOAMSET_98
const BATTLEANIMOAMSET_99
const BATTLEANIMOAMSET_9A
const BATTLEANIMOAMSET_9B
const BATTLEANIMOAMSET_9C
const BATTLEANIMOAMSET_9D
const BATTLEANIMOAMSET_9E
const BATTLEANIMOAMSET_9F
const BATTLEANIMOAMSET_A0
const BATTLEANIMOAMSET_A1
const BATTLEANIMOAMSET_A2
const BATTLEANIMOAMSET_A3
const BATTLEANIMOAMSET_A4
const BATTLEANIMOAMSET_A5
const BATTLEANIMOAMSET_A6
const BATTLEANIMOAMSET_A7
const BATTLEANIMOAMSET_A8
const BATTLEANIMOAMSET_A9
const BATTLEANIMOAMSET_AA
const BATTLEANIMOAMSET_AB
const BATTLEANIMOAMSET_AC
const BATTLEANIMOAMSET_AD
const BATTLEANIMOAMSET_AE
const BATTLEANIMOAMSET_AF
const BATTLEANIMOAMSET_B0
const BATTLEANIMOAMSET_B1
const BATTLEANIMOAMSET_B2
const BATTLEANIMOAMSET_B3
const BATTLEANIMOAMSET_B4
const BATTLEANIMOAMSET_B5
const BATTLEANIMOAMSET_B6
const BATTLEANIMOAMSET_B7
const BATTLEANIMOAMSET_B8
const BATTLEANIMOAMSET_B9
const BATTLEANIMOAMSET_BA
const BATTLEANIMOAMSET_BB
const BATTLEANIMOAMSET_BC
const BATTLEANIMOAMSET_BD
const BATTLEANIMOAMSET_BE
const BATTLEANIMOAMSET_BF
const BATTLEANIMOAMSET_C0
const BATTLEANIMOAMSET_C1
const BATTLEANIMOAMSET_C2
const BATTLEANIMOAMSET_C3
const BATTLEANIMOAMSET_C4
const BATTLEANIMOAMSET_C5
const BATTLEANIMOAMSET_C6
const BATTLEANIMOAMSET_C7
const BATTLEANIMOAMSET_C8
const BATTLEANIMOAMSET_C9
const BATTLEANIMOAMSET_CA
const BATTLEANIMOAMSET_CB
const BATTLEANIMOAMSET_CC
const BATTLEANIMOAMSET_CD
const BATTLEANIMOAMSET_CE
const BATTLEANIMOAMSET_CF
const BATTLEANIMOAMSET_D0
const BATTLEANIMOAMSET_D1
const BATTLEANIMOAMSET_D2
const BATTLEANIMOAMSET_D3
const BATTLEANIMOAMSET_D4
const BATTLEANIMOAMSET_D5
const BATTLEANIMOAMSET_D6
const BATTLEANIMOAMSET_D7
DEF NUM_BATTLEANIMOAMSETS EQU const_value
; BattleBGEffects indexes (see engine/battle_anims/bg_effects.asm)
const_def 1
const ANIM_BG_FLASH_INVERTED
const ANIM_BG_FLASH_WHITE
const ANIM_BG_WHITE_HUES
const ANIM_BG_BLACK_HUES
const ANIM_BG_ALTERNATE_HUES
const ANIM_BG_CYCLE_OBPALS_GRAY_AND_YELLOW
const ANIM_BG_CYCLE_MID_OBPALS_GRAY_AND_YELLOW
const ANIM_BG_CYCLE_BGPALS_INVERTED
const ANIM_BG_HIDE_MON
const ANIM_BG_SHOW_MON
const ANIM_BG_ENTER_MON
const ANIM_BG_RETURN_MON
const ANIM_BG_SURF
const ANIM_BG_WHIRLPOOL
const ANIM_BG_TELEPORT
const ANIM_BG_NIGHT_SHADE
const ANIM_BG_BATTLEROBJ_1ROW
const ANIM_BG_BATTLEROBJ_2ROW
const ANIM_BG_DOUBLE_TEAM
const ANIM_BG_ACID_ARMOR
const ANIM_BG_RAPID_FLASH
const ANIM_BG_FADE_MON_TO_LIGHT
const ANIM_BG_FADE_MON_TO_BLACK
const ANIM_BG_FADE_MON_TO_LIGHT_REPEATING
const ANIM_BG_FADE_MON_TO_BLACK_REPEATING
const ANIM_BG_CYCLE_MON_LIGHT_DARK_REPEATING
const ANIM_BG_FLASH_MON_REPEATING
const ANIM_BG_FADE_MONS_TO_BLACK_REPEATING
const ANIM_BG_FADE_MON_TO_WHITE_WAIT_FADE_BACK
const ANIM_BG_FADE_MON_FROM_WHITE
const ANIM_BG_SHAKE_SCREEN_X
const ANIM_BG_SHAKE_SCREEN_Y
const ANIM_BG_WITHDRAW
const ANIM_BG_BOUNCE_DOWN
const ANIM_BG_DIG
const ANIM_BG_TACKLE
const ANIM_BG_BODY_SLAM
const ANIM_BG_WOBBLE_MON
const ANIM_BG_REMOVE_MON
const ANIM_BG_WAVE_DEFORM_MON
const ANIM_BG_PSYCHIC
const ANIM_BG_BETA_SEND_OUT_MON1
const ANIM_BG_BETA_SEND_OUT_MON2
const ANIM_BG_FLAIL
const ANIM_BG_BETA_PURSUIT
const ANIM_BG_ROLLOUT
const ANIM_BG_VITAL_THROW
const ANIM_BG_START_WATER
const ANIM_BG_WATER
const ANIM_BG_END_WATER
const ANIM_BG_VIBRATE_MON
const ANIM_BG_WOBBLE_PLAYER
const ANIM_BG_WOBBLE_SCREEN
DEF NUM_ANIM_BGS EQU const_value - 1
; wBattleAnimTileDict keys (see wram.asm)
; AnimObjGFX indexes (see data/battle_anims/object_gfx.asm)
const_def 1
const ANIM_GFX_HIT
const ANIM_GFX_CUT
const ANIM_GFX_FIRE
const ANIM_GFX_WATER
const ANIM_GFX_LIGHTNING
const ANIM_GFX_PLANT
const ANIM_GFX_SMOKE
const ANIM_GFX_EXPLOSION
const ANIM_GFX_ROCKS
const ANIM_GFX_ICE
const ANIM_GFX_POKE_BALL
const ANIM_GFX_POISON
const ANIM_GFX_BUBBLE
const ANIM_GFX_NOISE
const ANIM_GFX_POWDER
const ANIM_GFX_BEAM
const ANIM_GFX_SPEED
const ANIM_GFX_CHARGE
const ANIM_GFX_WIND
const ANIM_GFX_WHIP
const ANIM_GFX_EGG
const ANIM_GFX_ROPE
const ANIM_GFX_PSYCHIC
const ANIM_GFX_REFLECT
const ANIM_GFX_STATUS
const ANIM_GFX_SAND
const ANIM_GFX_WEB
const ANIM_GFX_HAZE
const ANIM_GFX_HORN
const ANIM_GFX_FLOWER
const ANIM_GFX_MISC
const ANIM_GFX_SKY_ATTACK
const ANIM_GFX_GLOBE
const ANIM_GFX_SHAPES
const ANIM_GFX_OBJECTS
const ANIM_GFX_SHINE
const ANIM_GFX_ANGELS
const ANIM_GFX_WAVE
const ANIM_GFX_AEROBLAST
const ANIM_GFX_PLAYERHEAD
const ANIM_GFX_ENEMYFEET
DEF NUM_ANIM_GFX EQU const_value - 1
; battle_bg_effect struct members (see macros/ram.asm)
rsreset
DEF BG_EFFECT_STRUCT_FUNCTION rb
DEF BG_EFFECT_STRUCT_JT_INDEX rb
DEF BG_EFFECT_STRUCT_BATTLE_TURN rb
DEF BG_EFFECT_STRUCT_PARAM rb
DEF BG_EFFECT_STRUCT_LENGTH EQU _RS
DEF NUM_BG_EFFECTS EQU 5 ; see wActiveBGEffects
; anim_bgeffect battle turn values for some effects
const_def
const BG_EFFECT_TARGET ; 0
const BG_EFFECT_USER ; 1
; battle palettes
const_def
const PAL_BATTLE_BG_PLAYER ; 0
const PAL_BATTLE_BG_ENEMY ; 1
const PAL_BATTLE_BG_ENEMY_HP ; 2
const PAL_BATTLE_BG_PLAYER_HP ; 3
const PAL_BATTLE_BG_EXP ; 4
const PAL_BATTLE_BG_5 ; 5
const PAL_BATTLE_BG_6 ; 6
const PAL_BATTLE_BG_TEXT ; 7
; animation object palettes
const_def
const PAL_BATTLE_OB_ENEMY ; 0
const PAL_BATTLE_OB_PLAYER ; 1
const PAL_BATTLE_OB_GRAY ; 2
const PAL_BATTLE_OB_YELLOW ; 3
const PAL_BATTLE_OB_RED ; 4
const PAL_BATTLE_OB_GREEN ; 5
const PAL_BATTLE_OB_BLUE ; 6
const PAL_BATTLE_OB_BROWN ; 7

View file

@ -0,0 +1,269 @@
; significant level values
DEF MAX_LEVEL EQU 100
DEF MIN_LEVEL EQU 2
DEF EGG_LEVEL EQU 5
; maximum moves known per mon
DEF NUM_MOVES EQU 4
; significant stat values
DEF BASE_STAT_LEVEL EQU 7
DEF MAX_STAT_LEVEL EQU 13
; turns that sleep lasts
DEF REST_SLEEP_TURNS EQU 2
DEF TREEMON_SLEEP_TURNS EQU 7
; default move priority
DEF BASE_PRIORITY EQU 1
; type effectiveness factors, scaled by 10
DEF SUPER_EFFECTIVE EQU 20
DEF MORE_EFFECTIVE EQU 15
DEF EFFECTIVE EQU 10
DEF NOT_VERY_EFFECTIVE EQU 05
DEF NO_EFFECT EQU 00
; enemy AI behavior
DEF BASE_AI_SWITCH_SCORE EQU 10
; wPlayerStatLevels and wEnemyStatLevels indexes (see wram.asm)
; GetStatName arguments (see data/battle/stat_names.asm)
const_def
const ATTACK
const DEFENSE
const SPEED
const SP_ATTACK
const SP_DEFENSE
const ACCURACY
const EVASION
const ABILITY ; used for BattleCommand_Curse
DEF NUM_LEVEL_STATS EQU const_value
; move struct members (see data/moves/moves.asm)
rsreset
DEF MOVE_ANIM rb ; 0
DEF MOVE_EFFECT rb ; 1
DEF MOVE_POWER rb ; 2
DEF MOVE_TYPE rb ; 3
DEF MOVE_ACC rb ; 4
DEF MOVE_PP rb ; 5
DEF MOVE_CHANCE rb ; 6
DEF MOVE_LENGTH EQU _RS
; stat constants
; indexes for:
; - wPlayerStats and wEnemyStats (see wram.asm)
; - party_struct and battle_struct members (see macros/ram.asm)
const_def 1
const STAT_HP
const STAT_ATK
const STAT_DEF
const STAT_SPD
const STAT_SATK
DEF NUM_EXP_STATS EQU const_value - 1
const STAT_SDEF
DEF NUM_STATS EQU const_value - 1
DEF NUM_BATTLE_STATS EQU NUM_STATS - 1 ; don't count HP
; stat formula constants
DEF STAT_MIN_NORMAL EQU 5
DEF STAT_MIN_HP EQU 10
DEF MAX_STAT_VALUE EQU 999
; shiny dvs
DEF ATKDEFDV_SHINY EQU $EA
DEF SPDSPCDV_SHINY EQU $AA
; battle classes (wBattleMode values)
const_def 1
const WILD_BATTLE
const TRAINER_BATTLE
; battle types (wBattleType values)
const_def
const BATTLETYPE_NORMAL
const BATTLETYPE_CANLOSE
const BATTLETYPE_DEBUG
const BATTLETYPE_TUTORIAL
const BATTLETYPE_FISH
const BATTLETYPE_ROAMING
const BATTLETYPE_CONTEST
const BATTLETYPE_SHINY
const BATTLETYPE_TREE
const BATTLETYPE_TRAP
const BATTLETYPE_FORCEITEM
const BATTLETYPE_CELEBI
const BATTLETYPE_SUICUNE
; BattleVarPairs indexes (see home/battle_vars.asm)
const_def
const BATTLE_VARS_SUBSTATUS1
const BATTLE_VARS_SUBSTATUS2
const BATTLE_VARS_SUBSTATUS3
const BATTLE_VARS_SUBSTATUS4
const BATTLE_VARS_SUBSTATUS5
const BATTLE_VARS_SUBSTATUS1_OPP
const BATTLE_VARS_SUBSTATUS2_OPP
const BATTLE_VARS_SUBSTATUS3_OPP
const BATTLE_VARS_SUBSTATUS4_OPP
const BATTLE_VARS_SUBSTATUS5_OPP
const BATTLE_VARS_STATUS
const BATTLE_VARS_STATUS_OPP
const BATTLE_VARS_MOVE_ANIM
const BATTLE_VARS_MOVE_EFFECT
const BATTLE_VARS_MOVE_POWER
const BATTLE_VARS_MOVE_TYPE
const BATTLE_VARS_MOVE
const BATTLE_VARS_LAST_COUNTER_MOVE
const BATTLE_VARS_LAST_COUNTER_MOVE_OPP
const BATTLE_VARS_LAST_MOVE
const BATTLE_VARS_LAST_MOVE_OPP
DEF NUM_BATTLE_VARS EQU const_value
; BattleVarLocations indexes (see home/battle_vars.asm)
const_def
const PLAYER_SUBSTATUS_1
const ENEMY_SUBSTATUS_1
const PLAYER_SUBSTATUS_2
const ENEMY_SUBSTATUS_2
const PLAYER_SUBSTATUS_3
const ENEMY_SUBSTATUS_3
const PLAYER_SUBSTATUS_4
const ENEMY_SUBSTATUS_4
const PLAYER_SUBSTATUS_5
const ENEMY_SUBSTATUS_5
const PLAYER_STATUS
const ENEMY_STATUS
const PLAYER_MOVE_ANIMATION
const ENEMY_MOVE_ANIMATION
const PLAYER_MOVE_EFFECT
const ENEMY_MOVE_EFFECT
const PLAYER_MOVE_POWER
const ENEMY_MOVE_POWER
const PLAYER_MOVE_TYPE
const ENEMY_MOVE_TYPE
const PLAYER_CUR_MOVE
const ENEMY_CUR_MOVE
const PLAYER_COUNTER_MOVE
const ENEMY_COUNTER_MOVE
const PLAYER_LAST_MOVE
const ENEMY_LAST_MOVE
assert const_value % 2 == 0
DEF NUM_BATTLE_VAR_LOCATION_PAIRS EQU const_value / 2
; status condition bit flags
DEF SLP_MASK EQU %111 ; 0-7 turns
const_def 3
const PSN
const BRN
const FRZ
const PAR
DEF ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP_MASK
; wPlayerSubStatus1 or wEnemySubStatus1 bit flags
const_def
const SUBSTATUS_NIGHTMARE
const SUBSTATUS_CURSE
const SUBSTATUS_PROTECT
const SUBSTATUS_IDENTIFIED
const SUBSTATUS_PERISH
const SUBSTATUS_ENDURE
const SUBSTATUS_ROLLOUT
const SUBSTATUS_IN_LOVE
; wPlayerSubStatus2 or wEnemySubStatus2 bit flags
const_def
const SUBSTATUS_CURLED
; wPlayerSubStatus3 or wEnemySubStatus3 bit flags
const_def
const SUBSTATUS_BIDE
const SUBSTATUS_RAMPAGE
const SUBSTATUS_IN_LOOP
const SUBSTATUS_FLINCHED
const SUBSTATUS_CHARGED
const SUBSTATUS_UNDERGROUND
const SUBSTATUS_FLYING
const SUBSTATUS_CONFUSED
; wPlayerSubStatus4 or wEnemySubStatus4 bit flags
const_def
const SUBSTATUS_X_ACCURACY
const SUBSTATUS_MIST
const SUBSTATUS_FOCUS_ENERGY
const_skip
const SUBSTATUS_SUBSTITUTE
const SUBSTATUS_RECHARGE
const SUBSTATUS_RAGE
const SUBSTATUS_LEECH_SEED
; wPlayerSubStatus5 or wEnemySubStatus5 bit flags
const_def
const SUBSTATUS_TOXIC
const_skip
const_skip
const SUBSTATUS_TRANSFORMED
const SUBSTATUS_ENCORED
const SUBSTATUS_LOCK_ON
const SUBSTATUS_DESTINY_BOND
const SUBSTATUS_CANT_RUN
; wPlayerScreens or wEnemyScreens bit flags
const_def
const SCREENS_SPIKES
const_skip
const SCREENS_SAFEGUARD
const SCREENS_LIGHT_SCREEN
const SCREENS_REFLECT
; values in wBattleWeather
const_def
const WEATHER_NONE
const WEATHER_RAIN
const WEATHER_SUN
const WEATHER_SANDSTORM
const WEATHER_RAIN_END
const WEATHER_SUN_END
const WEATHER_SANDSTORM_END
; wBattleAction
const_def
const BATTLEACTION_MOVE1
const BATTLEACTION_MOVE2
const BATTLEACTION_MOVE3
const BATTLEACTION_MOVE4
const BATTLEACTION_SWITCH1
const BATTLEACTION_SWITCH2
const BATTLEACTION_SWITCH3
const BATTLEACTION_SWITCH4
const BATTLEACTION_SWITCH5
const BATTLEACTION_SWITCH6
const_skip
const_skip
const_skip
const BATTLEACTION_SKIPTURN
const BATTLEACTION_STRUGGLE
const BATTLEACTION_FORFEIT
; wBattlePlayerAction
const_def
const BATTLEPLAYERACTION_USEMOVE
const BATTLEPLAYERACTION_USEITEM
const BATTLEPLAYERACTION_SWITCH
; wBattleResult
const_def
const WIN
const LOSE
const DRAW
DEF BATTLERESULT_CAUGHT_CELEBI EQU 6
DEF BATTLERESULT_BOX_FULL EQU 7
DEF BATTLERESULT_BITMASK EQU (1 << BATTLERESULT_CAUGHT_CELEBI) | (1 << BATTLERESULT_BOX_FULL)
; link_battle_record struct
DEF LINK_BATTLE_RECORD_LENGTH EQU 2 + (NAME_LENGTH - 1) + 2 * 3
DEF NUM_LINK_BATTLE_RECORDS EQU 5

View file

@ -0,0 +1,61 @@
DEF BATTLETOWER_PARTY_LENGTH EQU 3
DEF BATTLETOWER_STREAK_LENGTH EQU 7
DEF BATTLETOWER_NUM_UNIQUE_MON EQU 21
DEF BATTLETOWER_NUM_UNIQUE_TRAINERS EQU 70
DEF BATTLETOWER_TRAINERDATALENGTH EQU 18 * 2 ; $24
DEF BATTLE_TOWER_STRUCT_LENGTH EQU NAME_LENGTH + BATTLETOWER_PARTY_LENGTH * NICKNAMED_MON_STRUCT_LENGTH + BATTLETOWER_TRAINERDATALENGTH ; $e0
; BattleTowerAction setval arguments (see engine/events/battle_tower/battle_tower.asm)
const_def
const BATTLETOWERACTION_CHECK_EXPLANATION_READ
const BATTLETOWERACTION_SET_EXPLANATION_READ
const BATTLETOWERACTION_GET_CHALLENGE_STATE
const BATTLETOWERACTION_SAVE_AND_QUIT
const BATTLETOWERACTION_CHALLENGECANCELED
const BATTLETOWERACTION_05
const BATTLETOWERACTION_06 ; reset stuff in SRAM bank 5
const BATTLETOWERACTION_SAVELEVELGROUP
const BATTLETOWERACTION_LOADLEVELGROUP
const BATTLETOWERACTION_CHECKSAVEFILEISYOURS
const BATTLETOWERACTION_0A
const BATTLETOWERACTION_CHECKMOBILEEVENT
const BATTLETOWERACTION_0C ; more time stuff in SRAM bank 5
const BATTLETOWERACTION_0D ; more time stuff in SRAM bank 5
const BATTLETOWERACTION_EGGTICKET
const BATTLETOWERACTION_0F ; check w3_d090
const BATTLETOWERACTION_10 ; dw based on s5_a800
const BATTLETOWERACTION_11 ; store 0 in s5_aa8d
const BATTLETOWERACTION_12 ; store 1 in s5_aa8d
const BATTLETOWERACTION_13 ; check s5_aa8d
const BATTLETOWERACTION_14 ; if save file is yours: bit 0, [sBattleTowerSaveFileFlags]
const BATTLETOWERACTION_15 ; set 0, [sBattleTowerSaveFileFlags]
const BATTLETOWERACTION_16 ; update time in SRAM bank 5
const BATTLETOWERACTION_17 ; check time in SRAM bank 5
const BATTLETOWERACTION_LEVEL_CHECK
const BATTLETOWERACTION_UBERS_CHECK
const BATTLETOWERACTION_RESETDATA ; clear data
const BATTLETOWERACTION_GIVEREWARD ; give reward
const BATTLETOWERACTION_1C ; set won challenge
const BATTLETOWERACTION_1D ; set received reward
const BATTLETOWERACTION_CHOOSEREWARD ; save options
const BATTLETOWERACTION_SAVEOPTIONS
; BattleTowerAction return values
; - from BATTLETOWERACTION_CHECKMOBILEEVENT
DEF MOBILE_EVENT_OBJECT_GS_BALL EQU $b
; BattleTowerText arguments (see engine/events/battle_tower/trainer_text.asm)
const_def 1
const BATTLETOWERTEXT_INTRO
const BATTLETOWERTEXT_WIN_TEXT
const BATTLETOWERTEXT_LOSS_TEXT
; sBattleTowerChallengeState values
const_def
const BATTLETOWER_NO_CHALLENGE
const BATTLETOWER_SAVED_AND_LEFT
const BATTLETOWER_CHALLENGE_IN_PROGRESS
const BATTLETOWER_WON_CHALLENGE
const BATTLETOWER_RECEIVED_REWARD

View file

@ -0,0 +1,129 @@
; collision permissions (see data/collision/collision_permissions.asm)
DEF LAND_TILE EQU $00
DEF WATER_TILE EQU $01
DEF WALL_TILE EQU $0f
DEF TALK EQU $10
; collision data types (see data/tilesets/*_collision.asm)
; TileCollisionTable indexes (see data/collision/collision_permissions.asm)
DEF COLL_FLOOR EQU $00
DEF COLL_01 EQU $01 ; garbage
DEF COLL_03 EQU $03 ; garbage
DEF COLL_04 EQU $04 ; garbage
DEF COLL_WALL EQU $07
DEF COLL_CUT_08 EQU $08 ; unused
DEF COLL_TALL_GRASS_10 EQU $10 ; unused
DEF COLL_CUT_TREE EQU $12
DEF COLL_LONG_GRASS EQU $14
DEF COLL_HEADBUTT_TREE EQU $15
DEF COLL_TALL_GRASS EQU $18
DEF COLL_CUT_TREE_1A EQU $1a ; unused
DEF COLL_LONG_GRASS_1C EQU $1c ; unused
DEF COLL_HEADBUTT_TREE_1D EQU $1d ; unused
DEF COLL_WATER_21 EQU $21 ; unused
DEF COLL_ICE EQU $23
DEF COLL_WHIRLPOOL EQU $24
DEF COLL_BUOY EQU $27
DEF COLL_CUT_28 EQU $28 ; garbage
DEF COLL_WATER EQU $29
DEF COLL_ICE_2B EQU $2b ; unused
DEF COLL_WHIRLPOOL_2C EQU $2c ; unused
DEF COLL_WATERFALL_RIGHT EQU $30 ; unused
DEF COLL_WATERFALL_LEFT EQU $31 ; unused
DEF COLL_WATERFALL_UP EQU $32 ; unused
DEF COLL_WATERFALL EQU $33
DEF COLL_CURRENT_RIGHT EQU $38 ; unused
DEF COLL_CURRENT_LEFT EQU $39 ; unused
DEF COLL_CURRENT_UP EQU $3a ; unused
DEF COLL_CURRENT_DOWN EQU $3b ; unused
DEF COLL_BRAKE EQU $40 ; unused
DEF COLL_WALK_RIGHT EQU $41 ; unused
DEF COLL_WALK_LEFT EQU $42 ; unused
DEF COLL_WALK_UP EQU $43 ; unused
DEF COLL_WALK_DOWN EQU $44 ; unused
DEF COLL_BRAKE_45 EQU $45 ; garbage
DEF COLL_BRAKE_46 EQU $46 ; unused
DEF COLL_BRAKE_47 EQU $47 ; unused
DEF COLL_GRASS_48 EQU $48 ; unused
DEF COLL_GRASS_49 EQU $49 ; unused
DEF COLL_GRASS_4A EQU $4a ; garbage
DEF COLL_GRASS_4B EQU $4b ; garbage
DEF COLL_GRASS_4C EQU $4c ; unused
DEF COLL_WALK_RIGHT_ALT EQU $50 ; unused
DEF COLL_WALK_LEFT_ALT EQU $51 ; unused
DEF COLL_WALK_UP_ALT EQU $52 ; unused
DEF COLL_WALK_DOWN_ALT EQU $53 ; unused
DEF COLL_BRAKE_ALT EQU $54 ; unused
DEF COLL_BRAKE_55 EQU $55 ; unused
DEF COLL_BRAKE_56 EQU $56 ; unused
DEF COLL_BRAKE_57 EQU $57 ; unused
DEF COLL_5B EQU $5b ; garbage
DEF COLL_PIT EQU $60
DEF COLL_VIRTUAL_BOY EQU $61 ; garbage
DEF COLL_64 EQU $64 ; garbage
DEF COLL_65 EQU $65 ; garbage
DEF COLL_PIT_68 EQU $68 ; unused
DEF COLL_WARP_CARPET_DOWN EQU $70
DEF COLL_DOOR EQU $71
DEF COLL_LADDER EQU $72
DEF COLL_STAIRCASE_73 EQU $73 ; unused
DEF COLL_CAVE_74 EQU $74 ; unused
DEF COLL_DOOR_75 EQU $75 ; unused
DEF COLL_WARP_CARPET_LEFT EQU $76
DEF COLL_WARP_77 EQU $77 ; unused
DEF COLL_WARP_CARPET_UP EQU $78
DEF COLL_DOOR_79 EQU $79 ; unused
DEF COLL_STAIRCASE EQU $7a
DEF COLL_CAVE EQU $7b
DEF COLL_WARP_PANEL EQU $7c
DEF COLL_DOOR_7D EQU $7d ; unused
DEF COLL_WARP_CARPET_RIGHT EQU $7e
DEF COLL_WARP_7F EQU $7f ; unused
DEF COLL_COUNTER EQU $90
DEF COLL_BOOKSHELF EQU $91
DEF COLL_PC EQU $93
DEF COLL_RADIO EQU $94
DEF COLL_TOWN_MAP EQU $95
DEF COLL_MART_SHELF EQU $96
DEF COLL_TV EQU $97
DEF COLL_COUNTER_98 EQU $98 ; unused
DEF COLL_9C EQU $9c ; garbage
DEF COLL_WINDOW EQU $9d
DEF COLL_INCENSE_BURNER EQU $9f
DEF COLL_HOP_RIGHT EQU $a0
DEF COLL_HOP_LEFT EQU $a1
DEF COLL_HOP_UP EQU $a2 ; unused
DEF COLL_HOP_DOWN EQU $a3
DEF COLL_HOP_DOWN_RIGHT EQU $a4
DEF COLL_HOP_DOWN_LEFT EQU $a5
DEF COLL_HOP_UP_RIGHT EQU $a6 ; unused
DEF COLL_HOP_UP_LEFT EQU $a7 ; unused
DEF COLL_RIGHT_WALL EQU $b0
DEF COLL_LEFT_WALL EQU $b1
DEF COLL_UP_WALL EQU $b2
DEF COLL_DOWN_WALL EQU $b3 ; unused
DEF COLL_DOWN_RIGHT_WALL EQU $b4 ; unused
DEF COLL_DOWN_LEFT_WALL EQU $b5 ; unused
DEF COLL_UP_RIGHT_WALL EQU $b6 ; unused
DEF COLL_UP_LEFT_WALL EQU $b7 ; unused
DEF COLL_RIGHT_BUOY EQU $c0 ; unused
DEF COLL_LEFT_BUOY EQU $c1 ; unused
DEF COLL_UP_BUOY EQU $c2 ; unused
DEF COLL_DOWN_BUOY EQU $c3 ; unused
DEF COLL_DOWN_RIGHT_BUOY EQU $c4 ; unused
DEF COLL_DOWN_LEFT_BUOY EQU $c5 ; unused
DEF COLL_UP_RIGHT_BUOY EQU $c6 ; unused
DEF COLL_UP_LEFT_BUOY EQU $c7 ; unused
DEF COLL_FF EQU $ff ; garbage
; collision data type nybbles
DEF LO_NYBBLE_GRASS EQU $07
DEF HI_NYBBLE_TALL_GRASS EQU $10
DEF HI_NYBBLE_WATER EQU $20
DEF HI_NYBBLE_CURRENT EQU $30
DEF HI_NYBBLE_WALK EQU $40
DEF HI_NYBBLE_WALK_ALT EQU $50
DEF HI_NYBBLE_WARPS EQU $70
DEF HI_NYBBLE_LEDGES EQU $a0
DEF HI_NYBBLE_SIDE_WALLS EQU $b0
DEF HI_NYBBLE_SIDE_BUOYS EQU $c0

View file

@ -0,0 +1,116 @@
; CreditsStringsPointers indexes (see data/credits_strings.asm)
const_def
const SATOSHI_TAJIRI
const JUNICHI_MASUDA
const TETSUYA_WATANABE
const SHIGEKI_MORIMOTO
const SOUSUKE_TAMADA
const TAKENORI_OOTA
const KEN_SUGIMORI
const MOTOFUMI_FUJIWARA
const ATSUKO_NISHIDA
const MUNEO_SAITO
const SATOSHI_OOTA
const RENA_YOSHIKAWA
const JUN_OKUTANI
const HIRONOBU_YOSHIDA
const ASUKA_IWASHITA
const GO_ICHINOSE
const MORIKAZU_AOKI
const KOHJI_NISHINO
const KENJI_MATSUSHIMA
const TOSHINOBU_MATSUMIYA
const SATORU_IWATA
const NOBUHIRO_SEYA
const KAZUHITO_SEKINE
const TETSUJI_OOTA
const NCL_SUPER_MARIO_CLUB
const SARUGAKUCHO
const AKITO_MORI
const TAKAHIRO_HARADA
const TOHRU_HASHIMOTO
const NOBORU_MATSUMOTO
const TAKEHIRO_IZUSHI
const TAKASHI_KAWAGUCHI
const TSUNEKAZU_ISHIHARA
const HIROSHI_YAMAUCHI
const KENJI_SAIKI
const ATSUSHI_TADA
const NAOKO_KAWAKAMI
const HIROYUKI_ZINNAI
const KUNIMI_KAWAMURA
const HISASHI_SOGABE
const KEITA_KAGAYA
const YOSHINORI_MATSUDA
const HITOMI_SATO
const TORU_OSAWA
const TAKAO_OHARA
const YUICHIRO_ITO
const TAKAO_SHIMIZU
const PLANNING
const KEITA_NAKAMURA
const HIROTAKA_UEMURA
const HIROAKI_TAMURA
const NORIAKI_SAKAGUCHI
const MIYUKI_SATO
const GAKUZI_NOMOTO
const AI_MASHIMA
const MIKIHIRO_ISHIKAWA
const HIDEYUKI_HASHIMOTO
const SATOSHI_YAMATO
const SHIGERU_MIYAMOTO
const GAIL_TILDEN
const NOB_OGASAWARA
const SETH_MCMAHILL
const HIROTO_ALEXANDER
const TERESA_LILLYGREN
const THOMAS_HERTZOG
const ERIK_JOHNSON
const HIRO_NAKAMURA
const TERUKI_MURAKAWA
const KAZUYOSHI_OSAWA
const KIMIKO_NAKAMICHI
const CREDIT_END
const CREDIT_UNKNOWN
const STAFF
const DIRECTOR
const CODIRECTOR
const PROGRAMMERS
const GRAPHICS_DIRECTOR
const MONSTER_DESIGN
const GRAPHICS_DESIGN
const CREDIT_MUSIC
const CREDIT_SOUND_EFFECTS
const GAME_DESIGN
const GAME_SCENARIO
const TOOL_PROGRAMMING
const PARAMETRIC_DESIGN
const SCRIPT_DESIGN
const MAP_DATA_DESIGN
const MAP_DESIGN
const PRODUCT_TESTING
const SPECIAL_THANKS
const PRODUCERS
const EXECUTIVE_PRODUCER
const POKEMON_ANIMATION
const POKEDEX_TEXT
const MOBILE_PRJ_LEADER
const MOBILE_SYSTEM_AD
const MOBILE_STADIUM_DIR
const COORDINATION
const COPYRIGHT
const US_VERSION_STAFF
const US_COORDINATION
const TEXT_TRANSLATION
const PAAD_TESTING
DEF NUM_CREDITS_STRINGS EQU const_value
; CreditsScript indexes (see data/credits_script.asm)
const_def -1, -1
const CREDITS_END
const CREDITS_WAIT
const CREDITS_SCENE
const CREDITS_CLEAR
const CREDITS_MUSIC
const CREDITS_WAIT2
const CREDITS_THEEND

View file

@ -0,0 +1,76 @@
; Cries indexes (see audio/cry_pointers.asm)
const_def
; gen 1
const CRY_NIDORAN_M
const CRY_NIDORAN_F
const CRY_SLOWPOKE
const CRY_KANGASKHAN
const CRY_CHARMANDER
const CRY_GRIMER
const CRY_VOLTORB
const CRY_MUK
const CRY_ODDISH
const CRY_RAICHU
const CRY_NIDOQUEEN
const CRY_DIGLETT
const CRY_SEEL
const CRY_DROWZEE
const CRY_PIDGEY
const CRY_BULBASAUR
const CRY_SPEAROW
const CRY_RHYDON
const CRY_GOLEM
const CRY_BLASTOISE
const CRY_PIDGEOTTO
const CRY_WEEDLE
const CRY_CATERPIE
const CRY_EKANS
const CRY_FEAROW
const CRY_CLEFAIRY
const CRY_VENONAT
const CRY_LAPRAS
const CRY_METAPOD
const CRY_SQUIRTLE
const CRY_PARAS
const CRY_GROWLITHE
const CRY_KRABBY
const CRY_PSYDUCK
const CRY_RATTATA
const CRY_VILEPLUME
const CRY_VULPIX
const CRY_WEEPINBELL
; gen 2
const CRY_MARILL
const CRY_SPINARAK
const CRY_TOGEPI
const CRY_GIRAFARIG
const CRY_RAIKOU
const CRY_MAREEP
const CRY_TOGETIC
const CRY_HOOTHOOT
const CRY_SENTRET
const CRY_SLOWKING
const CRY_CYNDAQUIL
const CRY_CHIKORITA
const CRY_TOTODILE
const CRY_GLIGAR
const CRY_CLEFFA
const CRY_SLUGMA
const CRY_LEDYBA
const CRY_ENTEI
const CRY_WOOPER
const CRY_MANTINE
const CRY_TYPHLOSION
const CRY_NATU
const CRY_TEDDIURSA
const CRY_SUNFLORA
const CRY_AMPHAROS
const CRY_MAGCARGO
const CRY_PICHU
const CRY_AIPOM
const CRY_DUNSPARCE
const CRY_DONPHAN
DEF NUM_CRIES EQU const_value

View file

@ -0,0 +1,141 @@
; decoration attributes
rsreset
DEF DECOATTR_TYPE rb
DEF DECOATTR_NAME rb
DEF DECOATTR_ACTION rb
DEF DECOATTR_EVENT_FLAG rw
DEF DECOATTR_SPRITE rb
DEF DECOATTR_STRUCT_LENGTH EQU _RS
; decoration types
const_def 1
const DECO_PLANT
const DECO_BED
const DECO_CARPET
const DECO_POSTER
const DECO_DOLL
const DECO_BIGDOLL
DEF NUM_DECO_TYPES EQU const_value - 1
; DecorationNames indexes (see data/decorations/names.asm)
const_def
const CANCEL_DECO
const PUT_IT_AWAY
const MAGNAPLANT
const TROPICPLANT
const JUMBOPLANT
const TOWN_MAP_POSTER
const FAMICOM
const SUPER_NES
const NINTENDO_64
const VIRTUAL_BOY
const GOLD_TROPHY
const SILVER_TROPHY
const SURF_PIKA_DOLL
const _BED
const _CARPET
const _POSTER
const _DOLL
const BIG_
const FEATHERY_BED
const PIKACHU_BED
const PINK_BED
const POLKADOT_BED
const RED_CARPET
const BLUE_CARPET
const YELLOW_CARPET
const GREEN_CARPET
DEF NUM_DECO_NAMES EQU const_value
; DoDecorationAction2.DecoActions indexes (see engine/overworld/decorations.asm)
const_def 1
const SET_UP_BED
const PUT_AWAY_BED
const SET_UP_CARPET
const PUT_AWAY_CARPET
const SET_UP_PLANT
const PUT_AWAY_PLANT
const SET_UP_POSTER
const PUT_AWAY_POSTER
const SET_UP_CONSOLE
const PUT_AWAY_CONSOLE
const SET_UP_BIG_DOLL
const PUT_AWAY_BIG_DOLL
const SET_UP_DOLL
const PUT_AWAY_DOLL
DEF NUM_DECO_ACTIONS EQU const_value - 1
DEF __deco_value__ = 0
MACRO deco
const DECO_\1
DEF DECOFLAG_\1 EQU __deco_value__
DEF __deco_value__ += 1
ENDM
; decorations:
; - DecorationAttributes (see data/decorations/attributes.asm)
; - DecorationIDs (see data/decorations/decorations.asm)
const_def 1
; FindOwnedBeds.beds values (see engine/overworld/decorations.asm)
const BEDS
deco FEATHERY_BED
deco PINK_BED
deco POLKADOT_BED
deco PIKACHU_BED
; FindOwnedCarpets.carpets values (see engine/overworld/decorations.asm)
const CARPETS
deco RED_CARPET
deco BLUE_CARPET
deco YELLOW_CARPET
deco GREEN_CARPET
; FindOwnedPlants.plants values (see engine/overworld/decorations.asm)
const PLANTS
deco MAGNAPLANT
deco TROPICPLANT
deco JUMBOPLANT
; FindOwnedPosters.posters values (see engine/overworld/decorations.asm)
const POSTERS
deco TOWN_MAP
deco PIKACHU_POSTER
deco CLEFAIRY_POSTER
deco JIGGLYPUFF_POSTER
; FindOwnedConsoles.consoles values (see engine/overworld/decorations.asm)
const CONSOLES
deco FAMICOM
deco SNES
deco N64
deco VIRTUAL_BOY
; FindOwnedBigDolls.big_dolls values (see engine/overworld/decorations.asm)
const BIG_DOLLS
deco BIG_SNORLAX_DOLL
deco BIG_ONIX_DOLL
deco BIG_LAPRAS_DOLL
; FindOwnedOrnaments.ornaments values (see engine/overworld/decorations.asm)
const DOLLS
deco PIKACHU_DOLL
deco SURF_PIKACHU_DOLL
deco CLEFAIRY_DOLL
deco JIGGLYPUFF_DOLL
deco BULBASAUR_DOLL
deco CHARMANDER_DOLL
deco SQUIRTLE_DOLL
deco POLIWAG_DOLL
deco DIGLETT_DOLL
deco STARMIE_DOLL
deco MAGIKARP_DOLL
deco ODDISH_DOLL
deco GENGAR_DOLL
deco SHELLDER_DOLL
deco GRIMER_DOLL
deco VOLTORB_DOLL
deco WEEDLE_DOLL
deco UNOWN_DOLL
deco GEODUDE_DOLL
deco MACHOP_DOLL
deco TENTACOOL_DOLL
DEF NUM_NON_TROPHY_DECOS EQU __deco_value__
deco GOLD_TROPHY_DOLL
deco SILVER_TROPHY_DOLL
DEF NUM_DECOS EQU __deco_value__
DEF NUM_DECO_CATEGORIES EQU const_value - 1 - NUM_DECOS

190
constants/engine_flags.asm Normal file
View file

@ -0,0 +1,190 @@
; EngineFlags indexes (see data/events/engine_flags.asm)
const_def
; wPokegearFlags
const ENGINE_RADIO_CARD
const ENGINE_MAP_CARD
const ENGINE_PHONE_CARD
const ENGINE_EXPN_CARD
const ENGINE_POKEGEAR
; wDayCareMan
const ENGINE_DAY_CARE_MAN_HAS_EGG
const ENGINE_DAY_CARE_MAN_HAS_MON
; wDayCareLady
const ENGINE_DAY_CARE_LADY_HAS_MON
; wMomSavingMoney
const ENGINE_MOM_SAVING_MONEY
const ENGINE_MOM_ACTIVE
; wUnusedTwoDayTimerOn
const ENGINE_UNUSED_TWO_DAY_TIMER_ON
; wStatusFlags
const ENGINE_POKEDEX
const ENGINE_UNOWN_DEX
const ENGINE_CAUGHT_POKERUS
const ENGINE_ROCKET_SIGNAL_ON_CH20
const ENGINE_CREDITS_SKIP
const ENGINE_MAIN_MENU_MOBILE_CHOICES
; wStatusFlags2
const ENGINE_BUG_CONTEST_TIMER
const ENGINE_SAFARI_ZONE
const ENGINE_ROCKETS_IN_RADIO_TOWER
const ENGINE_BIKE_SHOP_CALL_ENABLED
const ENGINE_15
const ENGINE_REACHED_GOLDENROD
const ENGINE_ROCKETS_IN_MAHOGANY
; wBikeFlags
const ENGINE_STRENGTH_ACTIVE
const ENGINE_ALWAYS_ON_BIKE
const ENGINE_DOWNHILL
; wJohtoBadges
const ENGINE_ZEPHYRBADGE
const ENGINE_HIVEBADGE
const ENGINE_PLAINBADGE
const ENGINE_FOGBADGE
const ENGINE_MINERALBADGE
const ENGINE_STORMBADGE
const ENGINE_GLACIERBADGE
const ENGINE_RISINGBADGE
; wKantoBadges
const ENGINE_BOULDERBADGE
const ENGINE_CASCADEBADGE
const ENGINE_THUNDERBADGE
const ENGINE_RAINBOWBADGE
const ENGINE_SOULBADGE
const ENGINE_MARSHBADGE
const ENGINE_VOLCANOBADGE
const ENGINE_EARTHBADGE
; wUnlockedUnowns
const ENGINE_UNLOCKED_UNOWNS_A_TO_K
const ENGINE_UNLOCKED_UNOWNS_L_TO_R
const ENGINE_UNLOCKED_UNOWNS_S_TO_W
const ENGINE_UNLOCKED_UNOWNS_X_TO_Z
const ENGINE_UNLOCKED_UNOWNS_UNUSED_4
const ENGINE_UNLOCKED_UNOWNS_UNUSED_5
const ENGINE_UNLOCKED_UNOWNS_UNUSED_6
const ENGINE_UNLOCKED_UNOWNS_UNUSED_7
; wVisitedSpawns
const ENGINE_FLYPOINT_PLAYERS_HOUSE
const ENGINE_FLYPOINT_DEBUG
const ENGINE_FLYPOINT_PALLET
const ENGINE_FLYPOINT_VIRIDIAN
const ENGINE_FLYPOINT_PEWTER
const ENGINE_FLYPOINT_CERULEAN
const ENGINE_FLYPOINT_ROCK_TUNNEL
const ENGINE_FLYPOINT_VERMILION
const ENGINE_FLYPOINT_LAVENDER
const ENGINE_FLYPOINT_SAFFRON
const ENGINE_FLYPOINT_CELADON
const ENGINE_FLYPOINT_FUCHSIA
const ENGINE_FLYPOINT_CINNABAR
const ENGINE_FLYPOINT_INDIGO_PLATEAU
const ENGINE_FLYPOINT_NEW_BARK
const ENGINE_FLYPOINT_CHERRYGROVE
const ENGINE_FLYPOINT_VIOLET
const ENGINE_FLYPOINT_AZALEA
const ENGINE_FLYPOINT_CIANWOOD
const ENGINE_FLYPOINT_GOLDENROD
const ENGINE_FLYPOINT_OLIVINE
const ENGINE_FLYPOINT_ECRUTEAK
const ENGINE_FLYPOINT_MAHOGANY
const ENGINE_FLYPOINT_LAKE_OF_RAGE
const ENGINE_FLYPOINT_BLACKTHORN
const ENGINE_FLYPOINT_SILVER_CAVE
const ENGINE_FLYPOINT_UNUSED
; wLuckyNumberShowFlag
const ENGINE_LUCKY_NUMBER_SHOW
; wStatusFlags2
const ENGINE_4F
; wDailyFlags1
const ENGINE_KURT_MAKING_BALLS
const ENGINE_DAILY_BUG_CONTEST
const ENGINE_QWILFISH_SWARM
const ENGINE_TIME_CAPSULE
const ENGINE_ALL_FRUIT_TREES
const ENGINE_GOT_SHUCKIE_TODAY
const ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED
const ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
; wDailyFlags2
const ENGINE_MT_MOON_SQUARE_CLEFAIRY
const ENGINE_UNION_CAVE_LAPRAS
const ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
const ENGINE_GOLDENROD_DEPT_STORE_TM27_RETURN
const ENGINE_DAISYS_GROOMING
const ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
const ENGINE_DAILY_MOVE_TUTOR
const ENGINE_BUENAS_PASSWORD
; wSwarmFlags
const ENGINE_BUENAS_PASSWORD_2
const ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
; wGameTimerPaused
const ENGINE_62
; wPlayerGender
const ENGINE_PLAYER_IS_FEMALE
; wCelebiEvent
const ENGINE_FOREST_IS_RESTLESS
; wDailyRematchFlags
const ENGINE_JACK_READY_FOR_REMATCH
const ENGINE_HUEY_READY_FOR_REMATCH
const ENGINE_GAVEN_READY_FOR_REMATCH
const ENGINE_BETH_READY_FOR_REMATCH
const ENGINE_JOSE_READY_FOR_REMATCH
const ENGINE_REENA_READY_FOR_REMATCH
const ENGINE_JOEY_READY_FOR_REMATCH
const ENGINE_WADE_READY_FOR_REMATCH
const ENGINE_RALPH_READY_FOR_REMATCH
const ENGINE_LIZ_READY_FOR_REMATCH
const ENGINE_ANTHONY_READY_FOR_REMATCH
const ENGINE_TODD_READY_FOR_REMATCH
const ENGINE_GINA_READY_FOR_REMATCH
const ENGINE_ARNIE_READY_FOR_REMATCH
const ENGINE_ALAN_READY_FOR_REMATCH
const ENGINE_DANA_READY_FOR_REMATCH
const ENGINE_CHAD_READY_FOR_REMATCH
const ENGINE_TULLY_READY_FOR_REMATCH
const ENGINE_BRENT_READY_FOR_REMATCH
const ENGINE_TIFFANY_READY_FOR_REMATCH
const ENGINE_VANCE_READY_FOR_REMATCH
const ENGINE_WILTON_READY_FOR_REMATCH
const ENGINE_PARRY_READY_FOR_REMATCH
const ENGINE_ERIN_READY_FOR_REMATCH
; wDailyPhoneItemFlags
const ENGINE_BEVERLY_HAS_NUGGET
const ENGINE_JOSE_HAS_STAR_PIECE
const ENGINE_WADE_HAS_ITEM
const ENGINE_GINA_HAS_LEAF_STONE
const ENGINE_ALAN_HAS_FIRE_STONE
const ENGINE_DANA_HAS_THUNDERSTONE
const ENGINE_DEREK_HAS_NUGGET
const ENGINE_TULLY_HAS_WATER_STONE
const ENGINE_TIFFANY_HAS_PINK_BOW
const ENGINE_WILTON_HAS_ITEM
; wDailyPhoneTimeOfDayFlags
const ENGINE_JACK_MONDAY_MORNING
const ENGINE_HUEY_WEDNESDAY_NIGHT
const ENGINE_GAVEN_THURSDAY_MORNING
const ENGINE_BETH_FRIDAY_AFTERNOON
const ENGINE_JOSE_SATURDAY_NIGHT
const ENGINE_REENA_SUNDAY_MORNING
const ENGINE_JOEY_MONDAY_AFTERNOON
const ENGINE_WADE_TUESDAY_NIGHT
const ENGINE_RALPH_WEDNESDAY_MORNING
const ENGINE_LIZ_THURSDAY_AFTERNOON
const ENGINE_ANTHONY_FRIDAY_NIGHT
const ENGINE_TODD_SATURDAY_MORNING
const ENGINE_GINA_SUNDAY_AFTERNOON
const ENGINE_ARNIE_TUESDAY_MORNING
const ENGINE_ALAN_WEDNESDAY_AFTERNOON
const ENGINE_DANA_THURSDAY_NIGHT
const ENGINE_CHAD_FRIDAY_MORNING
const ENGINE_TULLY_SUNDAY_NIGHT
const ENGINE_BRENT_MONDAY_MORNING
const ENGINE_TIFFANY_TUESDAY_AFTERNOON
const ENGINE_VANCE_WEDNESDAY_NIGHT
const ENGINE_WILTON_THURSDAY_MORNING
const ENGINE_PARRY_FRIDAY_AFTERNOON
const ENGINE_ERIN_SATURDAY_NIGHT
; wPlayerSpriteSetupFlags
const ENGINE_KRIS_IN_CABLE_CLUB
; wSwarmFlags
const ENGINE_DUNSPARCE_SWARM
const ENGINE_YANMA_SWARM
DEF NUM_ENGINE_FLAGS EQU const_value

1465
constants/event_flags.asm Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,57 @@
DEF TILE_WIDTH EQU 8 ; pixels
DEF LEN_1BPP_TILE EQU 1 * TILE_WIDTH ; bytes
DEF LEN_2BPP_TILE EQU 2 * TILE_WIDTH ; bytes
DEF NUM_PAL_COLORS EQU 4
DEF PAL_COLOR_SIZE EQU 2
DEF PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE
DEF PALRGB_WHITE EQU palred 31 + palgreen 31 + palblue 31 ; $7fff
DEF SCREEN_WIDTH EQU 20 ; tiles
DEF SCREEN_HEIGHT EQU 18 ; tiles
DEF SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels
DEF SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * TILE_WIDTH ; pixels
DEF BG_MAP_WIDTH EQU 32 ; tiles
DEF BG_MAP_HEIGHT EQU 32 ; tiles
DEF METATILE_WIDTH EQU 4 ; tiles
DEF SCREEN_META_WIDTH EQU 6 ; metatiles
DEF SCREEN_META_HEIGHT EQU 5 ; metatiles
DEF SURROUNDING_WIDTH EQU SCREEN_META_WIDTH * METATILE_WIDTH ; tiles
DEF SURROUNDING_HEIGHT EQU SCREEN_META_HEIGHT * METATILE_WIDTH ; tiles
DEF MAP_CONNECTION_PADDING_WIDTH EQU 3 ; metatiles
DEF HP_BAR_LENGTH EQU 6 ; tiles
DEF EXP_BAR_LENGTH EQU 8 ; tiles
DEF HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * TILE_WIDTH ; pixels
DEF EXP_BAR_LENGTH_PX EQU EXP_BAR_LENGTH * TILE_WIDTH ; pixels
; GetHPPal return values (see home/tilemap.asm)
DEF HP_GREEN EQU 0
DEF HP_YELLOW EQU 1
DEF HP_RED EQU 2
; sprite_oam_struct members (see macros/ram.asm)
rsreset
DEF SPRITEOAMSTRUCT_YCOORD rb ; 0
DEF SPRITEOAMSTRUCT_XCOORD rb ; 1
DEF SPRITEOAMSTRUCT_TILE_ID rb ; 2
DEF SPRITEOAMSTRUCT_ATTRIBUTES rb ; 3
DEF SPRITEOAMSTRUCT_LENGTH EQU _RS
DEF NUM_SPRITE_OAM_STRUCTS EQU 40 ; see wShadowOAM
DEF SPRITE_GFX_LIST_CAPACITY EQU 32 ; see wUsedSprites
; PokeAnims indexes (see engine/gfx/pic_animation.asm)
const_def
const ANIM_MON_SLOW
const ANIM_MON_NORMAL
const ANIM_MON_MENU
const ANIM_MON_TRADE
const ANIM_MON_EVOLVE
const ANIM_MON_HATCH
const ANIM_MON_HOF
const ANIM_MON_EGG1
const ANIM_MON_EGG2

View file

@ -0,0 +1,162 @@
; Graciously derived from:
; https://gbdev.io/pandocs/
; https://github.com/gbdev/hardware.inc
; http://gameboy.mongenel.com/dmg/asmmemmap.html
; memory map
DEF VRAM_Begin EQU $8000
DEF VRAM_End EQU $a000
DEF SRAM_Begin EQU $a000
DEF SRAM_End EQU $c000
DEF WRAM0_Begin EQU $c000
DEF WRAM0_End EQU $d000
DEF WRAM1_Begin EQU $d000
DEF WRAM1_End EQU $e000
; hardware registers $ff00-$ff80 (see below)
DEF HRAM_Begin EQU $ff80
DEF HRAM_End EQU $ffff
; MBC3
DEF MBC3SRamEnable EQU $0000
DEF MBC3RomBank EQU $2000
DEF MBC3SRamBank EQU $4000
DEF MBC3LatchClock EQU $6000
DEF MBC3RTC EQU $a000
DEF SRAM_DISABLE EQU $00
DEF SRAM_ENABLE EQU $0a
DEF NUM_SRAM_BANKS EQU 4
DEF RTC_S EQU $08 ; Seconds 0-59 (0-3Bh)
DEF RTC_M EQU $09 ; Minutes 0-59 (0-3Bh)
DEF RTC_H EQU $0a ; Hours 0-23 (0-17h)
DEF RTC_DL EQU $0b ; Lower 8 bits of Day Counter (0-FFh)
DEF RTC_DH EQU $0c ; Upper 1 bit of Day Counter, Carry Bit, Halt Flag
; Bit 0 Most significant bit of Day Counter (Bit 8)
; Bit 6 Halt (0=Active, 1=Stop Timer)
; Bit 7 Day Counter Carry Bit (1=Counter Overflow)
; interrupt flags
DEF VBLANK EQU 0
DEF LCD_STAT EQU 1
DEF TIMER EQU 2
DEF SERIAL EQU 3
DEF JOYPAD EQU 4
DEF IE_DEFAULT EQU (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
; OAM attribute flags
DEF OAM_TILE_BANK EQU 3
DEF OAM_OBP_NUM EQU 4 ; non CGB Mode Only
DEF OAM_X_FLIP EQU 5
DEF OAM_Y_FLIP EQU 6
DEF OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3)
; BG Map attribute flags
DEF PALETTE_MASK EQU %111
DEF VRAM_BANK_1 EQU 1 << OAM_TILE_BANK ; $08
DEF OBP_NUM EQU 1 << OAM_OBP_NUM ; $10
DEF X_FLIP EQU 1 << OAM_X_FLIP ; $20
DEF Y_FLIP EQU 1 << OAM_Y_FLIP ; $40
DEF PRIORITY EQU 1 << OAM_PRIORITY ; $80
; Hardware registers
DEF rJOYP EQU $ff00 ; Joypad (R/W)
DEF rSB EQU $ff01 ; Serial transfer data (R/W)
DEF rSC EQU $ff02 ; Serial Transfer Control (R/W)
DEF rSC_ON EQU 7
DEF rSC_CGB EQU 1
DEF rSC_CLOCK EQU 0
DEF rDIV EQU $ff04 ; Divider Register (R/W)
DEF rTIMA EQU $ff05 ; Timer counter (R/W)
DEF rTMA EQU $ff06 ; Timer Modulo (R/W)
DEF rTAC EQU $ff07 ; Timer Control (R/W)
DEF rTAC_ON EQU 2
DEF rTAC_4096_HZ EQU %00
DEF rTAC_262144_HZ EQU %01
DEF rTAC_65536_HZ EQU %10
DEF rTAC_16384_HZ EQU %11
DEF rIF EQU $ff0f ; Interrupt Flag (R/W)
DEF rNR10 EQU $ff10 ; Channel 1 Sweep register (R/W)
DEF rNR11 EQU $ff11 ; Channel 1 Sound length/Wave pattern duty (R/W)
DEF rNR12 EQU $ff12 ; Channel 1 Volume Envelope (R/W)
DEF rNR13 EQU $ff13 ; Channel 1 Frequency lo (Write Only)
DEF rNR14 EQU $ff14 ; Channel 1 Frequency hi (R/W)
DEF rNR21 EQU $ff16 ; Channel 2 Sound Length/Wave Pattern Duty (R/W)
DEF rNR22 EQU $ff17 ; Channel 2 Volume Envelope (R/W)
DEF rNR23 EQU $ff18 ; Channel 2 Frequency lo data (W)
DEF rNR24 EQU $ff19 ; Channel 2 Frequency hi data (R/W)
DEF rNR30 EQU $ff1a ; Channel 3 Sound on/off (R/W)
DEF rNR31 EQU $ff1b ; Channel 3 Sound Length
DEF rNR32 EQU $ff1c ; Channel 3 Select output level (R/W)
DEF rNR33 EQU $ff1d ; Channel 3 Frequency's lower data (W)
DEF rNR34 EQU $ff1e ; Channel 3 Frequency's higher data (R/W)
DEF rNR41 EQU $ff20 ; Channel 4 Sound Length (R/W)
DEF rNR42 EQU $ff21 ; Channel 4 Volume Envelope (R/W)
DEF rNR43 EQU $ff22 ; Channel 4 Polynomial Counter (R/W)
DEF rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Inital (R/W)
DEF rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W)
DEF rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W)
DEF rNR52 EQU $ff26 ; Sound on/off
DEF rWave_0 EQU $ff30
DEF rWave_1 EQU $ff31
DEF rWave_2 EQU $ff32
DEF rWave_3 EQU $ff33
DEF rWave_4 EQU $ff34
DEF rWave_5 EQU $ff35
DEF rWave_6 EQU $ff36
DEF rWave_7 EQU $ff37
DEF rWave_8 EQU $ff38
DEF rWave_9 EQU $ff39
DEF rWave_a EQU $ff3a
DEF rWave_b EQU $ff3b
DEF rWave_c EQU $ff3c
DEF rWave_d EQU $ff3d
DEF rWave_e EQU $ff3e
DEF rWave_f EQU $ff3f
DEF rLCDC EQU $ff40 ; LCD Control (R/W)
DEF rLCDC_BG_PRIORITY EQU 0 ; 0=Off, 1=On
DEF rLCDC_SPRITES_ENABLE EQU 1 ; 0=Off, 1=On
DEF rLCDC_SPRITE_SIZE EQU 2 ; 0=8x8, 1=8x16
DEF rLCDC_BG_TILEMAP EQU 3 ; 0=9800-9BFF, 1=9C00-9FFF
DEF rLCDC_TILE_DATA EQU 4 ; 0=8800-97FF, 1=8000-8FFF
DEF rLCDC_WINDOW_ENABLE EQU 5 ; 0=Off, 1=On
DEF rLCDC_WINDOW_TILEMAP EQU 6 ; 0=9800-9BFF, 1=9C00-9FFF
DEF rLCDC_ENABLE EQU 7 ; 0=Off, 1=On
DEF LCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 << rLCDC_WINDOW_ENABLE) | (1 << rLCDC_SPRITES_ENABLE) | (1 << rLCDC_BG_PRIORITY)
DEF rSTAT EQU $ff41 ; LCDC Status (R/W)
DEF rSCY EQU $ff42 ; Scroll Y (R/W)
DEF rSCX EQU $ff43 ; Scroll X (R/W)
DEF rLY EQU $ff44 ; LCDC Y-Coordinate (R)
DEF LY_VBLANK EQU 144
DEF rLYC EQU $ff45 ; LY Compare (R/W)
DEF rDMA EQU $ff46 ; DMA Transfer and Start Address (W)
DEF rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only
DEF rOBP0 EQU $ff48 ; Object Palette 0 Data (R/W) - Non CGB Mode Only
DEF rOBP1 EQU $ff49 ; Object Palette 1 Data (R/W) - Non CGB Mode Only
DEF rWY EQU $ff4a ; Window Y Position (R/W)
DEF rWX EQU $ff4b ; Window X Position minus 7 (R/W)
DEF rLCDMODE EQU $ff4c
DEF rKEY1 EQU $ff4d ; CGB Mode Only - Prepare Speed Switch
DEF rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank
DEF rBLCK EQU $ff50
DEF rHDMA1 EQU $ff51 ; CGB Mode Only - New DMA Source, High
DEF rHDMA2 EQU $ff52 ; CGB Mode Only - New DMA Source, Low
DEF rHDMA3 EQU $ff53 ; CGB Mode Only - New DMA Destination, High
DEF rHDMA4 EQU $ff54 ; CGB Mode Only - New DMA Destination, Low
DEF rHDMA5 EQU $ff55 ; CGB Mode Only - New DMA Length/Mode/Start
DEF rRP EQU $ff56 ; CGB Mode Only - Infrared Communications Port
DEF rRP_LED_ON EQU 0
DEF rRP_RECEIVING EQU 1
DEF rRP_ENABLE_READ_MASK EQU %11000000
DEF rBGPI EQU $ff68 ; CGB Mode Only - Background Palette Index
DEF rBGPI_AUTO_INCREMENT EQU 7 ; increment rBGPI after write to rBGPD
DEF rBGPD EQU $ff69 ; CGB Mode Only - Background Palette Data
DEF rOBPI EQU $ff6a ; CGB Mode Only - Sprite Palette Index
DEF rOBPI_AUTO_INCREMENT EQU 7 ; increment rOBPI after write to rOBPD
DEF rOBPD EQU $ff6b ; CGB Mode Only - Sprite Palette Data
DEF rOPRI EQU $ff6c ; CGB Mode Only - Object Priority Mode
DEF rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank
DEF rPCM12 EQU $ff76 ; Channel 1 & 2 Amplitude (R)
DEF rPCM34 EQU $ff77 ; Channel 3 & 4 Amplitude (R)
DEF rIE EQU $ffff ; Interrupt Enable (R/W)

View file

@ -0,0 +1,52 @@
; IconPointers indexes (see data/icon_pointers.asm)
const_def
const ICON_NULL
const ICON_POLIWAG
const ICON_JIGGLYPUFF
const ICON_DIGLETT
const ICON_PIKACHU
const ICON_STARYU
const ICON_FISH
const ICON_BIRD
const ICON_MONSTER
const ICON_CLEFAIRY
const ICON_ODDISH
const ICON_BUG
const ICON_GHOST
const ICON_LAPRAS
const ICON_HUMANSHAPE
const ICON_FOX
const ICON_EQUINE
const ICON_SHELL
const ICON_BLOB
const ICON_SERPENT
const ICON_VOLTORB
const ICON_SQUIRTLE
const ICON_BULBASAUR
const ICON_CHARMANDER
const ICON_CATERPILLAR
const ICON_UNOWN
const ICON_GEODUDE
const ICON_FIGHTER
const ICON_EGG
const ICON_JELLYFISH
const ICON_MOTH
const ICON_BAT
const ICON_SNORLAX
const ICON_HO_OH
const ICON_LUGIA
const ICON_GYARADOS
const ICON_SLOWPOKE
const ICON_SUDOWOODO
const ICON_BIGMON
DEF NUM_ICONS EQU const_value - 1
; LoadMenuMonIcon.Jumptable indexes (see engine/gfx/mon_icons.asm)
const_def
const MONICON_PARTYMENU
const MONICON_NAMINGSCREEN
const MONICON_MOVES
const MONICON_TRADE
const MONICON_MOBILE1
const MONICON_MOBILE2
const MONICON_UNUSED

View file

@ -0,0 +1,26 @@
; joypad buttons
const_def
const A_BUTTON_F ; 0
const B_BUTTON_F ; 1
const SELECT_F ; 2
const START_F ; 3
const D_RIGHT_F ; 4
const D_LEFT_F ; 5
const D_UP_F ; 6
const D_DOWN_F ; 7
DEF NO_INPUT EQU %00000000
DEF A_BUTTON EQU 1 << A_BUTTON_F
DEF B_BUTTON EQU 1 << B_BUTTON_F
DEF SELECT EQU 1 << SELECT_F
DEF START EQU 1 << START_F
DEF D_RIGHT EQU 1 << D_RIGHT_F
DEF D_LEFT EQU 1 << D_LEFT_F
DEF D_UP EQU 1 << D_UP_F
DEF D_DOWN EQU 1 << D_DOWN_F
DEF BUTTONS EQU A_BUTTON | B_BUTTON | SELECT | START
DEF D_PAD EQU D_RIGHT | D_LEFT | D_UP | D_DOWN
DEF R_DPAD EQU %00100000
DEF R_BUTTONS EQU %00010000

View file

@ -0,0 +1,319 @@
; item ids
; indexes for:
; - ItemNames (see data/items/names.asm)
; - ItemDescriptions (see data/items/descriptions.asm)
; - ItemAttributes (see data/items/attributes.asm)
; - ItemEffects (see engine/items/item_effects.asm)
const_def
const NO_ITEM ; 00
const MASTER_BALL ; 01
const ULTRA_BALL ; 02
const BRIGHTPOWDER ; 03
const GREAT_BALL ; 04
const POKE_BALL ; 05
const TOWN_MAP ; 06
const BICYCLE ; 07
const MOON_STONE ; 08
const ANTIDOTE ; 09
const BURN_HEAL ; 0a
const ICE_HEAL ; 0b
const AWAKENING ; 0c
const PARLYZ_HEAL ; 0d
const FULL_RESTORE ; 0e
const MAX_POTION ; 0f
const HYPER_POTION ; 10
const SUPER_POTION ; 11
const POTION ; 12
const ESCAPE_ROPE ; 13
const REPEL ; 14
const MAX_ELIXER ; 15
const FIRE_STONE ; 16
const THUNDERSTONE ; 17
const WATER_STONE ; 18
const ITEM_19 ; 19
const HP_UP ; 1a
const PROTEIN ; 1b
const IRON ; 1c
const CARBOS ; 1d
const LUCKY_PUNCH ; 1e
const CALCIUM ; 1f
const RARE_CANDY ; 20
const X_ACCURACY ; 21
const LEAF_STONE ; 22
const METAL_POWDER ; 23
const NUGGET ; 24
const POKE_DOLL ; 25
const FULL_HEAL ; 26
const REVIVE ; 27
const MAX_REVIVE ; 28
const GUARD_SPEC ; 29
const SUPER_REPEL ; 2a
const MAX_REPEL ; 2b
const DIRE_HIT ; 2c
const ITEM_2D ; 2d
const FRESH_WATER ; 2e
const SODA_POP ; 2f
const LEMONADE ; 30
const X_ATTACK ; 31
const ITEM_32 ; 32
const X_DEFEND ; 33
const X_SPEED ; 34
const X_SPECIAL ; 35
const COIN_CASE ; 36
const ITEMFINDER ; 37
const POKE_FLUTE ; 38
const EXP_SHARE ; 39
const OLD_ROD ; 3a
const GOOD_ROD ; 3b
const SILVER_LEAF ; 3c
const SUPER_ROD ; 3d
const PP_UP ; 3e
const ETHER ; 3f
const MAX_ETHER ; 40
const ELIXER ; 41
const RED_SCALE ; 42
const SECRETPOTION ; 43
const S_S_TICKET ; 44
const MYSTERY_EGG ; 45
const CLEAR_BELL ; 46
const SILVER_WING ; 47
const MOOMOO_MILK ; 48
const QUICK_CLAW ; 49
const PSNCUREBERRY ; 4a
const GOLD_LEAF ; 4b
const SOFT_SAND ; 4c
const SHARP_BEAK ; 4d
const PRZCUREBERRY ; 4e
const BURNT_BERRY ; 4f
const ICE_BERRY ; 50
const POISON_BARB ; 51
const KINGS_ROCK ; 52
const BITTER_BERRY ; 53
const MINT_BERRY ; 54
const RED_APRICORN ; 55
const TINYMUSHROOM ; 56
const BIG_MUSHROOM ; 57
const SILVERPOWDER ; 58
const BLU_APRICORN ; 59
const ITEM_5A ; 5a
const AMULET_COIN ; 5b
const YLW_APRICORN ; 5c
const GRN_APRICORN ; 5d
const CLEANSE_TAG ; 5e
const MYSTIC_WATER ; 5f
const TWISTEDSPOON ; 60
const WHT_APRICORN ; 61
const BLACKBELT_I ; 62
const BLK_APRICORN ; 63
const ITEM_64 ; 64
const PNK_APRICORN ; 65
const BLACKGLASSES ; 66
const SLOWPOKETAIL ; 67
const PINK_BOW ; 68
const STICK ; 69
const SMOKE_BALL ; 6a
const NEVERMELTICE ; 6b
const MAGNET ; 6c
const MIRACLEBERRY ; 6d
const PEARL ; 6e
const BIG_PEARL ; 6f
const EVERSTONE ; 70
const SPELL_TAG ; 71
const RAGECANDYBAR ; 72
const GS_BALL ; 73
const BLUE_CARD ; 74
const MIRACLE_SEED ; 75
const THICK_CLUB ; 76
const FOCUS_BAND ; 77
const ITEM_78 ; 78
const ENERGYPOWDER ; 79
const ENERGY_ROOT ; 7a
const HEAL_POWDER ; 7b
const REVIVAL_HERB ; 7c
const HARD_STONE ; 7d
const LUCKY_EGG ; 7e
const CARD_KEY ; 7f
const MACHINE_PART ; 80
const EGG_TICKET ; 81
const LOST_ITEM ; 82
const STARDUST ; 83
const STAR_PIECE ; 84
const BASEMENT_KEY ; 85
const PASS ; 86
const ITEM_87 ; 87
const ITEM_88 ; 88
const ITEM_89 ; 89
const CHARCOAL ; 8a
const BERRY_JUICE ; 8b
const SCOPE_LENS ; 8c
const ITEM_8D ; 8d
const ITEM_8E ; 8e
const METAL_COAT ; 8f
const DRAGON_FANG ; 90
const ITEM_91 ; 91
const LEFTOVERS ; 92
const ITEM_93 ; 93
const ITEM_94 ; 94
const ITEM_95 ; 95
const MYSTERYBERRY ; 96
const DRAGON_SCALE ; 97
const BERSERK_GENE ; 98
const ITEM_99 ; 99
const ITEM_9A ; 9a
const ITEM_9B ; 9b
const SACRED_ASH ; 9c
const HEAVY_BALL ; 9d
const FLOWER_MAIL ; 9e
const LEVEL_BALL ; 9f
const LURE_BALL ; a0
const FAST_BALL ; a1
const ITEM_A2 ; a2
const LIGHT_BALL ; a3
const FRIEND_BALL ; a4
const MOON_BALL ; a5
const LOVE_BALL ; a6
const NORMAL_BOX ; a7
const GORGEOUS_BOX ; a8
const SUN_STONE ; a9
const POLKADOT_BOW ; aa
const ITEM_AB ; ab
const UP_GRADE ; ac
const BERRY ; ad
const GOLD_BERRY ; ae
const SQUIRTBOTTLE ; af
const ITEM_B0 ; b0
const PARK_BALL ; b1
const RAINBOW_WING ; b2
const ITEM_B3 ; b3
const BRICK_PIECE ; b4
const SURF_MAIL ; b5
const LITEBLUEMAIL ; b6
const PORTRAITMAIL ; b7
const LOVELY_MAIL ; b8
const EON_MAIL ; b9
const MORPH_MAIL ; ba
const BLUESKY_MAIL ; bb
const MUSIC_MAIL ; bc
const MIRAGE_MAIL ; bd
const ITEM_BE ; be
const ITEM_DC ; bf
const ITEM_C3 ; c0
const ITEM_FA ; c1
DEF NUM_ITEMS EQU const_value - 1
DEF __tmhm_value__ = 1
MACRO add_tmnum
DEF \1_TMNUM EQU __tmhm_value__
DEF __tmhm_value__ += 1
ENDM
MACRO add_tm
; Defines three constants:
; - TM_\1: the item id, starting at $bf
; - \1_TMNUM: the learnable TM/HM flag, starting at 1
; - TM##_MOVE: alias for the move id, equal to the value of \1
const TM_\1
DEF TM{02d:__tmhm_value__}_MOVE = \1
add_tmnum \1
ENDM
; see data/moves/tmhm_moves.asm for moves
DEF TM01 EQU const_value
add_tm DYNAMICPUNCH ; c2
add_tm HEADBUTT ; c3
add_tm CURSE ; c4
add_tm ROLLOUT ; c5
add_tm ROAR ; c6
add_tm TOXIC ; c7
add_tm ZAP_CANNON ; c8
add_tm ROCK_SMASH ; c9
add_tm PSYCH_UP ; ca
add_tm HIDDEN_POWER ; cb
add_tm SUNNY_DAY ; cc
add_tm SWEET_SCENT ; cd
add_tm SNORE ; ce
add_tm BLIZZARD ; cf
add_tm HYPER_BEAM ; d0
add_tm ICY_WIND ; d1
add_tm PROTECT ; d2
add_tm RAIN_DANCE ; d3
add_tm GIGA_DRAIN ; d4
add_tm ENDURE ; d5
add_tm FRUSTRATION ; d6
add_tm SOLARBEAM ; d7
add_tm IRON_TAIL ; d8
add_tm DRAGONBREATH ; d9
add_tm THUNDER ; da
add_tm EARTHQUAKE ; db
add_tm RETURN ; dc
add_tm DIG ; dd
add_tm PSYCHIC_M ; de
add_tm SHADOW_BALL ; df
add_tm MUD_SLAP ; e0
add_tm DOUBLE_TEAM ; e1
add_tm ICE_PUNCH ; e2
add_tm SWAGGER ; e3
add_tm SLEEP_TALK ; e4
add_tm SLUDGE_BOMB ; e5
add_tm SANDSTORM ; e6
add_tm FIRE_BLAST ; e7
add_tm SWIFT ; e8
add_tm DEFENSE_CURL ; e9
add_tm THUNDERPUNCH ; ea
add_tm DREAM_EATER ; eb
add_tm DETECT ; ec
add_tm REST ; ed
add_tm ATTRACT ; ee
add_tm THIEF ; ef
add_tm STEEL_WING ; f0
add_tm FIRE_PUNCH ; f1
add_tm FURY_CUTTER ; f2
add_tm NIGHTMARE ; f3
DEF NUM_TMS EQU __tmhm_value__ - 1
MACRO add_hm
; Defines three constants:
; - HM_\1: the item id, starting at $f3
; - \1_TMNUM: the learnable TM/HM flag, starting at 51
; - HM##_MOVE: alias for the move id, equal to the value of \1
const HM_\1
DEF HM_VALUE = __tmhm_value__ - NUM_TMS
DEF HM{02d:HM_VALUE}_MOVE = \1
add_tmnum \1
ENDM
DEF HM01 EQU const_value
add_hm CUT ; f4
add_hm FLY ; f5
add_hm SURF ; f6
add_hm STRENGTH ; f7
add_hm FLASH ; f8
add_hm WHIRLPOOL ; f9
add_hm WATERFALL ; fa
DEF NUM_HMS EQU __tmhm_value__ - NUM_TMS - 1
MACRO add_mt
; Defines two constants:
; - \1_TMNUM: the learnable TM/HM flag, starting at 58
; - MT##_MOVE: alias for the move id, equal to the value of \1
DEF MT_VALUE = __tmhm_value__ - NUM_TMS - NUM_HMS
DEF MT{02d:MT_VALUE}_MOVE = \1
add_tmnum \1
ENDM
DEF MT01 EQU const_value
add_mt FLAMETHROWER
add_mt THUNDERBOLT
add_mt ICE_BEAM
DEF NUM_TUTORS = __tmhm_value__ - NUM_TMS - NUM_HMS - 1
DEF NUM_TM_HM_TUTOR EQU NUM_TMS + NUM_HMS + NUM_TUTORS
DEF USE_SCRIPT_VAR EQU $00
DEF ITEM_FROM_MEM EQU $ff
; leftovers from red
DEF SAFARI_BALL EQU $08 ; MOON_STONE
DEF MOON_STONE_RED EQU $0a ; BURN_HEAL
DEF FULL_HEAL_RED EQU $34 ; X_SPEED

View file

@ -0,0 +1,144 @@
; item_attributes struct members (see data/items/attributes.asm)
rsreset
DEF ITEMATTR_PRICE rw
rsset ITEMATTR_PRICE
DEF ITEMATTR_PRICE_LO rb
DEF ITEMATTR_PRICE_HI rb
DEF ITEMATTR_EFFECT rb
DEF ITEMATTR_PARAM rb
DEF ITEMATTR_PERMISSIONS rb
DEF ITEMATTR_POCKET rb
DEF ITEMATTR_HELP rb
DEF ITEMATTR_STRUCT_LENGTH EQU _RS
; item types
const_def 1
const ITEM ; 1
const KEY_ITEM ; 2
const BALL ; 3
const TM_HM ; 4
DEF NUM_ITEM_TYPES EQU const_value - 1
; item menu types
; UseItem.dw indexes (see engine/items/pack.asm)
; UseRegisteredItem.SwitchTo indexes (see engine/overworld/select_menu.asm)
const_def
const ITEMMENU_NOUSE ; 0
const_skip 3
const ITEMMENU_CURRENT ; 4
const ITEMMENU_PARTY ; 5
const ITEMMENU_CLOSE ; 6
; item actions
DEF CANT_SELECT_F EQU 6
DEF CANT_TOSS_F EQU 7
DEF NO_LIMITS EQU 0
DEF CANT_SELECT EQU 1 << CANT_SELECT_F
DEF CANT_TOSS EQU 1 << CANT_TOSS_F
; pack pockets
const_def
const ITEM_POCKET ; 0
const BALL_POCKET ; 1
const KEY_ITEM_POCKET ; 2
const TM_HM_POCKET ; 3
DEF NUM_POCKETS EQU const_value
DEF MAX_ITEMS EQU 20
DEF MAX_BALLS EQU 12
DEF MAX_KEY_ITEMS EQU 25
DEF MAX_PC_ITEMS EQU 50
DEF MAX_ITEM_STACK EQU 99
; mail
DEF MAIL_LINE_LENGTH EQU $10
DEF MAIL_MSG_LENGTH EQU $20
DEF MAILBOX_CAPACITY EQU 10
DEF MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
DEF MAIL_STRUCT_LENGTH_JP EQU $2a ; mailmsg_jp struct
; mail languages
const_def
const MAIL_LANG_ENGLISH
const MAIL_LANG_FRENCH
const MAIL_LANG_GERMAN
const MAIL_LANG_ITALIAN
const MAIL_LANG_SPANISH
; held item effects
const_def
const HELD_NONE
const HELD_BERRY
const HELD_2
const HELD_LEFTOVERS
const_skip
const HELD_5
const HELD_RESTORE_PP
const_skip
const HELD_CLEANSE_TAG
const_next 10
const HELD_HEAL_POISON
const HELD_HEAL_FREEZE
const HELD_HEAL_BURN
const HELD_HEAL_SLEEP
const HELD_HEAL_PARALYZE
const HELD_HEAL_STATUS
const HELD_HEAL_CONFUSION
const_next 20
const HELD_PREVENT_POISON
const HELD_PREVENT_BURN
const HELD_PREVENT_FREEZE
const HELD_PREVENT_SLEEP
const HELD_PREVENT_PARALYZE
const HELD_PREVENT_CONFUSE
const_next 30
const HELD_30
const HELD_ATTACK_UP
const HELD_DEFENSE_UP
const HELD_SPEED_UP
const HELD_SP_ATTACK_UP
const HELD_SP_DEFENSE_UP
const HELD_ACCURACY_UP
const HELD_EVASION_UP
const HELD_38
const_next 40
const_skip
const_skip
const HELD_METAL_POWDER
const_next 50
const HELD_NORMAL_BOOST
const HELD_FIGHTING_BOOST
const HELD_FLYING_BOOST
const HELD_POISON_BOOST
const HELD_GROUND_BOOST
const HELD_ROCK_BOOST
const HELD_BUG_BOOST
const HELD_GHOST_BOOST
const HELD_FIRE_BOOST
const HELD_WATER_BOOST
const HELD_GRASS_BOOST
const HELD_ELECTRIC_BOOST
const HELD_PSYCHIC_BOOST
const HELD_ICE_BOOST
const HELD_DRAGON_BOOST
const HELD_DARK_BOOST
const HELD_STEEL_BOOST
const_next 70
const HELD_CATCH_CHANCE
const HELD_71
const HELD_ESCAPE
const HELD_CRITICAL_UP
const HELD_QUICK_CLAW
const HELD_FLINCH
const HELD_AMULET_COIN
const HELD_BRIGHTPOWDER
const_skip
const HELD_FOCUS_BAND

View file

@ -0,0 +1,112 @@
; Landmarks indexes (see data/maps/landmarks.asm)
const_def
const LANDMARK_SPECIAL ; 00
; Johto landmarks
const LANDMARK_NEW_BARK_TOWN ; 01
const LANDMARK_ROUTE_29 ; 02
const LANDMARK_CHERRYGROVE_CITY ; 03
const LANDMARK_ROUTE_30 ; 04
const LANDMARK_ROUTE_31 ; 05
const LANDMARK_VIOLET_CITY ; 06
const LANDMARK_SPROUT_TOWER ; 07
const LANDMARK_ROUTE_32 ; 08
const LANDMARK_RUINS_OF_ALPH ; 09
const LANDMARK_UNION_CAVE ; 0a
const LANDMARK_ROUTE_33 ; 0b
const LANDMARK_AZALEA_TOWN ; 0c
const LANDMARK_SLOWPOKE_WELL ; 0d
const LANDMARK_ILEX_FOREST ; 0e
const LANDMARK_ROUTE_34 ; 0f
const LANDMARK_GOLDENROD_CITY ; 10
const LANDMARK_RADIO_TOWER ; 11
const LANDMARK_ROUTE_35 ; 12
const LANDMARK_NATIONAL_PARK ; 13
const LANDMARK_ROUTE_36 ; 14
const LANDMARK_ROUTE_37 ; 15
const LANDMARK_ECRUTEAK_CITY ; 16
const LANDMARK_TIN_TOWER ; 17
const LANDMARK_BURNED_TOWER ; 18
const LANDMARK_ROUTE_38 ; 19
const LANDMARK_ROUTE_39 ; 1a
const LANDMARK_OLIVINE_CITY ; 1b
const LANDMARK_LIGHTHOUSE ; 1c
const LANDMARK_BATTLE_TOWER ; 1d
const LANDMARK_ROUTE_40 ; 1e
const LANDMARK_WHIRL_ISLANDS ; 1f
const LANDMARK_ROUTE_41 ; 20
const LANDMARK_CIANWOOD_CITY ; 21
const LANDMARK_ROUTE_42 ; 22
const LANDMARK_MT_MORTAR ; 23
const LANDMARK_MAHOGANY_TOWN ; 24
const LANDMARK_ROUTE_43 ; 25
const LANDMARK_LAKE_OF_RAGE ; 26
const LANDMARK_ROUTE_44 ; 27
const LANDMARK_ICE_PATH ; 28
const LANDMARK_BLACKTHORN_CITY ; 29
const LANDMARK_DRAGONS_DEN ; 2a
const LANDMARK_ROUTE_45 ; 2b
const LANDMARK_DARK_CAVE ; 2c
const LANDMARK_ROUTE_46 ; 2d
const LANDMARK_SILVER_CAVE ; 2e
DEF KANTO_LANDMARK EQU const_value
const LANDMARK_PALLET_TOWN ; 2f
const LANDMARK_ROUTE_1 ; 30
const LANDMARK_VIRIDIAN_CITY ; 31
const LANDMARK_ROUTE_2 ; 32
const LANDMARK_PEWTER_CITY ; 33
const LANDMARK_ROUTE_3 ; 34
const LANDMARK_MT_MOON ; 35
const LANDMARK_ROUTE_4 ; 36
const LANDMARK_CERULEAN_CITY ; 37
const LANDMARK_ROUTE_24 ; 38
const LANDMARK_ROUTE_25 ; 39
const LANDMARK_ROUTE_5 ; 3a
const LANDMARK_UNDERGROUND_PATH ; 3b
const LANDMARK_ROUTE_6 ; 3c
const LANDMARK_VERMILION_CITY ; 3d
const LANDMARK_DIGLETTS_CAVE ; 3e
const LANDMARK_ROUTE_7 ; 3f
const LANDMARK_ROUTE_8 ; 40
const LANDMARK_ROUTE_9 ; 41
const LANDMARK_ROCK_TUNNEL ; 42
const LANDMARK_ROUTE_10 ; 43
const LANDMARK_POWER_PLANT ; 44
const LANDMARK_LAVENDER_TOWN ; 45
const LANDMARK_LAV_RADIO_TOWER ; 46
const LANDMARK_CELADON_CITY ; 47
const LANDMARK_SAFFRON_CITY ; 48
const LANDMARK_ROUTE_11 ; 49
const LANDMARK_ROUTE_12 ; 4a
const LANDMARK_ROUTE_13 ; 4b
const LANDMARK_ROUTE_14 ; 4c
const LANDMARK_ROUTE_15 ; 4d
const LANDMARK_ROUTE_16 ; 4e
const LANDMARK_ROUTE_17 ; 4f
const LANDMARK_ROUTE_18 ; 50
const LANDMARK_FUCHSIA_CITY ; 51
const LANDMARK_ROUTE_19 ; 52
const LANDMARK_ROUTE_20 ; 53
const LANDMARK_SEAFOAM_ISLANDS ; 54
const LANDMARK_CINNABAR_ISLAND ; 55
const LANDMARK_ROUTE_21 ; 56
const LANDMARK_ROUTE_22 ; 57
const LANDMARK_VICTORY_ROAD ; 58
const LANDMARK_ROUTE_23 ; 59
const LANDMARK_INDIGO_PLATEAU ; 5a
const LANDMARK_ROUTE_26 ; 5b
const LANDMARK_ROUTE_27 ; 5c
const LANDMARK_TOHJO_FALLS ; 5d
const LANDMARK_ROUTE_28 ; 5e
const LANDMARK_FAST_SHIP ; 5f
DEF NUM_LANDMARKS EQU const_value
; used in CaughtData
const_def $7f, -1
const LANDMARK_EVENT ; $7f
const LANDMARK_GIFT ; $7e
; Regions
const_def
const JOHTO_REGION ; 0
const KANTO_REGION ; 1
DEF NUM_REGIONS EQU const_value

504
constants/map_constants.asm Normal file
View file

@ -0,0 +1,504 @@
MACRO newgroup
;\1: group id
const_skip
DEF MAPGROUP_\1 EQU const_value
DEF CURRENT_NUM_MAPGROUP_MAPS EQUS "NUM_\1_MAPS"
DEF __map_value__ = 1
ENDM
MACRO map_const
;\1: map id
;\2: width: in blocks
;\3: height: in blocks
DEF GROUP_\1 EQU const_value
DEF MAP_\1 EQU __map_value__
DEF __map_value__ += 1
DEF \1_WIDTH EQU \2
DEF \1_HEIGHT EQU \3
ENDM
MACRO endgroup
DEF {CURRENT_NUM_MAPGROUP_MAPS} EQU __map_value__ - 1
PURGE CURRENT_NUM_MAPGROUP_MAPS
ENDM
; map group ids
; `newgroup` indexes are for:
; - MapGroupPointers (see data/maps/maps.asm)
; - MapGroupRoofs (see data/maps/roofs.asm)
; - OutdoorSprites (see data/maps/outdoor_sprites.asm)
; - RoofPals (see gfx/tilesets/roofs.pal)
; `map_const` indexes are for the sub-tables of MapGroupPointers (see data/maps/maps.asm)
; Each map also has associated data:
; - attributes (see data/maps/attributes.asm)
; - blocks (see data/maps/blocks.asm)
; - scripts and events (see data/maps/scripts.asm)
const_def
newgroup OLIVINE ; 1
map_const OLIVINE_POKECENTER_1F, 5, 4 ; 1
map_const OLIVINE_GYM, 5, 8 ; 2
map_const OLIVINE_TIMS_HOUSE, 4, 4 ; 3
map_const OLIVINE_HOUSE_BETA, 4, 4 ; 4
map_const OLIVINE_PUNISHMENT_SPEECH_HOUSE, 4, 4 ; 5
map_const OLIVINE_GOOD_ROD_HOUSE, 4, 4 ; 6
map_const OLIVINE_CAFE, 4, 4 ; 7
map_const OLIVINE_MART, 6, 4 ; 8
map_const ROUTE_38_ECRUTEAK_GATE, 5, 4 ; 9
map_const ROUTE_39_BARN, 4, 4 ; 10
map_const ROUTE_39_FARMHOUSE, 4, 4 ; 11
map_const ROUTE_38, 20, 9 ; 12
map_const ROUTE_39, 10, 18 ; 13
map_const OLIVINE_CITY, 20, 18 ; 14
endgroup
newgroup MAHOGANY ; 2
map_const MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, 4, 4 ; 1
map_const MAHOGANY_GYM, 5, 9 ; 2
map_const MAHOGANY_POKECENTER_1F, 5, 4 ; 3
map_const ROUTE_42_ECRUTEAK_GATE, 5, 4 ; 4
map_const ROUTE_42, 30, 9 ; 5
map_const ROUTE_44, 30, 9 ; 6
map_const MAHOGANY_TOWN, 10, 9 ; 7
endgroup
newgroup DUNGEONS ; 3
map_const SPROUT_TOWER_1F, 10, 8 ; 1
map_const SPROUT_TOWER_2F, 10, 8 ; 2
map_const SPROUT_TOWER_3F, 10, 8 ; 3
map_const TIN_TOWER_1F, 10, 9 ; 4
map_const TIN_TOWER_2F, 10, 9 ; 5
map_const TIN_TOWER_3F, 10, 9 ; 6
map_const TIN_TOWER_4F, 10, 9 ; 7
map_const TIN_TOWER_5F, 10, 9 ; 8
map_const TIN_TOWER_6F, 10, 9 ; 9
map_const TIN_TOWER_7F, 10, 9 ; 10
map_const TIN_TOWER_8F, 10, 9 ; 11
map_const TIN_TOWER_9F, 10, 9 ; 12
map_const BURNED_TOWER_1F, 10, 9 ; 13
map_const BURNED_TOWER_B1F, 10, 9 ; 14
map_const NATIONAL_PARK, 20, 27 ; 15
map_const NATIONAL_PARK_BUG_CONTEST, 20, 27 ; 16
map_const RADIO_TOWER_1F, 9, 4 ; 17
map_const RADIO_TOWER_2F, 9, 4 ; 18
map_const RADIO_TOWER_3F, 9, 4 ; 19
map_const RADIO_TOWER_4F, 9, 4 ; 20
map_const RADIO_TOWER_5F, 9, 4 ; 21
map_const RUINS_OF_ALPH_OUTSIDE, 10, 18 ; 22
map_const RUINS_OF_ALPH_HO_OH_CHAMBER, 4, 5 ; 23
map_const RUINS_OF_ALPH_KABUTO_CHAMBER, 4, 5 ; 24
map_const RUINS_OF_ALPH_OMANYTE_CHAMBER, 4, 5 ; 25
map_const RUINS_OF_ALPH_AERODACTYL_CHAMBER, 4, 5 ; 26
map_const RUINS_OF_ALPH_INNER_CHAMBER, 10, 14 ; 27
map_const RUINS_OF_ALPH_RESEARCH_CENTER, 4, 4 ; 28
map_const RUINS_OF_ALPH_HO_OH_ITEM_ROOM, 4, 5 ; 29
map_const RUINS_OF_ALPH_KABUTO_ITEM_ROOM, 4, 5 ; 30
map_const RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, 4, 5 ; 31
map_const RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, 4, 5 ; 32
map_const RUINS_OF_ALPH_HO_OH_WORD_ROOM, 10, 12 ; 33
map_const RUINS_OF_ALPH_KABUTO_WORD_ROOM, 10, 7 ; 34
map_const RUINS_OF_ALPH_OMANYTE_WORD_ROOM, 10, 8 ; 35
map_const RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, 10, 7 ; 36
map_const UNION_CAVE_1F, 10, 18 ; 37
map_const UNION_CAVE_B1F, 10, 18 ; 38
map_const UNION_CAVE_B2F, 10, 18 ; 39
map_const SLOWPOKE_WELL_B1F, 10, 9 ; 40
map_const SLOWPOKE_WELL_B2F, 10, 9 ; 41
map_const OLIVINE_LIGHTHOUSE_1F, 10, 9 ; 42
map_const OLIVINE_LIGHTHOUSE_2F, 10, 9 ; 43
map_const OLIVINE_LIGHTHOUSE_3F, 10, 9 ; 44
map_const OLIVINE_LIGHTHOUSE_4F, 10, 9 ; 45
map_const OLIVINE_LIGHTHOUSE_5F, 10, 9 ; 46
map_const OLIVINE_LIGHTHOUSE_6F, 10, 9 ; 47
map_const MAHOGANY_MART_1F, 4, 4 ; 48
map_const TEAM_ROCKET_BASE_B1F, 15, 9 ; 49
map_const TEAM_ROCKET_BASE_B2F, 15, 9 ; 50
map_const TEAM_ROCKET_BASE_B3F, 15, 9 ; 51
map_const ILEX_FOREST, 15, 27 ; 52
map_const GOLDENROD_UNDERGROUND, 15, 18 ; 53
map_const GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, 15, 18 ; 54
map_const GOLDENROD_DEPT_STORE_B1F, 10, 9 ; 55
map_const GOLDENROD_UNDERGROUND_WAREHOUSE, 10, 9 ; 56
map_const MOUNT_MORTAR_1F_OUTSIDE, 20, 18 ; 57
map_const MOUNT_MORTAR_1F_INSIDE, 20, 27 ; 58
map_const MOUNT_MORTAR_2F_INSIDE, 20, 18 ; 59
map_const MOUNT_MORTAR_B1F, 20, 18 ; 60
map_const ICE_PATH_1F, 20, 18 ; 61
map_const ICE_PATH_B1F, 10, 18 ; 62
map_const ICE_PATH_B2F_MAHOGANY_SIDE, 10, 9 ; 63
map_const ICE_PATH_B2F_BLACKTHORN_SIDE, 5, 9 ; 64
map_const ICE_PATH_B3F, 10, 9 ; 65
map_const WHIRL_ISLAND_NW, 5, 9 ; 66
map_const WHIRL_ISLAND_NE, 10, 9 ; 67
map_const WHIRL_ISLAND_SW, 10, 9 ; 68
map_const WHIRL_ISLAND_CAVE, 5, 9 ; 69
map_const WHIRL_ISLAND_SE, 5, 9 ; 70
map_const WHIRL_ISLAND_B1F, 20, 18 ; 71
map_const WHIRL_ISLAND_B2F, 10, 18 ; 72
map_const WHIRL_ISLAND_LUGIA_CHAMBER, 10, 9 ; 73
map_const SILVER_CAVE_ROOM_1, 10, 18 ; 74
map_const SILVER_CAVE_ROOM_2, 15, 18 ; 75
map_const SILVER_CAVE_ROOM_3, 10, 18 ; 76
map_const SILVER_CAVE_ITEM_ROOMS, 10, 9 ; 77
map_const DARK_CAVE_VIOLET_ENTRANCE, 20, 18 ; 78
map_const DARK_CAVE_BLACKTHORN_ENTRANCE, 15, 18 ; 79
map_const DRAGONS_DEN_1F, 5, 9 ; 80
map_const DRAGONS_DEN_B1F, 20, 18 ; 81
map_const DRAGON_SHRINE, 5, 5 ; 82
map_const TOHJO_FALLS, 15, 9 ; 83
map_const DIGLETTS_CAVE, 10, 18 ; 84
map_const MOUNT_MOON, 15, 9 ; 85
map_const UNDERGROUND_PATH, 3, 14 ; 86
map_const ROCK_TUNNEL_1F, 15, 18 ; 87
map_const ROCK_TUNNEL_B1F, 15, 18 ; 88
map_const SAFARI_ZONE_FUCHSIA_GATE_BETA, 5, 4 ; 89
map_const SAFARI_ZONE_BETA, 10, 18 ; 90
map_const VICTORY_ROAD, 10, 36 ; 91
endgroup
newgroup ECRUTEAK ; 4
map_const ECRUTEAK_TIN_TOWER_ENTRANCE, 10, 9 ; 1
map_const WISE_TRIOS_ROOM, 4, 4 ; 2
map_const ECRUTEAK_POKECENTER_1F, 5, 4 ; 3
map_const ECRUTEAK_LUGIA_SPEECH_HOUSE, 4, 4 ; 4
map_const DANCE_THEATER, 6, 7 ; 5
map_const ECRUTEAK_MART, 6, 4 ; 6
map_const ECRUTEAK_GYM, 5, 9 ; 7
map_const ECRUTEAK_ITEMFINDER_HOUSE, 4, 4 ; 8
map_const ECRUTEAK_CITY, 20, 18 ; 9
endgroup
newgroup BLACKTHORN ; 5
map_const BLACKTHORN_GYM_1F, 5, 9 ; 1
map_const BLACKTHORN_GYM_2F, 5, 9 ; 2
map_const BLACKTHORN_DRAGON_SPEECH_HOUSE, 4, 4 ; 3
map_const BLACKTHORN_EMYS_HOUSE, 4, 4 ; 4
map_const BLACKTHORN_MART, 6, 4 ; 5
map_const BLACKTHORN_POKECENTER_1F, 5, 4 ; 6
map_const MOVE_DELETERS_HOUSE, 4, 4 ; 7
map_const ROUTE_45, 10, 45 ; 8
map_const ROUTE_46, 10, 18 ; 9
map_const BLACKTHORN_CITY, 20, 18 ; 10
endgroup
newgroup CINNABAR ; 6
map_const CINNABAR_POKECENTER_1F, 5, 4 ; 1
map_const CINNABAR_POKECENTER_2F_BETA, 8, 4 ; 2
map_const ROUTE_19_FUCHSIA_GATE, 5, 4 ; 3
map_const SEAFOAM_GYM, 5, 4 ; 4
map_const ROUTE_19, 10, 18 ; 5
map_const ROUTE_20, 30, 9 ; 6
map_const ROUTE_21, 10, 18 ; 7
map_const CINNABAR_ISLAND, 10, 9 ; 8
endgroup
newgroup CERULEAN ; 7
map_const CERULEAN_GYM_BADGE_SPEECH_HOUSE, 4, 4 ; 1
map_const CERULEAN_POLICE_STATION, 4, 4 ; 2
map_const CERULEAN_TRADE_SPEECH_HOUSE, 4, 4 ; 3
map_const CERULEAN_POKECENTER_1F, 5, 4 ; 4
map_const CERULEAN_POKECENTER_2F_BETA, 8, 4 ; 5
map_const CERULEAN_GYM, 5, 8 ; 6
map_const CERULEAN_MART, 6, 4 ; 7
map_const ROUTE_10_POKECENTER_1F, 5, 4 ; 8
map_const ROUTE_10_POKECENTER_2F_BETA, 8, 4 ; 9
map_const POWER_PLANT, 10, 9 ; 10
map_const BILLS_HOUSE, 4, 4 ; 11
map_const ROUTE_4, 20, 9 ; 12
map_const ROUTE_9, 30, 9 ; 13
map_const ROUTE_10_NORTH, 10, 9 ; 14
map_const ROUTE_24, 10, 9 ; 15
map_const ROUTE_25, 30, 9 ; 16
map_const CERULEAN_CITY, 20, 18 ; 17
endgroup
newgroup AZALEA ; 8
map_const AZALEA_POKECENTER_1F, 5, 4 ; 1
map_const CHARCOAL_KILN, 4, 4 ; 2
map_const AZALEA_MART, 6, 4 ; 3
map_const KURTS_HOUSE, 8, 4 ; 4
map_const AZALEA_GYM, 5, 8 ; 5
map_const ROUTE_33, 10, 9 ; 6
map_const AZALEA_TOWN, 20, 9 ; 7
endgroup
newgroup LAKE_OF_RAGE ; 9
map_const LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, 4, 4 ; 1
map_const LAKE_OF_RAGE_MAGIKARP_HOUSE, 4, 4 ; 2
map_const ROUTE_43_MAHOGANY_GATE, 5, 4 ; 3
map_const ROUTE_43_GATE, 5, 4 ; 4
map_const ROUTE_43, 10, 27 ; 5
map_const LAKE_OF_RAGE, 20, 18 ; 6
endgroup
newgroup VIOLET ; 10
map_const ROUTE_32, 10, 45 ; 1
map_const ROUTE_35, 10, 18 ; 2
map_const ROUTE_36, 30, 9 ; 3
map_const ROUTE_37, 10, 9 ; 4
map_const VIOLET_CITY, 20, 18 ; 5
map_const VIOLET_MART, 6, 4 ; 6
map_const VIOLET_GYM, 5, 8 ; 7
map_const EARLS_POKEMON_ACADEMY, 4, 8 ; 8
map_const VIOLET_NICKNAME_SPEECH_HOUSE, 4, 4 ; 9
map_const VIOLET_POKECENTER_1F, 5, 4 ; 10
map_const VIOLET_KYLES_HOUSE, 4, 4 ; 11
map_const ROUTE_32_RUINS_OF_ALPH_GATE, 5, 4 ; 12
map_const ROUTE_32_POKECENTER_1F, 5, 4 ; 13
map_const ROUTE_35_GOLDENROD_GATE, 5, 4 ; 14
map_const ROUTE_35_NATIONAL_PARK_GATE, 4, 4 ; 15
map_const ROUTE_36_RUINS_OF_ALPH_GATE, 5, 4 ; 16
map_const ROUTE_36_NATIONAL_PARK_GATE, 5, 4 ; 17
endgroup
newgroup GOLDENROD ; 11
map_const ROUTE_34, 10, 27 ; 1
map_const GOLDENROD_CITY, 20, 18 ; 2
map_const GOLDENROD_GYM, 10, 9 ; 3
map_const GOLDENROD_BIKE_SHOP, 4, 4 ; 4
map_const GOLDENROD_HAPPINESS_RATER, 4, 4 ; 5
map_const BILLS_FAMILYS_HOUSE, 4, 4 ; 6
map_const GOLDENROD_MAGNET_TRAIN_STATION, 10, 9 ; 7
map_const GOLDENROD_FLOWER_SHOP, 4, 4 ; 8
map_const GOLDENROD_PP_SPEECH_HOUSE, 4, 4 ; 9
map_const GOLDENROD_NAME_RATER, 4, 4 ; 10
map_const GOLDENROD_DEPT_STORE_1F, 8, 4 ; 11
map_const GOLDENROD_DEPT_STORE_2F, 8, 4 ; 12
map_const GOLDENROD_DEPT_STORE_3F, 8, 4 ; 13
map_const GOLDENROD_DEPT_STORE_4F, 8, 4 ; 14
map_const GOLDENROD_DEPT_STORE_5F, 8, 4 ; 15
map_const GOLDENROD_DEPT_STORE_6F, 8, 4 ; 16
map_const GOLDENROD_DEPT_STORE_ELEVATOR, 2, 2 ; 17
map_const GOLDENROD_DEPT_STORE_ROOF, 8, 4 ; 18
map_const GOLDENROD_GAME_CORNER, 10, 7 ; 19
map_const GOLDENROD_POKECENTER_1F, 5, 4 ; 20
map_const POKECOM_CENTER_ADMIN_OFFICE_MOBILE, 16, 16 ; 21
map_const ILEX_FOREST_AZALEA_GATE, 5, 4 ; 22
map_const ROUTE_34_ILEX_FOREST_GATE, 5, 4 ; 23
map_const DAY_CARE, 5, 4 ; 24
endgroup
newgroup VERMILION ; 12
map_const ROUTE_6, 10, 9 ; 1
map_const ROUTE_11, 20, 9 ; 2
map_const VERMILION_CITY, 20, 18 ; 3
map_const VERMILION_FISHING_SPEECH_HOUSE, 4, 4 ; 4
map_const VERMILION_POKECENTER_1F, 5, 4 ; 5
map_const VERMILION_POKECENTER_2F_BETA, 8, 4 ; 6
map_const POKEMON_FAN_CLUB, 5, 4 ; 7
map_const VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, 4, 4 ; 8
map_const VERMILION_MART, 6, 4 ; 9
map_const VERMILION_DIGLETTS_CAVE_SPEECH_HOUSE, 4, 4 ; 10
map_const VERMILION_GYM, 5, 9 ; 11
map_const ROUTE_6_SAFFRON_GATE, 5, 4 ; 12
map_const ROUTE_6_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13
endgroup
newgroup PALLET ; 13
map_const ROUTE_1, 10, 18 ; 1
map_const PALLET_TOWN, 10, 9 ; 2
map_const REDS_HOUSE_1F, 4, 4 ; 3
map_const REDS_HOUSE_2F, 4, 4 ; 4
map_const BLUES_HOUSE, 4, 4 ; 5
map_const OAKS_LAB, 5, 6 ; 6
endgroup
newgroup PEWTER ; 14
map_const ROUTE_3, 30, 9 ; 1
map_const PEWTER_CITY, 20, 18 ; 2
map_const PEWTER_NIDORAN_SPEECH_HOUSE, 4, 4 ; 3
map_const PEWTER_GYM, 5, 7 ; 4
map_const PEWTER_MART, 6, 4 ; 5
map_const PEWTER_POKECENTER_1F, 5, 4 ; 6
map_const PEWTER_POKECENTER_2F_BETA, 8, 4 ; 7
map_const PEWTER_SNOOZE_SPEECH_HOUSE, 4, 4 ; 8
endgroup
newgroup FAST_SHIP ; 15
map_const OLIVINE_PORT, 10, 18 ; 1
map_const VERMILION_PORT, 10, 18 ; 2
map_const FAST_SHIP_1F, 16, 9 ; 3
map_const FAST_SHIP_CABINS_NNW_NNE_NE, 4, 16 ; 4
map_const FAST_SHIP_CABINS_SW_SSW_NW, 4, 16 ; 5
map_const FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, 5, 17 ; 6
map_const FAST_SHIP_B1F, 16, 8 ; 7
map_const OLIVINE_PORT_PASSAGE, 10, 9 ; 8
map_const VERMILION_PORT_PASSAGE, 10, 9 ; 9
map_const MOUNT_MOON_SQUARE, 15, 9 ; 10
map_const MOUNT_MOON_GIFT_SHOP, 4, 4 ; 11
map_const TIN_TOWER_ROOF, 10, 9 ; 12
endgroup
newgroup INDIGO ; 16
map_const ROUTE_23, 10, 9 ; 1
map_const INDIGO_PLATEAU_POKECENTER_1F, 9, 7 ; 2
map_const WILLS_ROOM, 5, 9 ; 3
map_const KOGAS_ROOM, 5, 9 ; 4
map_const BRUNOS_ROOM, 5, 9 ; 5
map_const KARENS_ROOM, 5, 9 ; 6
map_const LANCES_ROOM, 5, 12 ; 7
map_const HALL_OF_FAME, 5, 7 ; 8
endgroup
newgroup FUCHSIA ; 17
map_const ROUTE_13, 30, 9 ; 1
map_const ROUTE_14, 10, 18 ; 2
map_const ROUTE_15, 20, 9 ; 3
map_const ROUTE_18, 10, 9 ; 4
map_const FUCHSIA_CITY, 20, 18 ; 5
map_const FUCHSIA_MART, 6, 4 ; 6
map_const SAFARI_ZONE_MAIN_OFFICE, 4, 4 ; 7
map_const FUCHSIA_GYM, 5, 9 ; 8
map_const BILLS_BROTHERS_HOUSE, 4, 4 ; 9
map_const FUCHSIA_POKECENTER_1F, 5, 4 ; 10
map_const FUCHSIA_POKECENTER_2F_BETA, 8, 4 ; 11
map_const SAFARI_ZONE_WARDENS_HOME, 5, 4 ; 12
map_const ROUTE_15_FUCHSIA_GATE, 5, 4 ; 13
endgroup
newgroup LAVENDER ; 18
map_const ROUTE_8, 20, 9 ; 1
map_const ROUTE_12, 10, 27 ; 2
map_const ROUTE_10_SOUTH, 10, 9 ; 3
map_const LAVENDER_TOWN, 10, 9 ; 4
map_const LAVENDER_POKECENTER_1F, 5, 4 ; 5
map_const LAVENDER_POKECENTER_2F_BETA, 8, 4 ; 6
map_const MR_FUJIS_HOUSE, 5, 4 ; 7
map_const LAVENDER_SPEECH_HOUSE, 4, 4 ; 8
map_const LAVENDER_NAME_RATER, 4, 4 ; 9
map_const LAVENDER_MART, 6, 4 ; 10
map_const SOUL_HOUSE, 5, 4 ; 11
map_const LAV_RADIO_TOWER_1F, 10, 4 ; 12
map_const ROUTE_8_SAFFRON_GATE, 5, 4 ; 13
map_const ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; 14
endgroup
newgroup SILVER ; 19
map_const ROUTE_28, 20, 9 ; 1
map_const SILVER_CAVE_OUTSIDE, 20, 18 ; 2
map_const SILVER_CAVE_POKECENTER_1F, 5, 4 ; 3
map_const ROUTE_28_STEEL_WING_HOUSE, 4, 4 ; 4
endgroup
newgroup CABLE_CLUB ; 20
map_const POKECENTER_2F, 8, 4 ; 1
map_const TRADE_CENTER, 5, 4 ; 2
map_const COLOSSEUM, 5, 4 ; 3
map_const TIME_CAPSULE, 5, 4 ; 4
map_const MOBILE_TRADE_ROOM, 5, 4 ; 5
map_const MOBILE_BATTLE_ROOM, 5, 4 ; 6
endgroup
newgroup CELADON ; 21
map_const ROUTE_7, 10, 9 ; 1
map_const ROUTE_16, 10, 9 ; 2
map_const ROUTE_17, 10, 45 ; 3
map_const CELADON_CITY, 20, 18 ; 4
map_const CELADON_DEPT_STORE_1F, 8, 4 ; 5
map_const CELADON_DEPT_STORE_2F, 8, 4 ; 6
map_const CELADON_DEPT_STORE_3F, 8, 4 ; 7
map_const CELADON_DEPT_STORE_4F, 8, 4 ; 8
map_const CELADON_DEPT_STORE_5F, 8, 4 ; 9
map_const CELADON_DEPT_STORE_6F, 8, 4 ; 10
map_const CELADON_DEPT_STORE_ELEVATOR, 2, 2 ; 11
map_const CELADON_MANSION_1F, 4, 5 ; 12
map_const CELADON_MANSION_2F, 4, 5 ; 13
map_const CELADON_MANSION_3F, 4, 5 ; 14
map_const CELADON_MANSION_ROOF, 4, 5 ; 15
map_const CELADON_MANSION_ROOF_HOUSE, 4, 4 ; 16
map_const CELADON_POKECENTER_1F, 5, 4 ; 17
map_const CELADON_POKECENTER_2F_BETA, 8, 4 ; 18
map_const CELADON_GAME_CORNER, 10, 7 ; 19
map_const CELADON_GAME_CORNER_PRIZE_ROOM, 3, 3 ; 20
map_const CELADON_GYM, 5, 9 ; 21
map_const CELADON_CAFE, 6, 4 ; 22
map_const ROUTE_16_FUCHSIA_SPEECH_HOUSE, 4, 4 ; 23
map_const ROUTE_16_GATE, 5, 4 ; 24
map_const ROUTE_7_SAFFRON_GATE, 5, 4 ; 25
map_const ROUTE_17_ROUTE_18_GATE, 5, 4 ; 26
endgroup
newgroup CIANWOOD ; 22
map_const ROUTE_40, 10, 18 ; 1
map_const ROUTE_41, 25, 27 ; 2
map_const CIANWOOD_CITY, 15, 27 ; 3
map_const MANIAS_HOUSE, 4, 4 ; 4
map_const CIANWOOD_GYM, 5, 9 ; 5
map_const CIANWOOD_POKECENTER_1F, 5, 4 ; 6
map_const CIANWOOD_PHARMACY, 4, 4 ; 7
map_const CIANWOOD_PHOTO_STUDIO, 4, 4 ; 8
map_const CIANWOOD_LUGIA_SPEECH_HOUSE, 4, 4 ; 9
map_const POKE_SEERS_HOUSE, 4, 4 ; 10
map_const BATTLE_TOWER_1F, 8, 5 ; 11
map_const BATTLE_TOWER_BATTLE_ROOM, 4, 4 ; 12
map_const BATTLE_TOWER_ELEVATOR, 2, 2 ; 13
map_const BATTLE_TOWER_HALLWAY, 11, 2 ; 14
map_const ROUTE_40_BATTLE_TOWER_GATE, 5, 4 ; 15
map_const BATTLE_TOWER_OUTSIDE, 10, 14 ; 16
endgroup
newgroup VIRIDIAN ; 23
map_const ROUTE_2, 10, 27 ; 1
map_const ROUTE_22, 20, 9 ; 2
map_const VIRIDIAN_CITY, 20, 18 ; 3
map_const VIRIDIAN_GYM, 5, 9 ; 4
map_const VIRIDIAN_NICKNAME_SPEECH_HOUSE, 4, 4 ; 5
map_const TRAINER_HOUSE_1F, 5, 7 ; 6
map_const TRAINER_HOUSE_B1F, 5, 8 ; 7
map_const VIRIDIAN_MART, 6, 4 ; 8
map_const VIRIDIAN_POKECENTER_1F, 5, 4 ; 9
map_const VIRIDIAN_POKECENTER_2F_BETA, 8, 4 ; 10
map_const ROUTE_2_NUGGET_HOUSE, 4, 4 ; 11
map_const ROUTE_2_GATE, 5, 4 ; 12
map_const VICTORY_ROAD_GATE, 10, 9 ; 13
endgroup
newgroup NEW_BARK ; 24
map_const ROUTE_26, 10, 54 ; 1
map_const ROUTE_27, 40, 9 ; 2
map_const ROUTE_29, 30, 9 ; 3
map_const NEW_BARK_TOWN, 10, 9 ; 4
map_const ELMS_LAB, 5, 6 ; 5
map_const PLAYERS_HOUSE_1F, 5, 4 ; 6
map_const PLAYERS_HOUSE_2F, 4, 3 ; 7
map_const PLAYERS_NEIGHBORS_HOUSE, 4, 4 ; 8
map_const ELMS_HOUSE, 4, 4 ; 9
map_const ROUTE_26_HEAL_HOUSE, 4, 4 ; 10
map_const DAY_OF_WEEK_SIBLINGS_HOUSE, 4, 4 ; 11
map_const ROUTE_27_SANDSTORM_HOUSE, 4, 4 ; 12
map_const ROUTE_29_ROUTE_46_GATE, 5, 4 ; 13
endgroup
newgroup SAFFRON ; 25
map_const ROUTE_5, 10, 9 ; 1
map_const SAFFRON_CITY, 20, 18 ; 2
map_const FIGHTING_DOJO, 5, 6 ; 3
map_const SAFFRON_GYM, 10, 9 ; 4
map_const SAFFRON_MART, 6, 4 ; 5
map_const SAFFRON_POKECENTER_1F, 5, 4 ; 6
map_const SAFFRON_POKECENTER_2F_BETA, 8, 4 ; 7
map_const MR_PSYCHICS_HOUSE, 4, 4 ; 8
map_const SAFFRON_MAGNET_TRAIN_STATION, 10, 9 ; 9
map_const SILPH_CO_1F, 8, 4 ; 10
map_const COPYCATS_HOUSE_1F, 4, 4 ; 11
map_const COPYCATS_HOUSE_2F, 5, 3 ; 12
map_const ROUTE_5_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13
map_const ROUTE_5_SAFFRON_GATE, 5, 4 ; 14
map_const ROUTE_5_CLEANSE_TAG_HOUSE, 4, 4 ; 15
endgroup
newgroup CHERRYGROVE ; 26
map_const ROUTE_30, 10, 27 ; 1
map_const ROUTE_31, 20, 9 ; 2
map_const CHERRYGROVE_CITY, 20, 9 ; 3
map_const CHERRYGROVE_MART, 6, 4 ; 4
map_const CHERRYGROVE_POKECENTER_1F, 5, 4 ; 5
map_const CHERRYGROVE_GYM_SPEECH_HOUSE, 4, 4 ; 6
map_const GUIDE_GENTS_HOUSE, 4, 4 ; 7
map_const CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, 4, 4 ; 8
map_const ROUTE_30_BERRY_HOUSE, 4, 4 ; 9
map_const MR_POKEMONS_HOUSE, 4, 4 ; 10
map_const ROUTE_31_VIOLET_GATE, 5, 4 ; 11
endgroup
DEF NUM_MAP_GROUPS EQU const_value ; 26

View file

@ -0,0 +1,141 @@
DEF MAPGROUP_N_A EQU -1
DEF GROUP_N_A EQU -1
DEF MAP_N_A EQU -1
DEF MAPGROUP_NONE EQU 0
DEF GROUP_NONE EQU 0
DEF MAP_NONE EQU 0
; map struct members (see data/maps/maps.asm)
rsreset
DEF MAP_MAPATTRIBUTES_BANK rb ; 0
DEF MAP_TILESET rb ; 1
DEF MAP_ENVIRONMENT rb ; 2
DEF MAP_MAPATTRIBUTES rw ; 3
DEF MAP_LOCATION rb ; 5
DEF MAP_MUSIC rb ; 6
DEF MAP_PALETTE rb ; 7
DEF MAP_FISHGROUP rb ; 8
DEF MAP_LENGTH EQU _RS
; map environments (wEnvironment)
; EnvironmentColorsPointers indexes (see data/maps/environment_colors.asm)
const_def 1
const TOWN
const ROUTE
const INDOOR
const CAVE
const ENVIRONMENT_5
const GATE
const DUNGEON
DEF NUM_ENVIRONMENTS EQU const_value - 1
; map palettes (wEnvironment)
const_def
const PALETTE_AUTO
const PALETTE_DAY
const PALETTE_NITE
const PALETTE_MORN
const PALETTE_DARK
DEF NUM_MAP_PALETTES EQU const_value
; FishGroups indexes (see data/wild/fish.asm)
const_def
const FISHGROUP_NONE
const FISHGROUP_SHORE
const FISHGROUP_OCEAN
const FISHGROUP_LAKE
const FISHGROUP_POND
const FISHGROUP_DRATINI
const FISHGROUP_QWILFISH_SWARM
const FISHGROUP_REMORAID_SWARM
const FISHGROUP_GYARADOS
const FISHGROUP_DRATINI_2
const FISHGROUP_WHIRL_ISLANDS
const FISHGROUP_QWILFISH
const FISHGROUP_REMORAID
const FISHGROUP_QWILFISH_NO_SWARM
DEF NUM_FISHGROUPS EQU const_value - 1
; connection directions (see data/maps/data.asm)
const_def
const EAST_F
const WEST_F
const SOUTH_F
const NORTH_F
; wMapConnections
const_def
shift_const EAST
shift_const WEST
shift_const SOUTH
shift_const NORTH
; SpawnPoints indexes (see data/maps/spawn_points.asm)
const_def
const SPAWN_HOME
const SPAWN_DEBUG
; kanto
const SPAWN_PALLET
const SPAWN_VIRIDIAN
const SPAWN_PEWTER
const SPAWN_CERULEAN
const SPAWN_ROCK_TUNNEL
const SPAWN_VERMILION
const SPAWN_LAVENDER
const SPAWN_SAFFRON
const SPAWN_CELADON
const SPAWN_FUCHSIA
const SPAWN_CINNABAR
const SPAWN_INDIGO
; johto
const SPAWN_NEW_BARK
const SPAWN_CHERRYGROVE
const SPAWN_VIOLET
const SPAWN_UNION_CAVE
const SPAWN_AZALEA
const SPAWN_CIANWOOD
const SPAWN_GOLDENROD
const SPAWN_OLIVINE
const SPAWN_ECRUTEAK
const SPAWN_MAHOGANY
const SPAWN_LAKE_OF_RAGE
const SPAWN_BLACKTHORN
const SPAWN_MT_SILVER
const SPAWN_FAST_SHIP
DEF NUM_SPAWNS EQU const_value
DEF SPAWN_N_A EQU -1
; Flypoints indexes (see data/maps/flypoints.asm)
const_def
; johto
DEF JOHTO_FLYPOINT EQU const_value
const FLY_NEW_BARK
const FLY_CHERRYGROVE
const FLY_VIOLET
const FLY_AZALEA
const FLY_GOLDENROD
const FLY_ECRUTEAK
const FLY_OLIVINE
const FLY_CIANWOOD
const FLY_MAHOGANY
const FLY_LAKE_OF_RAGE
const FLY_BLACKTHORN
const FLY_MT_SILVER
; kanto
DEF KANTO_FLYPOINT EQU const_value
const FLY_PALLET
const FLY_VIRIDIAN
const FLY_PEWTER
const FLY_CERULEAN
const FLY_VERMILION
const FLY_ROCK_TUNNEL
const FLY_LAVENDER
const FLY_CELADON
const FLY_SAFFRON
const FLY_FUCHSIA
const FLY_CINNABAR
const FLY_INDIGO
DEF NUM_FLYPOINTS EQU const_value
DEF MAX_OUTDOOR_SPRITES EQU 23 ; see engine/overworld/overworld.asm

View file

@ -0,0 +1,308 @@
; object_struct members (see macros/ram.asm)
rsreset
DEF OBJECT_SPRITE rb ; 00
DEF OBJECT_MAP_OBJECT_INDEX rb ; 01
DEF OBJECT_SPRITE_TILE rb ; 02
DEF OBJECT_MOVEMENT_TYPE rb ; 03
DEF OBJECT_FLAGS1 rb ; 04
DEF OBJECT_FLAGS2 rb ; 05
DEF OBJECT_PALETTE rb ; 06
DEF OBJECT_WALKING rb ; 07
DEF OBJECT_DIRECTION rb ; 08
DEF OBJECT_STEP_TYPE rb ; 09
DEF OBJECT_STEP_DURATION rb ; 0a
DEF OBJECT_ACTION rb ; 0b
DEF OBJECT_STEP_FRAME rb ; 0c
DEF OBJECT_FACING rb ; 0d
DEF OBJECT_TILE rb ; 0e
DEF OBJECT_LAST_TILE rb ; 0f
DEF OBJECT_MAP_X rb ; 10
DEF OBJECT_MAP_Y rb ; 11
DEF OBJECT_LAST_MAP_X rb ; 12
DEF OBJECT_LAST_MAP_Y rb ; 13
DEF OBJECT_INIT_X rb ; 14
DEF OBJECT_INIT_Y rb ; 15
DEF OBJECT_RADIUS rb ; 16
DEF OBJECT_SPRITE_X rb ; 17
DEF OBJECT_SPRITE_Y rb ; 18
DEF OBJECT_SPRITE_X_OFFSET rb ; 19
DEF OBJECT_SPRITE_Y_OFFSET rb ; 1a
DEF OBJECT_MOVEMENT_INDEX rb ; 1b
DEF OBJECT_STEP_INDEX rb ; 1c
DEF OBJECT_1D rb ; 1d
DEF OBJECT_1E rb ; 1e
DEF OBJECT_JUMP_HEIGHT rb ; 1f
DEF OBJECT_RANGE rb ; 20
rb_skip 7
DEF OBJECT_LENGTH EQU _RS
DEF NUM_OBJECT_STRUCTS EQU 13 ; see wObjectStructs
; object_struct OBJECT_DIRECTION values
DEF OW_DOWN EQU DOWN << 2
DEF OW_UP EQU UP << 2
DEF OW_LEFT EQU LEFT << 2
DEF OW_RIGHT EQU RIGHT << 2
; object_struct OBJECT_FLAGS1 bit flags
const_def
const INVISIBLE_F ; 0
const WONT_DELETE_F ; 1
const FIXED_FACING_F ; 2
const SLIDING_F ; 3
const NOCLIP_TILES_F ; 4
const MOVE_ANYWHERE_F ; 5
const NOCLIP_OBJS_F ; 6
const EMOTE_OBJECT_F ; 7
DEF INVISIBLE EQU 1 << INVISIBLE_F
DEF WONT_DELETE EQU 1 << WONT_DELETE_F
DEF FIXED_FACING EQU 1 << FIXED_FACING_F
DEF SLIDING EQU 1 << SLIDING_F
DEF NOCLIP_TILES EQU 1 << NOCLIP_TILES_F
DEF MOVE_ANYWHERE EQU 1 << MOVE_ANYWHERE_F
DEF NOCLIP_OBJS EQU 1 << NOCLIP_OBJS_F
DEF EMOTE_OBJECT EQU 1 << EMOTE_OBJECT_F
; object_struct OBJECT_FLAGS2 bit flags
const_def
const LOW_PRIORITY_F ; 0
const HIGH_PRIORITY_F ; 1
const OBJ_FLAGS2_2 ; 2
const OVERHEAD_F ; 3
const USE_OBP1_F ; 4
const FROZEN_F ; 5
const OBJ_FLAGS2_6 ; 6
const OBJ_FLAGS2_7 ; 7
DEF LOW_PRIORITY EQU 1 << LOW_PRIORITY_F
DEF HIGH_PRIORITY EQU 1 << HIGH_PRIORITY_F
DEF OVERHEAD EQU 1 << OVERHEAD_F
DEF USE_OBP1 EQU 1 << USE_OBP1_F
; object_struct OBJECT_PALETTE bit flags
const_def 5
const SWIMMING_F ; 5
const STRENGTH_BOULDER_F ; 6
const BIG_OBJECT_F ; 7
DEF SWIMMING EQU 1 << SWIMMING_F
DEF STRENGTH_BOULDER EQU 1 << STRENGTH_BOULDER_F
DEF BIG_OBJECT EQU 1 << BIG_OBJECT_F
; facing attribute bit flags
DEF RELATIVE_ATTRIBUTES_F EQU 1
DEF ABSOLUTE_TILE_ID_F EQU 2
DEF RELATIVE_ATTRIBUTES EQU 1 << RELATIVE_ATTRIBUTES_F
DEF ABSOLUTE_TILE_ID EQU 1 << ABSOLUTE_TILE_ID_F
; map_object struct members (see macros/ram.asm)
rsreset
DEF MAPOBJECT_OBJECT_STRUCT_ID rb ; 0
DEF MAPOBJECT_SPRITE rb ; 1
DEF MAPOBJECT_Y_COORD rb ; 2
DEF MAPOBJECT_X_COORD rb ; 3
DEF MAPOBJECT_MOVEMENT rb ; 4
DEF MAPOBJECT_RADIUS rb ; 5
DEF MAPOBJECT_HOUR_1 rb ; 6
DEF MAPOBJECT_HOUR_2 rb ; 7
rsset MAPOBJECT_HOUR_2
DEF MAPOBJECT_TIMEOFDAY rb ; 7
DEF MAPOBJECT_PALETTE rb ; 8
rsset MAPOBJECT_PALETTE
DEF MAPOBJECT_TYPE rb ; 8
DEF MAPOBJECT_SIGHT_RANGE rb ; 9
DEF MAPOBJECT_SCRIPT_POINTER rw ; a
DEF MAPOBJECT_EVENT_FLAG rw ; c
rb_skip 2
DEF MAPOBJECT_LENGTH EQU _RS
DEF NUM_OBJECTS EQU 16
DEF PLAYER_OBJECT EQU 0
DEF MAPOBJECT_PALETTE_MASK EQU %11110000
DEF MAPOBJECT_TYPE_MASK EQU %00001111
; SpriteMovementData struct members (see data/sprites/map_objects.asm)
rsreset
DEF SPRITEMOVEATTR_MOVEMENT rb ; 0
DEF SPRITEMOVEATTR_FACING rb ; 1
DEF SPRITEMOVEATTR_ACTION rb ; 2
DEF SPRITEMOVEATTR_FLAGS1 rb ; 3
DEF SPRITEMOVEATTR_FLAGS2 rb ; 4
DEF SPRITEMOVEATTR_PALFLAGS rb ; 5
DEF NUM_SPRITEMOVEDATA_FIELDS EQU _RS
DEF MAPOBJECT_SCREEN_WIDTH EQU (SCREEN_WIDTH / 2) + 2
DEF MAPOBJECT_SCREEN_HEIGHT EQU (SCREEN_HEIGHT / 2) + 2
; SpriteMovementData indexes (see data/sprites/map_objects.asm)
const_def
const SPRITEMOVEDATA_00 ; 00
const SPRITEMOVEDATA_STILL ; 01
const SPRITEMOVEDATA_WANDER ; 02
const SPRITEMOVEDATA_SPINRANDOM_SLOW ; 03
const SPRITEMOVEDATA_WALK_UP_DOWN ; 04
const SPRITEMOVEDATA_WALK_LEFT_RIGHT ; 05
const SPRITEMOVEDATA_STANDING_DOWN ; 06
const SPRITEMOVEDATA_STANDING_UP ; 07
const SPRITEMOVEDATA_STANDING_LEFT ; 08
const SPRITEMOVEDATA_STANDING_RIGHT ; 09
const SPRITEMOVEDATA_SPINRANDOM_FAST ; 0a
const SPRITEMOVEDATA_PLAYER ; 0b
const SPRITEMOVEDATA_INDEXED_1 ; 0c
const SPRITEMOVEDATA_INDEXED_2 ; 0d
const SPRITEMOVEDATA_0E ; 0e
const SPRITEMOVEDATA_0F ; 0f
const SPRITEMOVEDATA_10 ; 10
const SPRITEMOVEDATA_11 ; 11
const SPRITEMOVEDATA_12 ; 12
const SPRITEMOVEDATA_FOLLOWING ; 13
const SPRITEMOVEDATA_SCRIPTED ; 14
const SPRITEMOVEDATA_BIGDOLLSYM ; 15
const SPRITEMOVEDATA_POKEMON ; 16
const SPRITEMOVEDATA_SUDOWOODO ; 17
const SPRITEMOVEDATA_SMASHABLE_ROCK ; 18
const SPRITEMOVEDATA_STRENGTH_BOULDER ; 19
const SPRITEMOVEDATA_FOLLOWNOTEXACT ; 1a
const SPRITEMOVEDATA_SHADOW ; 1b
const SPRITEMOVEDATA_EMOTE ; 1c
const SPRITEMOVEDATA_SCREENSHAKE ; 1d
const SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE ; 1e
const SPRITEMOVEDATA_SPINCLOCKWISE ; 1f
const SPRITEMOVEDATA_BIGDOLLASYM ; 20
const SPRITEMOVEDATA_BIGDOLL ; 21
const SPRITEMOVEDATA_BOULDERDUST ; 22
const SPRITEMOVEDATA_GRASS ; 23
const SPRITEMOVEDATA_SWIM_WANDER ; 24
DEF NUM_SPRITEMOVEDATA EQU const_value
; StepFunction_FromMovement.Pointers indexes (see engine/overworld/map_objects.asm)
const_def
const SPRITEMOVEFN_00 ; 00
const SPRITEMOVEFN_RANDOM_WALK_Y ; 01
const SPRITEMOVEFN_RANDOM_WALK_X ; 02
const SPRITEMOVEFN_RANDOM_WALK_XY ; 03
const SPRITEMOVEFN_SLOW_RANDOM_SPIN ; 04
const SPRITEMOVEFN_FAST_RANDOM_SPIN ; 05
const SPRITEMOVEFN_STANDING ; 06
const SPRITEMOVEFN_OBEY_DPAD ; 07
const SPRITEMOVEFN_INDEXED_1 ; 08
const SPRITEMOVEFN_INDEXED_2 ; 09
const SPRITEMOVEFN_0A ; 0a
const SPRITEMOVEFN_0B ; 0b
const SPRITEMOVEFN_0C ; 0c
const SPRITEMOVEFN_0D ; 0d
const SPRITEMOVEFN_0E ; 0e
const SPRITEMOVEFN_FOLLOW ; 0f
const SPRITEMOVEFN_SCRIPTED ; 10
const SPRITEMOVEFN_STRENGTH ; 11
const SPRITEMOVEFN_FOLLOWNOTEXACT ; 12
const SPRITEMOVEFN_SHADOW ; 13
const SPRITEMOVEFN_EMOTE ; 14
const SPRITEMOVEFN_BIG_SNORLAX ; 15
const SPRITEMOVEFN_BOUNCE ; 16
const SPRITEMOVEFN_SCREENSHAKE ; 17
const SPRITEMOVEFN_SPIN_CLOCKWISE ; 18
const SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE ; 19
const SPRITEMOVEFN_BOULDERDUST ; 1a
const SPRITEMOVEFN_GRASS ; 1b
DEF NUM_SPRITEMOVEFN EQU const_value
; StepTypesJumptable indexes (see engine/overworld/map_objects.asm)
const_def
const STEP_TYPE_RESET ; 00
const STEP_TYPE_FROM_MOVEMENT ; 01
const STEP_TYPE_NPC_WALK ; 02
const STEP_TYPE_SLEEP ; 03
const STEP_TYPE_STANDING ; 04
const STEP_TYPE_RESTORE ; 05
const STEP_TYPE_PLAYER_WALK ; 06
const STEP_TYPE_CONTINUE_WALK ; 07
const STEP_TYPE_NPC_JUMP ; 08
const STEP_TYPE_PLAYER_JUMP ; 09
const STEP_TYPE_TURN ; 0a
const STEP_TYPE_BUMP ; 0b
const STEP_TYPE_TELEPORT_FROM ; 0c
const STEP_TYPE_TELEPORT_TO ; 0d
const STEP_TYPE_SKYFALL ; 0e
const STEP_TYPE_STRENGTH_BOULDER ; 0f
const STEP_TYPE_GOT_BITE ; 10
const STEP_TYPE_ROCK_SMASH ; 11
const STEP_TYPE_RETURN_DIG ; 12
const STEP_TYPE_TRACKING_OBJECT ; 13
const STEP_TYPE_14 ; 14
const STEP_TYPE_SCREENSHAKE ; 15
const STEP_TYPE_16 ; 16
const STEP_TYPE_17 ; 17
const STEP_TYPE_DELETE ; 18
const STEP_TYPE_SKYFALL_TOP ; 19
DEF NUM_STEP_TYPES EQU const_value
; ObjectActionPairPointers indexes (see engine/overworld/map_object_action.asm)
const_def
const OBJECT_ACTION_00 ; 00
const OBJECT_ACTION_STAND ; 01
const OBJECT_ACTION_STEP ; 02
const OBJECT_ACTION_BUMP ; 03
const OBJECT_ACTION_SPIN ; 04
const OBJECT_ACTION_SPIN_FLICKER ; 05
const OBJECT_ACTION_FISHING ; 06
const OBJECT_ACTION_SHADOW ; 07
const OBJECT_ACTION_EMOTE ; 08
const OBJECT_ACTION_BIG_DOLL_SYM ; 09
const OBJECT_ACTION_BOUNCE ; 0a
const OBJECT_ACTION_WEIRD_TREE ; 0b
const OBJECT_ACTION_BIG_DOLL_ASYM ; 0c
const OBJECT_ACTION_BIG_DOLL ; 0d
const OBJECT_ACTION_BOULDER_DUST ; 0e
const OBJECT_ACTION_GRASS_SHAKE ; 0f
const OBJECT_ACTION_SKYFALL ; 10
DEF NUM_OBJECT_ACTIONS EQU const_value
; Facings indexes (see data/sprites/facings.asm)
const_def
const FACING_STEP_DOWN_0 ; 00
const FACING_STEP_DOWN_1 ; 01
const FACING_STEP_DOWN_2 ; 02
const FACING_STEP_DOWN_3 ; 03
const FACING_STEP_UP_0 ; 04
const FACING_STEP_UP_1 ; 05
const FACING_STEP_UP_2 ; 06
const FACING_STEP_UP_3 ; 07
const FACING_STEP_LEFT_0 ; 08
const FACING_STEP_LEFT_1 ; 09
const FACING_STEP_LEFT_2 ; 0a
const FACING_STEP_LEFT_3 ; 0b
const FACING_STEP_RIGHT_0 ; 0c
const FACING_STEP_RIGHT_1 ; 0d
const FACING_STEP_RIGHT_2 ; 0e
const FACING_STEP_RIGHT_3 ; 0f
const FACING_FISH_DOWN ; 10
const FACING_FISH_UP ; 11
const FACING_FISH_LEFT ; 12
const FACING_FISH_RIGHT ; 13
const FACING_EMOTE ; 14
const FACING_SHADOW ; 15
const FACING_BIG_DOLL_ASYM ; 16
const FACING_BIG_DOLL_SYM ; 17
const FACING_WEIRD_TREE_0 ; 18
const FACING_WEIRD_TREE_1 ; 19
const FACING_WEIRD_TREE_2 ; 1a
const FACING_WEIRD_TREE_3 ; 1b
const FACING_BOULDER_DUST_1 ; 1c
const FACING_BOULDER_DUST_2 ; 1d
const FACING_GRASS_1 ; 1e
const FACING_GRASS_2 ; 1f
DEF NUM_FACINGS EQU const_value
; DoPlayerMovement.DoStep arguments (see engine/overworld/player_movement.asm)
const_def
const STEP_SLOW ; 0
const STEP_WALK ; 1
const STEP_BIKE ; 2
const STEP_LEDGE ; 3
const STEP_ICE ; 4
const STEP_TURN ; 5
const STEP_BACK_LEDGE ; 6
const STEP_WALK_IN_PLACE ; 7
DEF NUM_STEPS EQU const_value

View file

@ -0,0 +1,24 @@
; hMapEntryMethod values
; MapSetupScripts indexes (see data/maps/setup_scripts.asm)
const_def $f1
const MAPSETUP_WARP ; f1
const MAPSETUP_CONTINUE ; f2
const MAPSETUP_RELOADMAP ; f3
const MAPSETUP_TELEPORT ; f4
const MAPSETUP_DOOR ; f5
const MAPSETUP_FALL ; f6
const MAPSETUP_CONNECTION ; f7
const MAPSETUP_LINKRETURN ; f8
const MAPSETUP_TRAIN ; f9
const MAPSETUP_SUBMENU ; fa
const MAPSETUP_BADWARP ; fb
const MAPSETUP_FLY ; fc
DEF NUM_MAPSETUP_SCRIPTS EQU const_value - $f1
; callback types
const_def 1
const MAPCALLBACK_TILES
const MAPCALLBACK_OBJECTS
const MAPCALLBACK_CMDQUEUE
const MAPCALLBACK_SPRITES
const MAPCALLBACK_NEWMAP

View file

@ -0,0 +1,45 @@
; mart types (see engine/items/mart.asm)
const_def
const MARTTYPE_STANDARD
const MARTTYPE_BITTER
const MARTTYPE_BARGAIN
const MARTTYPE_PHARMACY
const MARTTYPE_ROOFTOP
; Marts indexes (see data/items/marts.asm)
const_def
const MART_CHERRYGROVE
const MART_CHERRYGROVE_DEX
const MART_VIOLET
const MART_AZALEA
const MART_CIANWOOD
const MART_GOLDENROD_2F_1
const MART_GOLDENROD_2F_2
const MART_GOLDENROD_3F
const MART_GOLDENROD_4F
const MART_GOLDENROD_5F_1
const MART_GOLDENROD_5F_2
const MART_GOLDENROD_5F_3
const MART_GOLDENROD_5F_4
const MART_OLIVINE
const MART_ECRUTEAK
const MART_MAHOGANY_1
const MART_MAHOGANY_2
const MART_BLACKTHORN
const MART_VIRIDIAN
const MART_PEWTER
const MART_CERULEAN
const MART_LAVENDER
const MART_VERMILION
const MART_CELADON_2F_1
const MART_CELADON_2F_2
const MART_CELADON_3F
const MART_CELADON_4F
const MART_CELADON_5F_1
const MART_CELADON_5F_2
const MART_FUCHSIA
const MART_SAFFRON
const MART_MT_MOON
const MART_INDIGO_PLATEAU
const MART_UNDERGROUND
DEF NUM_MARTS EQU const_value

View file

@ -0,0 +1,114 @@
; MenuHeader flags
const_def
shift_const MENU_RESTORE_TILES ; Will be set if MENU_BACKUP_TILES(_2) is set.
shift_const MENU_UNUSED_1
shift_const MENU_UNUSED_2
shift_const MENU_NO_CLICK_SFX
shift_const MENU_SPRITE_ANIMS
shift_const MENU_UNUSED_3
shift_const MENU_BACKUP_TILES
shift_const MENU_BACKUP_TILES_2
; VerticalMenu/DoNthMenu/SetUpMenu/_2DMenu MenuData flags
; Per flag the comment specifies which menus actually implement it
const_def
shift_const STATICMENU_DISABLE_B ; VerticalMenu/_2DMenu
shift_const STATICMENU_ENABLE_SELECT ; VerticalMenu/_2DMenu
shift_const STATICMENU_ENABLE_LEFT_RIGHT ; DoNthMenu/SetUpMenu
shift_const STATICMENU_ENABLE_START ; DoNthMenu/SetUpMenu
shift_const STATICMENU_PLACE_TITLE ; VerticalMenu
shift_const STATICMENU_WRAP ; All
shift_const STATICMENU_NO_TOP_SPACING ; VerticalMenu/_2DMenu
shift_const STATICMENU_CURSOR ; VerticalMenu/_2DMenu
; ScrollingMenu MenuData flags
const_def
shift_const SCROLLINGMENU_CALL_FUNCTION1_CANCEL
shift_const SCROLLINGMENU_CALL_FUNCTION3_NO_SWITCH
shift_const SCROLLINGMENU_ENABLE_LEFT
shift_const SCROLLINGMENU_ENABLE_RIGHT
shift_const SCROLLINGMENU_DISPLAY_ARROWS
shift_const SCROLLINGMENU_ENABLE_FUNCTION3
shift_const SCROLLINGMENU_ENABLE_START
shift_const SCROLLINGMENU_ENABLE_SELECT
; ScrollingMenu items structure format
const_def 1
const SCROLLINGMENU_ITEMS_NORMAL
const SCROLLINGMENU_ITEMS_QUANTITY
; MonMenuOptions indexes (see data/mon_menu.asm)
; used by PokemonActionSubmenu (see engine/pokemon/mon_menu.asm)
const_def 1
; moves
const MONMENUITEM_CUT ; 1
const MONMENUITEM_FLY ; 2
const MONMENUITEM_SURF ; 3
const MONMENUITEM_STRENGTH ; 4
const MONMENUITEM_WATERFALL ; 5
const MONMENUITEM_FLASH ; 6
const MONMENUITEM_WHIRLPOOL ; 7
const MONMENUITEM_DIG ; 8
const MONMENUITEM_TELEPORT ; 9
const MONMENUITEM_SOFTBOILED ; 10
const MONMENUITEM_HEADBUTT ; 11
const MONMENUITEM_ROCKSMASH ; 12
const MONMENUITEM_MILKDRINK ; 13
const MONMENUITEM_SWEETSCENT ; 14
; options
const MONMENUITEM_STATS ; 15
const MONMENUITEM_SWITCH ; 16
const MONMENUITEM_ITEM ; 17
const MONMENUITEM_CANCEL ; 18
const MONMENUITEM_MOVE ; 19
const MONMENUITEM_MAIL ; 20
const MONMENUITEM_ERROR ; 21
DEF NUM_MONMENUITEMS EQU const_value - 1
; MonMenuOptions categories
DEF MONMENU_FIELD_MOVE EQU 0
DEF MONMENU_MENUOPTION EQU 1
DEF NUM_MONMENU_ITEMS EQU 8
; start/select menu return values
DEF HMENURETURN_SCRIPT EQU %10000000
DEF HMENURETURN_ASM EQU %11111111
; PartyMenuQualityPointers indexes (see data/party_menu_qualities.asm)
const_def
const PARTYMENUACTION_CHOOSE_POKEMON
const PARTYMENUACTION_HEALING_ITEM
const PARTYMENUACTION_SWITCH
const PARTYMENUACTION_TEACH_TMHM
const PARTYMENUACTION_MOVE
const PARTYMENUACTION_EVO_STONE
const PARTYMENUACTION_GIVE_MON
const PARTYMENUACTION_GIVE_MON_FEMALE ; unused
const PARTYMENUACTION_GIVE_ITEM
const PARTYMENUACTION_MOBILE ; mobile
DEF NUM_PARTYMENUACTIONS EQU const_value
; PrintPartyMenuActionText arguments (see engine/pokemon/party_menu.asm)
const_next $f0
const PARTYMENUTEXT_HEAL_PSN
const PARTYMENUTEXT_HEAL_BRN
const PARTYMENUTEXT_HEAL_FRZ
const PARTYMENUTEXT_HEAL_SLP
const PARTYMENUTEXT_HEAL_PAR
const PARTYMENUTEXT_HEAL_HP
const PARTYMENUTEXT_HEAL_ALL
const PARTYMENUTEXT_REVIVE
const PARTYMENUTEXT_LEVEL_UP
const PARTYMENUTEXT_HEAL_CONFUSION
; Naming types (see engine/menus/naming_screen.asm)
const_def
const NAME_MON
const NAME_PLAYER
const NAME_RIVAL
const NAME_MOM
const NAME_BOX
const NAME_FRIEND
const NAME_6 ; duplicate of NAME_MON
const NAME_7 ; duplicate of NAME_MON
DEF NUM_NAME_TYPES EQU const_value

View file

@ -0,0 +1,49 @@
; Boolean checks
DEF FALSE EQU 0
DEF TRUE EQU 1
; genders
DEF MALE EQU 0
DEF FEMALE EQU 1
; FlagAction arguments (see home/flag.asm)
const_def
const RESET_FLAG
const SET_FLAG
const CHECK_FLAG
; G/S version ID: 0 = Gold, 1 = Silver (used by checkver)
; Mystery Gift uses incremented values 1 and 2
DEF GS_VERSION EQU 0
; Pokémon Pikachu 2, a step counter / virtual pet device (used by Mystery Gift)
DEF POKEMON_PIKACHU_2_VERSION EQU 3
DEF RESERVED_GAME_VERSION EQU 4
; save file corruption check values
DEF SAVE_CHECK_VALUE_1 EQU 99
DEF SAVE_CHECK_VALUE_2 EQU 127
; RTC halted check value
DEF RTC_HALT_VALUE EQU $1234
; time of day boundaries
DEF MORN_HOUR EQU 4 ; 4 AM
DEF DAY_HOUR EQU 10 ; 10 AM
DEF NITE_HOUR EQU 18 ; 6 PM
DEF NOON_HOUR EQU 12 ; 12 PM
DEF MAX_HOUR EQU 24 ; 12 AM
; significant money values
DEF START_MONEY EQU 3000
DEF MOM_MONEY EQU 2300
DEF MAX_MONEY EQU 999999
DEF MAX_COINS EQU 9999
; link record
DEF MAX_LINK_RECORD EQU 9999
; day-care
DEF MAX_DAY_CARE_EXP EQU $500000
; hall of fame
DEF HOF_MASTER_COUNT EQU 200

View file

@ -0,0 +1,73 @@
; MobileAPI calls (see lib/mobile/main.asm:_MobileAPI)
const_def 0, 2
const MOBILEAPI_00
const MOBILEAPI_01
const MOBILEAPI_02
const MOBILEAPI_03
const MOBILEAPI_04
const MOBILEAPI_05
const MOBILEAPI_06
const MOBILEAPI_07
const MOBILEAPI_08
const MOBILEAPI_09
const MOBILEAPI_0A
const MOBILEAPI_0B
const MOBILEAPI_0C
const MOBILEAPI_0D
const MOBILEAPI_0E
const MOBILEAPI_0F
const MOBILEAPI_10
const MOBILEAPI_11
const MOBILEAPI_12
const MOBILEAPI_13
const MOBILEAPI_14
const MOBILEAPI_15
const MOBILEAPI_16
const MOBILEAPI_17
const MOBILEAPI_SETTIMER
const MOBILEAPI_TELEPHONESTATUS
const MOBILEAPI_1A
const MOBILEAPI_1B
const MOBILEAPI_1C
const MOBILEAPI_1D
const MOBILEAPI_1E
const MOBILEAPI_1F
const MOBILEAPI_20
const MOBILEAPI_21
; MobileEZChatCategoryPointers indexes (see mobile/fixed_words.asm)
const_def
const EZCHAT_POKEMON
const EZCHAT_TYPES
const EZCHAT_GREETINGS
const EZCHAT_PEOPLE
const EZCHAT_BATTLE
const EZCHAT_EXCLAMATIONS
const EZCHAT_CONVERSATION
const EZCHAT_FEELINGS
const EZCHAT_CONDITIONS
const EZCHAT_LIFE
const EZCHAT_HOBBIES
const EZCHAT_ACTIONS
const EZCHAT_TIME
const EZCHAT_FAREWELLS
const EZCHAT_THISANDTHAT
DEF NUM_KANA EQU 45 ; length of SortedPokemon table (see mobile/fixed_words.asm)
DEF MOBILE_LOGIN_PASSWORD_LENGTH EQU 17
DEF MOBILE_PHONE_NUMBER_LENGTH EQU 20
; Maximum amount of time allowed for mobile battles each day
DEF MOBILE_BATTLE_ALLOWED_SECONDS EQU 0
DEF MOBILE_BATTLE_ALLOWED_MINUTES EQU 10
; Trade corner request size
; DION addr $1e + request $8 + Name $5
; + party struct $30 + OT $5 + NICK $5
; + JP Mail struct $2a
DEF MOBILE_EMAIL_LENGTH EQU $1e
DEF TRADE_CORNER_REQUEST_LENGTH EQU $8f
DEF EASY_CHAT_MESSAGE_WORD_COUNT EQU 6
DEF EASY_CHAT_MESSAGE_LENGTH EQU EASY_CHAT_MESSAGE_WORD_COUNT * 2 ; every word uses 2 bytes

View file

@ -0,0 +1,304 @@
; move ids
; indexes for:
; - Moves (see data/moves/moves.asm)
; - MoveNames (see data/moves/names.asm)
; - MoveDescriptions (see data/moves/descriptions.asm)
; - BattleAnimations (see data/moves/animations.asm)
const_def
const NO_MOVE ; 00
const POUND ; 01
const KARATE_CHOP ; 02
const DOUBLESLAP ; 03
const COMET_PUNCH ; 04
const MEGA_PUNCH ; 05
const PAY_DAY ; 06
const FIRE_PUNCH ; 07
const ICE_PUNCH ; 08
const THUNDERPUNCH ; 09
const SCRATCH ; 0a
const VICEGRIP ; 0b
const GUILLOTINE ; 0c
const RAZOR_WIND ; 0d
const SWORDS_DANCE ; 0e
const CUT ; 0f
const GUST ; 10
const WING_ATTACK ; 11
const WHIRLWIND ; 12
const FLY ; 13
const BIND ; 14
const SLAM ; 15
const VINE_WHIP ; 16
const STOMP ; 17
const DOUBLE_KICK ; 18
const MEGA_KICK ; 19
const JUMP_KICK ; 1a
const ROLLING_KICK ; 1b
const SAND_ATTACK ; 1c
const HEADBUTT ; 1d
const HORN_ATTACK ; 1e
const FURY_ATTACK ; 1f
const HORN_DRILL ; 20
const TACKLE ; 21
const BODY_SLAM ; 22
const WRAP ; 23
const TAKE_DOWN ; 24
const THRASH ; 25
const DOUBLE_EDGE ; 26
const TAIL_WHIP ; 27
const POISON_STING ; 28
const TWINEEDLE ; 29
const PIN_MISSILE ; 2a
const LEER ; 2b
const BITE ; 2c
const GROWL ; 2d
const ROAR ; 2e
const SING ; 2f
const SUPERSONIC ; 30
const SONICBOOM ; 31
const DISABLE ; 32
const ACID ; 33
const EMBER ; 34
const FLAMETHROWER ; 35
const MIST ; 36
const WATER_GUN ; 37
const HYDRO_PUMP ; 38
const SURF ; 39
const ICE_BEAM ; 3a
const BLIZZARD ; 3b
const PSYBEAM ; 3c
const BUBBLEBEAM ; 3d
const AURORA_BEAM ; 3e
const HYPER_BEAM ; 3f
const PECK ; 40
const DRILL_PECK ; 41
const SUBMISSION ; 42
const LOW_KICK ; 43
const COUNTER ; 44
const SEISMIC_TOSS ; 45
const STRENGTH ; 46
const ABSORB ; 47
const MEGA_DRAIN ; 48
const LEECH_SEED ; 49
const GROWTH ; 4a
const RAZOR_LEAF ; 4b
const SOLARBEAM ; 4c
const POISONPOWDER ; 4d
const STUN_SPORE ; 4e
const SLEEP_POWDER ; 4f
const PETAL_DANCE ; 50
const STRING_SHOT ; 51
const DRAGON_RAGE ; 52
const FIRE_SPIN ; 53
const THUNDERSHOCK ; 54
const THUNDERBOLT ; 55
const THUNDER_WAVE ; 56
const THUNDER ; 57
const ROCK_THROW ; 58
const EARTHQUAKE ; 59
const FISSURE ; 5a
const DIG ; 5b
const TOXIC ; 5c
const CONFUSION ; 5d
const PSYCHIC_M ; 5e
const HYPNOSIS ; 5f
const MEDITATE ; 60
const AGILITY ; 61
const QUICK_ATTACK ; 62
const RAGE ; 63
const TELEPORT ; 64
const NIGHT_SHADE ; 65
const MIMIC ; 66
const SCREECH ; 67
const DOUBLE_TEAM ; 68
const RECOVER ; 69
const HARDEN ; 6a
const MINIMIZE ; 6b
const SMOKESCREEN ; 6c
const CONFUSE_RAY ; 6d
const WITHDRAW ; 6e
const DEFENSE_CURL ; 6f
const BARRIER ; 70
const LIGHT_SCREEN ; 71
const HAZE ; 72
const REFLECT ; 73
const FOCUS_ENERGY ; 74
const BIDE ; 75
const METRONOME ; 76
const MIRROR_MOVE ; 77
const SELFDESTRUCT ; 78
const EGG_BOMB ; 79
const LICK ; 7a
const SMOG ; 7b
const SLUDGE ; 7c
const BONE_CLUB ; 7d
const FIRE_BLAST ; 7e
const WATERFALL ; 7f
const CLAMP ; 80
const SWIFT ; 81
const SKULL_BASH ; 82
const SPIKE_CANNON ; 83
const CONSTRICT ; 84
const AMNESIA ; 85
const KINESIS ; 86
const SOFTBOILED ; 87
const HI_JUMP_KICK ; 88
const GLARE ; 89
const DREAM_EATER ; 8a
const POISON_GAS ; 8b
const BARRAGE ; 8c
const LEECH_LIFE ; 8d
const LOVELY_KISS ; 8e
const SKY_ATTACK ; 8f
const TRANSFORM ; 90
const BUBBLE ; 91
const DIZZY_PUNCH ; 92
const SPORE ; 93
const FLASH ; 94
const PSYWAVE ; 95
const SPLASH ; 96
const ACID_ARMOR ; 97
const CRABHAMMER ; 98
const EXPLOSION ; 99
const FURY_SWIPES ; 9a
const BONEMERANG ; 9b
const REST ; 9c
const ROCK_SLIDE ; 9d
const HYPER_FANG ; 9e
const SHARPEN ; 9f
const CONVERSION ; a0
const TRI_ATTACK ; a1
const SUPER_FANG ; a2
const SLASH ; a3
const SUBSTITUTE ; a4
const STRUGGLE ; a5
const SKETCH ; a6
const TRIPLE_KICK ; a7
const THIEF ; a8
const SPIDER_WEB ; a9
const MIND_READER ; aa
const NIGHTMARE ; ab
const FLAME_WHEEL ; ac
const SNORE ; ad
const CURSE ; ae
const FLAIL ; af
const CONVERSION2 ; b0
const AEROBLAST ; b1
const COTTON_SPORE ; b2
const REVERSAL ; b3
const SPITE ; b4
const POWDER_SNOW ; b5
const PROTECT ; b6
const MACH_PUNCH ; b7
const SCARY_FACE ; b8
const FAINT_ATTACK ; b9
const SWEET_KISS ; ba
const BELLY_DRUM ; bb
const SLUDGE_BOMB ; bc
const MUD_SLAP ; bd
const OCTAZOOKA ; be
const SPIKES ; bf
const ZAP_CANNON ; c0
const FORESIGHT ; c1
const DESTINY_BOND ; c2
const PERISH_SONG ; c3
const ICY_WIND ; c4
const DETECT ; c5
const BONE_RUSH ; c6
const LOCK_ON ; c7
const OUTRAGE ; c8
const SANDSTORM ; c9
const GIGA_DRAIN ; ca
const ENDURE ; cb
const CHARM ; cc
const ROLLOUT ; cd
const FALSE_SWIPE ; ce
const SWAGGER ; cf
const MILK_DRINK ; d0
const SPARK ; d1
const FURY_CUTTER ; d2
const STEEL_WING ; d3
const MEAN_LOOK ; d4
const ATTRACT ; d5
const SLEEP_TALK ; d6
const HEAL_BELL ; d7
const RETURN ; d8
const PRESENT ; d9
const FRUSTRATION ; da
const SAFEGUARD ; db
const PAIN_SPLIT ; dc
const SACRED_FIRE ; dd
const MAGNITUDE ; de
const DYNAMICPUNCH ; df
const MEGAHORN ; e0
const DRAGONBREATH ; e1
const BATON_PASS ; e2
const ENCORE ; e3
const PURSUIT ; e4
const RAPID_SPIN ; e5
const SWEET_SCENT ; e6
const IRON_TAIL ; e7
const METAL_CLAW ; e8
const VITAL_THROW ; e9
const MORNING_SUN ; ea
const SYNTHESIS ; eb
const MOONLIGHT ; ec
const HIDDEN_POWER ; ed
const CROSS_CHOP ; ee
const TWISTER ; ef
const RAIN_DANCE ; f0
const SUNNY_DAY ; f1
const CRUNCH ; f2
const MIRROR_COAT ; f3
const PSYCH_UP ; f4
const EXTREMESPEED ; f5
const ANCIENTPOWER ; f6
const SHADOW_BALL ; f7
const FUTURE_SIGHT ; f8
const ROCK_SMASH ; f9
const WHIRLPOOL ; fa
const BEAT_UP ; fb
DEF NUM_ATTACKS EQU const_value - 1
if NUM_ATTACKS > $3fff
fail "Too many moves defined!"
endc
; Battle animations use the same constants as the moves
const ANIM_SWEET_SCENT_2 ; fc
; Animations with negative IDs will play even when animations are disabled
const_def -1, -1
const ANIM_HIT_CONFUSION ; -1 (ffff)
const ANIM_SHAKE ; -2 (fffe)
const ANIM_WOBBLE ; -3 (fffd)
const ANIM_PLAYER_DAMAGE ; -4 (fffc)
const ANIM_PLAYER_STAT_DOWN ; -5 (fffb)
const ANIM_ENEMY_STAT_DOWN ; -6 (fffa)
const ANIM_ENEMY_DAMAGE ; -7 (fff9)
const ANIM_MISS ; -8 (fff8)
; battle anims
const ANIM_IN_WHIRLPOOL ; -9 (fff7)
const ANIM_IN_NIGHTMARE ; -a (fff6)
const ANIM_IN_SANDSTORM ; -b (fff5)
const ANIM_IN_LOVE ; -c (fff4)
const ANIM_PAR ; -d (fff3)
const ANIM_FRZ ; -e (fff2)
const ANIM_SAP ; -f (fff1)
const ANIM_PSN ; -10 (fff0)
const ANIM_BRN ; -11 (ffef)
const ANIM_SLP ; -12 (ffee)
const ANIM_CONFUSED ; -13 (ffed)
const ANIM_RETURN_MON ; -14 (ffec)
const ANIM_SEND_OUT_MON ; -15 (ffeb)
const ANIM_THROW_POKE_BALL ; -16 (ffea)
DEF NUM_BATTLE_ANIMS EQU -const_value - 1
; wNumHits uses offsets from ANIM_MISS
const_def
const BATTLEANIM_NONE
const BATTLEANIM_ENEMY_DAMAGE
const BATTLEANIM_ENEMY_STAT_DOWN
const BATTLEANIM_PLAYER_STAT_DOWN
const BATTLEANIM_PLAYER_DAMAGE
const BATTLEANIM_WOBBLE
const BATTLEANIM_SHAKE
const BATTLEANIM_HIT_CONFUSION

View file

@ -0,0 +1,160 @@
; MoveEffectsPointers indexes (see data/moves/effects_pointers.asm)
const_def
const EFFECT_NORMAL_HIT
const EFFECT_SLEEP
const EFFECT_POISON_HIT
const EFFECT_LEECH_HIT
const EFFECT_BURN_HIT
const EFFECT_FREEZE_HIT
const EFFECT_PARALYZE_HIT
const EFFECT_SELFDESTRUCT
const EFFECT_DREAM_EATER
const EFFECT_MIRROR_MOVE
const EFFECT_ATTACK_UP
const EFFECT_DEFENSE_UP
const EFFECT_SPEED_UP
const EFFECT_SP_ATK_UP
const EFFECT_SP_DEF_UP
const EFFECT_ACCURACY_UP
const EFFECT_EVASION_UP
const EFFECT_ALWAYS_HIT
const EFFECT_ATTACK_DOWN
const EFFECT_DEFENSE_DOWN
const EFFECT_SPEED_DOWN
const EFFECT_SP_ATK_DOWN
const EFFECT_SP_DEF_DOWN
const EFFECT_ACCURACY_DOWN
const EFFECT_EVASION_DOWN
const EFFECT_RESET_STATS
const EFFECT_BIDE
const EFFECT_RAMPAGE
const EFFECT_FORCE_SWITCH
const EFFECT_MULTI_HIT
const EFFECT_CONVERSION
const EFFECT_FLINCH_HIT
const EFFECT_HEAL
const EFFECT_TOXIC
const EFFECT_PAY_DAY
const EFFECT_LIGHT_SCREEN
const EFFECT_TRI_ATTACK
const EFFECT_UNUSED_25
const EFFECT_OHKO
const EFFECT_RAZOR_WIND
const EFFECT_SUPER_FANG
const EFFECT_STATIC_DAMAGE
const EFFECT_TRAP_TARGET
const EFFECT_UNUSED_2B
const EFFECT_DOUBLE_HIT
const EFFECT_JUMP_KICK
const EFFECT_MIST
const EFFECT_FOCUS_ENERGY
const EFFECT_RECOIL_HIT
const EFFECT_CONFUSE
const EFFECT_ATTACK_UP_2
const EFFECT_DEFENSE_UP_2
const EFFECT_SPEED_UP_2
const EFFECT_SP_ATK_UP_2
const EFFECT_SP_DEF_UP_2
const EFFECT_ACCURACY_UP_2
const EFFECT_EVASION_UP_2
const EFFECT_TRANSFORM
const EFFECT_ATTACK_DOWN_2
const EFFECT_DEFENSE_DOWN_2
const EFFECT_SPEED_DOWN_2
const EFFECT_SP_ATK_DOWN_2
const EFFECT_SP_DEF_DOWN_2
const EFFECT_ACCURACY_DOWN_2
const EFFECT_EVASION_DOWN_2
const EFFECT_REFLECT
const EFFECT_POISON
const EFFECT_PARALYZE
const EFFECT_ATTACK_DOWN_HIT
const EFFECT_DEFENSE_DOWN_HIT
const EFFECT_SPEED_DOWN_HIT
const EFFECT_SP_ATK_DOWN_HIT
const EFFECT_SP_DEF_DOWN_HIT
const EFFECT_ACCURACY_DOWN_HIT
const EFFECT_EVASION_DOWN_HIT
const EFFECT_SKY_ATTACK
const EFFECT_CONFUSE_HIT
const EFFECT_POISON_MULTI_HIT
const EFFECT_UNUSED_4E
const EFFECT_SUBSTITUTE
const EFFECT_HYPER_BEAM
const EFFECT_RAGE
const EFFECT_MIMIC
const EFFECT_METRONOME
const EFFECT_LEECH_SEED
const EFFECT_SPLASH
const EFFECT_DISABLE
const EFFECT_LEVEL_DAMAGE
const EFFECT_PSYWAVE
const EFFECT_COUNTER
const EFFECT_ENCORE
const EFFECT_PAIN_SPLIT
const EFFECT_SNORE
const EFFECT_CONVERSION2
const EFFECT_LOCK_ON
const EFFECT_SKETCH
const EFFECT_DEFROST_OPPONENT
const EFFECT_SLEEP_TALK
const EFFECT_DESTINY_BOND
const EFFECT_REVERSAL
const EFFECT_SPITE
const EFFECT_FALSE_SWIPE
const EFFECT_HEAL_BELL
const EFFECT_PRIORITY_HIT
const EFFECT_TRIPLE_KICK
const EFFECT_THIEF
const EFFECT_MEAN_LOOK
const EFFECT_NIGHTMARE
const EFFECT_FLAME_WHEEL
const EFFECT_CURSE
const EFFECT_UNUSED_6E
const EFFECT_PROTECT
const EFFECT_SPIKES
const EFFECT_FORESIGHT
const EFFECT_PERISH_SONG
const EFFECT_SANDSTORM
const EFFECT_ENDURE
const EFFECT_ROLLOUT
const EFFECT_SWAGGER
const EFFECT_FURY_CUTTER
const EFFECT_ATTRACT
const EFFECT_RETURN
const EFFECT_PRESENT
const EFFECT_FRUSTRATION
const EFFECT_SAFEGUARD
const EFFECT_SACRED_FIRE
const EFFECT_MAGNITUDE
const EFFECT_BATON_PASS
const EFFECT_PURSUIT
const EFFECT_RAPID_SPIN
const EFFECT_UNUSED_82
const EFFECT_UNUSED_83
const EFFECT_MORNING_SUN
const EFFECT_SYNTHESIS
const EFFECT_MOONLIGHT
const EFFECT_HIDDEN_POWER
const EFFECT_RAIN_DANCE
const EFFECT_SUNNY_DAY
const EFFECT_DEFENSE_UP_HIT
const EFFECT_ATTACK_UP_HIT
const EFFECT_ALL_UP_HIT
const EFFECT_FAKE_OUT
const EFFECT_BELLY_DRUM
const EFFECT_PSYCH_UP
const EFFECT_MIRROR_COAT
const EFFECT_SKULL_BASH
const EFFECT_TWISTER
const EFFECT_EARTHQUAKE
const EFFECT_FUTURE_SIGHT
const EFFECT_GUST
const EFFECT_STOMP
const EFFECT_SOLARBEAM
const EFFECT_THUNDER
const EFFECT_TELEPORT
const EFFECT_BEAT_UP
const EFFECT_FLY
const EFFECT_DEFENSE_CURL
DEF NUM_MOVE_EFFECTS EQU const_value

View file

@ -0,0 +1,119 @@
; song ids
; Music indexes (see audio/music_pointers.asm)
const_def
const MUSIC_NONE ; 00
const MUSIC_TITLE ; 01
const MUSIC_ROUTE_1 ; 02
const MUSIC_ROUTE_3 ; 03
const MUSIC_ROUTE_12 ; 04
const MUSIC_MAGNET_TRAIN ; 05
const MUSIC_KANTO_GYM_LEADER_BATTLE ; 06
const MUSIC_KANTO_TRAINER_BATTLE ; 07
const MUSIC_KANTO_WILD_BATTLE ; 08
const MUSIC_POKEMON_CENTER ; 09
const MUSIC_HIKER_ENCOUNTER ; 0a
const MUSIC_LASS_ENCOUNTER ; 0b
const MUSIC_OFFICER_ENCOUNTER ; 0c
const MUSIC_HEAL ; 0d
const MUSIC_LAVENDER_TOWN ; 0e
const MUSIC_ROUTE_2 ; 0f
const MUSIC_MT_MOON ; 10
const MUSIC_SHOW_ME_AROUND ; 11
const MUSIC_GAME_CORNER ; 12
const MUSIC_BICYCLE ; 13
const MUSIC_HALL_OF_FAME ; 14
const MUSIC_VIRIDIAN_CITY ; 15
const MUSIC_CELADON_CITY ; 16
const MUSIC_TRAINER_VICTORY ; 17
const MUSIC_WILD_VICTORY ; 18
const MUSIC_GYM_VICTORY ; 19
const MUSIC_MT_MOON_SQUARE ; 1a
const MUSIC_GYM ; 1b
const MUSIC_PALLET_TOWN ; 1c
const MUSIC_POKEMON_TALK ; 1d
const MUSIC_PROF_OAK ; 1e
const MUSIC_RIVAL_ENCOUNTER ; 1f
const MUSIC_RIVAL_AFTER ; 20
const MUSIC_SURF ; 21
const MUSIC_EVOLUTION ; 22
const MUSIC_NATIONAL_PARK ; 23
const MUSIC_CREDITS ; 24
const MUSIC_AZALEA_TOWN ; 25
const MUSIC_CHERRYGROVE_CITY ; 26
const MUSIC_KIMONO_ENCOUNTER ; 27
const MUSIC_UNION_CAVE ; 28
const MUSIC_JOHTO_WILD_BATTLE ; 29
const MUSIC_JOHTO_TRAINER_BATTLE ; 2a
const MUSIC_ROUTE_30 ; 2b
const MUSIC_ECRUTEAK_CITY ; 2c
const MUSIC_VIOLET_CITY ; 2d
const MUSIC_JOHTO_GYM_LEADER_BATTLE ; 2e
const MUSIC_CHAMPION_BATTLE ; 2f
const MUSIC_RIVAL_BATTLE ; 30
const MUSIC_ROCKET_BATTLE ; 31
const MUSIC_PROF_ELM ; 32
const MUSIC_DARK_CAVE ; 33
const MUSIC_ROUTE_29 ; 34
const MUSIC_ROUTE_36 ; 35
const MUSIC_SS_AQUA ; 36
const MUSIC_YOUNGSTER_ENCOUNTER ; 37
const MUSIC_BEAUTY_ENCOUNTER ; 38
const MUSIC_ROCKET_ENCOUNTER ; 39
const MUSIC_POKEMANIAC_ENCOUNTER ; 3a
const MUSIC_SAGE_ENCOUNTER ; 3b
const MUSIC_NEW_BARK_TOWN ; 3c
const MUSIC_GOLDENROD_CITY ; 3d
const MUSIC_VERMILION_CITY ; 3e
const MUSIC_POKEMON_CHANNEL ; 3f
const MUSIC_POKE_FLUTE_CHANNEL ; 40
const MUSIC_TIN_TOWER ; 41
const MUSIC_SPROUT_TOWER ; 42
const MUSIC_BURNED_TOWER ; 43
const MUSIC_LIGHTHOUSE ; 44
const MUSIC_LAKE_OF_RAGE ; 45
const MUSIC_INDIGO_PLATEAU ; 46
const MUSIC_ROUTE_37 ; 47
const MUSIC_ROCKET_HIDEOUT ; 48
const MUSIC_DRAGONS_DEN ; 49
const MUSIC_JOHTO_WILD_BATTLE_NIGHT ; 4a
const MUSIC_RUINS_OF_ALPH_RADIO ; 4b
const MUSIC_CAPTURE ; 4c
const MUSIC_ROUTE_26 ; 4d
const MUSIC_MOM ; 4e
const MUSIC_VICTORY_ROAD ; 4f
const MUSIC_POKEMON_LULLABY ; 50
const MUSIC_POKEMON_MARCH ; 51
const MUSIC_GS_OPENING ; 52
const MUSIC_GS_OPENING_2 ; 53
const MUSIC_MAIN_MENU ; 54
const MUSIC_RUINS_OF_ALPH_INTERIOR ; 55
const MUSIC_ROCKET_OVERTURE ; 56
const MUSIC_DANCING_HALL ; 57
const MUSIC_BUG_CATCHING_CONTEST_RANKING ; 58
const MUSIC_BUG_CATCHING_CONTEST ; 59
const MUSIC_LAKE_OF_RAGE_ROCKET_RADIO ; 5a
const MUSIC_PRINTER ; 5b
const MUSIC_POST_CREDITS ; 5c
; new to Crystal
const MUSIC_CLAIR ; 5d
const MUSIC_MOBILE_ADAPTER_MENU ; 5e
const MUSIC_MOBILE_ADAPTER ; 5f
const MUSIC_BUENAS_PASSWORD ; 60
const MUSIC_MYSTICALMAN_ENCOUNTER ; 61
const MUSIC_CRYSTAL_OPENING ; 62
const MUSIC_BATTLE_TOWER_THEME ; 63
const MUSIC_SUICUNE_BATTLE ; 64
const MUSIC_BATTLE_TOWER_LOBBY ; 65
const MUSIC_MOBILE_CENTER ; 66
DEF NUM_MUSIC_SONGS EQU const_value
; GetMapMusic picks music for this value (see home/map.asm)
DEF MUSIC_MAHOGANY_MART EQU $64
; ExitPokegearRadio_HandleMusic uses these values
DEF RESTART_MAP_MUSIC EQU $fe
DEF ENTER_MAP_MUSIC EQU $ff
; GetMapMusic picks music for this bit flag
DEF RADIO_TOWER_MUSIC_F EQU 7
DEF RADIO_TOWER_MUSIC EQU 1 << RADIO_TOWER_MUSIC_F

View file

@ -0,0 +1,47 @@
; npctrade struct members (see data/events/npc_trades.asm)
rsreset
DEF NPCTRADE_DIALOG rb
DEF NPCTRADE_GIVEMON rw
DEF NPCTRADE_GETMON rw
DEF NPCTRADE_NICKNAME rb MON_NAME_LENGTH
DEF NPCTRADE_DVS rw
DEF NPCTRADE_ITEM rb
DEF NPCTRADE_OT_ID rw
DEF NPCTRADE_OT_NAME rb PLAYER_NAME_LENGTH
DEF NPCTRADE_GENDER rb
rb_skip 2
DEF NPCTRADE_STRUCT_LENGTH EQU _RS
; NPCTrades indexes (see data/events/npc_trades.asm)
const_def
const NPC_TRADE_MIKE ; 0
const NPC_TRADE_KYLE ; 1
const NPC_TRADE_TIM ; 2
const NPC_TRADE_EMY ; 3
const NPC_TRADE_CHRIS ; 4
const NPC_TRADE_KIM ; 5
const NPC_TRADE_FOREST ; 6
DEF NUM_NPC_TRADES EQU const_value
; trade gender limits
const_def
const TRADE_GENDER_EITHER
const TRADE_GENDER_MALE
const TRADE_GENDER_FEMALE
; TradeTexts indexes (see engine/events/npc_trade.asm)
; trade dialogs
const_def
const TRADE_DIALOG_INTRO
const TRADE_DIALOG_CANCEL
const TRADE_DIALOG_WRONG
const TRADE_DIALOG_COMPLETE
const TRADE_DIALOG_AFTER
; trade dialog sets
const_def
const TRADE_DIALOGSET_COLLECTOR
const TRADE_DIALOGSET_HAPPY
const TRADE_DIALOGSET_NEWBIE
const TRADE_DIALOGSET_GIRL

View file

@ -0,0 +1,72 @@
; PhoneContacts indexes (see data/phone/phone_contacts.asm)
const_def
const PHONE_00
const PHONE_MOM
const PHONE_OAK
const PHONE_BILL
const PHONE_ELM
const PHONE_SCHOOLBOY_JACK
const PHONE_POKEFAN_BEVERLY
const PHONE_SAILOR_HUEY
const_skip
const_skip
const_skip
const PHONE_COOLTRAINERM_GAVEN
const PHONE_COOLTRAINERF_BETH
const PHONE_BIRDKEEPER_JOSE
const PHONE_COOLTRAINERF_REENA
const PHONE_YOUNGSTER_JOEY
const PHONE_BUG_CATCHER_WADE
const PHONE_FISHER_RALPH
const PHONE_PICNICKER_LIZ
const PHONE_HIKER_ANTHONY
const PHONE_CAMPER_TODD
const PHONE_PICNICKER_GINA
const PHONE_JUGGLER_IRWIN
const PHONE_BUG_CATCHER_ARNIE
const PHONE_SCHOOLBOY_ALAN
const_skip
const PHONE_LASS_DANA
const PHONE_SCHOOLBOY_CHAD
const PHONE_POKEFANM_DEREK
const PHONE_FISHER_TULLY
const PHONE_POKEMANIAC_BRENT
const PHONE_PICNICKER_TIFFANY
const PHONE_BIRDKEEPER_VANCE
const PHONE_FISHER_WILTON
const PHONE_BLACKBELT_KENJI
const PHONE_HIKER_PARRY
const PHONE_PICNICKER_ERIN
const PHONE_BUENA
DEF NUM_PHONE_CONTACTS EQU const_value - 1
; SpecialPhoneCallList indexes (see data/phone/special_calls.asm)
const_def
const SPECIALCALL_NONE
const SPECIALCALL_POKERUS
const SPECIALCALL_ROBBED
const SPECIALCALL_ASSISTANT
const SPECIALCALL_WEIRDBROADCAST
const SPECIALCALL_SSTICKET
const SPECIALCALL_BIKESHOP
const SPECIALCALL_WORRIED
const SPECIALCALL_MASTERBALL
DEF NUM_SPECIALCALLS EQU const_value - 1
DEF SPECIALCALL_SIZE EQU 6
; phone struct members
rsreset
DEF PHONE_CONTACT_TRAINER_CLASS rb
DEF PHONE_CONTACT_TRAINER_NUMBER rb
DEF PHONE_CONTACT_MAP_GROUP rb
DEF PHONE_CONTACT_MAP_NUMBER rb
DEF PHONE_CONTACT_SCRIPT1_TIME rb
DEF PHONE_CONTACT_SCRIPT1_BANK rb
DEF PHONE_CONTACT_SCRIPT1_ADDR rw
DEF PHONE_CONTACT_SCRIPT2_TIME rb
DEF PHONE_CONTACT_SCRIPT2_BANK rb
DEF PHONE_CONTACT_SCRIPT2_ADDR rw
DEF PHONE_CONTACT_SIZE EQU _RS
; maximum number of pokegear contacts
DEF CONTACT_LIST_SIZE EQU 10

View file

@ -0,0 +1,321 @@
; pokemon ids
; indexes for:
; - PokemonNames (see data/pokemon/names.asm)
; - BaseData (see data/pokemon/base_stats.asm)
; - EvosAttacksPointers (see data/pokemon/evos_attacks_pointers.asm)
; - EggMovePointers (see data/pokemon/egg_move_pointers.asm)
; - PokemonCries (see data/pokemon/cries.asm)
; - MonMenuIcons (see data/pokemon/menu_icons.asm)
; - PokemonPicPointers (see data/pokemon/pic_pointers.asm)
; - PokemonPalettes (see data/pokemon/palettes.asm)
; - PokedexDataPointerTable (see data/pokemon/dex_entry_pointers.asm)
; - AlphabeticalPokedexOrder (see data/pokemon/dex_order_alpha.asm)
; - NewPokedexOrder (see data/pokemon/dex_order_new.asm)
; - Pokered_MonIndices (see data/pokemon/gen1_order.asm)
; - Footprints (see gfx/footprints.asm)
; - AnimationPointers (see gfx/pokemon/anim_pointers.asm)
; - AnimationIdlePointers (see gfx/pokemon/idle_pointers.asm)
; - BitmasksPointers (see gfx/pokemon/bitmask_pointers.asm)
; - FramesPointers (see gfx/pokemon/frame_pointers.asm)
; - EZChat_SortedPokemon (see data/pokemon/ezchat_order.asm)
const_def 1
const BULBASAUR ; 01
const IVYSAUR ; 02
const VENUSAUR ; 03
const CHARMANDER ; 04
const CHARMELEON ; 05
const CHARIZARD ; 06
const SQUIRTLE ; 07
const WARTORTLE ; 08
const BLASTOISE ; 09
const CATERPIE ; 0a
const METAPOD ; 0b
const BUTTERFREE ; 0c
const WEEDLE ; 0d
const KAKUNA ; 0e
const BEEDRILL ; 0f
const PIDGEY ; 10
const PIDGEOTTO ; 11
const PIDGEOT ; 12
const RATTATA ; 13
const RATICATE ; 14
const SPEAROW ; 15
const FEAROW ; 16
const EKANS ; 17
const ARBOK ; 18
const PIKACHU ; 19
const RAICHU ; 1a
const SANDSHREW ; 1b
const SANDSLASH ; 1c
const NIDORAN_F ; 1d
const NIDORINA ; 1e
const NIDOQUEEN ; 1f
const NIDORAN_M ; 20
const NIDORINO ; 21
const NIDOKING ; 22
const CLEFAIRY ; 23
const CLEFABLE ; 24
const VULPIX ; 25
const NINETALES ; 26
const JIGGLYPUFF ; 27
const WIGGLYTUFF ; 28
const ZUBAT ; 29
const GOLBAT ; 2a
const ODDISH ; 2b
const GLOOM ; 2c
const VILEPLUME ; 2d
const PARAS ; 2e
const PARASECT ; 2f
const VENONAT ; 30
const VENOMOTH ; 31
const DIGLETT ; 32
const DUGTRIO ; 33
const MEOWTH ; 34
const PERSIAN ; 35
const PSYDUCK ; 36
const GOLDUCK ; 37
const MANKEY ; 38
const PRIMEAPE ; 39
const GROWLITHE ; 3a
const ARCANINE ; 3b
const POLIWAG ; 3c
const POLIWHIRL ; 3d
const POLIWRATH ; 3e
const ABRA ; 3f
const KADABRA ; 40
const ALAKAZAM ; 41
const MACHOP ; 42
const MACHOKE ; 43
const MACHAMP ; 44
const BELLSPROUT ; 45
const WEEPINBELL ; 46
const VICTREEBEL ; 47
const TENTACOOL ; 48
const TENTACRUEL ; 49
const GEODUDE ; 4a
const GRAVELER ; 4b
const GOLEM ; 4c
const PONYTA ; 4d
const RAPIDASH ; 4e
const SLOWPOKE ; 4f
const SLOWBRO ; 50
const MAGNEMITE ; 51
const MAGNETON ; 52
const FARFETCH_D ; 53
const DODUO ; 54
const DODRIO ; 55
const SEEL ; 56
const DEWGONG ; 57
const GRIMER ; 58
const MUK ; 59
const SHELLDER ; 5a
const CLOYSTER ; 5b
const GASTLY ; 5c
const HAUNTER ; 5d
const GENGAR ; 5e
const ONIX ; 5f
const DROWZEE ; 60
const HYPNO ; 61
const KRABBY ; 62
const KINGLER ; 63
const VOLTORB ; 64
const ELECTRODE ; 65
const EXEGGCUTE ; 66
const EXEGGUTOR ; 67
const CUBONE ; 68
const MAROWAK ; 69
const HITMONLEE ; 6a
const HITMONCHAN ; 6b
const LICKITUNG ; 6c
const KOFFING ; 6d
const WEEZING ; 6e
const RHYHORN ; 6f
const RHYDON ; 70
const CHANSEY ; 71
const TANGELA ; 72
const KANGASKHAN ; 73
const HORSEA ; 74
const SEADRA ; 75
const GOLDEEN ; 76
const SEAKING ; 77
const STARYU ; 78
const STARMIE ; 79
const MR__MIME ; 7a
const SCYTHER ; 7b
const JYNX ; 7c
const ELECTABUZZ ; 7d
const MAGMAR ; 7e
const PINSIR ; 7f
const TAUROS ; 80
const MAGIKARP ; 81
const GYARADOS ; 82
const LAPRAS ; 83
const DITTO ; 84
const EEVEE ; 85
const VAPOREON ; 86
const JOLTEON ; 87
const FLAREON ; 88
const PORYGON ; 89
const OMANYTE ; 8a
const OMASTAR ; 8b
const KABUTO ; 8c
const KABUTOPS ; 8d
const AERODACTYL ; 8e
const SNORLAX ; 8f
const ARTICUNO ; 90
const ZAPDOS ; 91
const MOLTRES ; 92
const DRATINI ; 93
const DRAGONAIR ; 94
const DRAGONITE ; 95
const MEWTWO ; 96
const MEW ; 97
DEF JOHTO_POKEMON EQU const_value
const CHIKORITA ; 98
const BAYLEEF ; 99
const MEGANIUM ; 9a
const CYNDAQUIL ; 9b
const QUILAVA ; 9c
const TYPHLOSION ; 9d
const TOTODILE ; 9e
const CROCONAW ; 9f
const FERALIGATR ; a0
const SENTRET ; a1
const FURRET ; a2
const HOOTHOOT ; a3
const NOCTOWL ; a4
const LEDYBA ; a5
const LEDIAN ; a6
const SPINARAK ; a7
const ARIADOS ; a8
const CROBAT ; a9
const CHINCHOU ; aa
const LANTURN ; ab
const PICHU ; ac
const CLEFFA ; ad
const IGGLYBUFF ; ae
const TOGEPI ; af
const TOGETIC ; b0
const NATU ; b1
const XATU ; b2
const MAREEP ; b3
const FLAAFFY ; b4
const AMPHAROS ; b5
const BELLOSSOM ; b6
const MARILL ; b7
const AZUMARILL ; b8
const SUDOWOODO ; b9
const POLITOED ; ba
const HOPPIP ; bb
const SKIPLOOM ; bc
const JUMPLUFF ; bd
const AIPOM ; be
const SUNKERN ; bf
const SUNFLORA ; c0
const YANMA ; c1
const WOOPER ; c2
const QUAGSIRE ; c3
const ESPEON ; c4
const UMBREON ; c5
const MURKROW ; c6
const SLOWKING ; c7
const MISDREAVUS ; c8
const UNOWN ; c9
const WOBBUFFET ; ca
const GIRAFARIG ; cb
const PINECO ; cc
const FORRETRESS ; cd
const DUNSPARCE ; ce
const GLIGAR ; cf
const STEELIX ; d0
const SNUBBULL ; d1
const GRANBULL ; d2
const QWILFISH ; d3
const SCIZOR ; d4
const SHUCKLE ; d5
const HERACROSS ; d6
const SNEASEL ; d7
const TEDDIURSA ; d8
const URSARING ; d9
const SLUGMA ; da
const MAGCARGO ; db
const SWINUB ; dc
const PILOSWINE ; dd
const CORSOLA ; de
const REMORAID ; df
const OCTILLERY ; e0
const DELIBIRD ; e1
const MANTINE ; e2
const SKARMORY ; e3
const HOUNDOUR ; e4
const HOUNDOOM ; e5
const KINGDRA ; e6
const PHANPY ; e7
const DONPHAN ; e8
const PORYGON2 ; e9
const STANTLER ; ea
const SMEARGLE ; eb
const TYROGUE ; ec
const HITMONTOP ; ed
const SMOOCHUM ; ee
const ELEKID ; ef
const MAGBY ; f0
const MILTANK ; f1
const BLISSEY ; f2
const RAIKOU ; f3
const ENTEI ; f4
const SUICUNE ; f5
const LARVITAR ; f6
const PUPITAR ; f7
const TYRANITAR ; f8
const LUGIA ; f9
const HO_OH ; fa
const CELEBI ; fb
DEF NUM_POKEMON EQU const_value - 1
DEF EGG EQU -3
; limits:
; 999: everything that prints dex counts
; 1407: size of wPokedexOrder
; 4095: hard limit; would require serious redesign to increase
if NUM_POKEMON > 999
fail "Too many Pokémon defined!"
endc
; Unown forms
; indexes for:
; - UnownWords (see data/pokemon/unown_words.asm)
; - UnownPicPointers (see data/pokemon/unown_pic_pointers.asm)
; - UnownAnimationPointers (see gfx/pokemon/unown_anim_pointers.asm)
; - UnownAnimationIdlePointers (see gfx/pokemon/unown_idle_pointers.asm)
; - UnownBitmasksPointers (see gfx/pokemon/unown_bitmask_pointers.asm)
; - UnownFramesPointers (see gfx/pokemon/unown_frame_pointers.asm)
const_def 1
const UNOWN_A ; 1
const UNOWN_B ; 2
const UNOWN_C ; 3
const UNOWN_D ; 4
const UNOWN_E ; 5
const UNOWN_F ; 6
const UNOWN_G ; 7
const UNOWN_H ; 8
const UNOWN_I ; 9
const UNOWN_J ; 10
const UNOWN_K ; 11
const UNOWN_L ; 12
const UNOWN_M ; 13
const UNOWN_N ; 14
const UNOWN_O ; 15
const UNOWN_P ; 16
const UNOWN_Q ; 17
const UNOWN_R ; 18
const UNOWN_S ; 19
const UNOWN_T ; 20
const UNOWN_U ; 21
const UNOWN_V ; 22
const UNOWN_W ; 23
const UNOWN_X ; 24
const UNOWN_Y ; 25
const UNOWN_Z ; 26
DEF NUM_UNOWN EQU const_value - 1 ; 26

View file

@ -0,0 +1,230 @@
; base data struct members (see data/pokemon/base_stats/*.asm)
rsreset
DEF BASE_SPECIES rb
DEF BASE_STATS rb NUM_STATS
rsset BASE_STATS
DEF BASE_HP rb
DEF BASE_ATK rb
DEF BASE_DEF rb
DEF BASE_SPD rb
DEF BASE_SAT rb
DEF BASE_SDF rb
DEF BASE_TYPES rw
rsset BASE_TYPES
DEF BASE_TYPE_1 rb
DEF BASE_TYPE_2 rb
DEF BASE_CATCH_RATE rb
DEF BASE_EXP rb
DEF BASE_ITEMS rw
rsset BASE_ITEMS
DEF BASE_ITEM_1 rb
DEF BASE_ITEM_2 rb
DEF BASE_GENDER rb
rb_skip
DEF BASE_EGG_STEPS rb
rb_skip
DEF BASE_PIC_SIZE rb
DEF BASE_FRONTPIC rw
DEF BASE_BACKPIC rw
DEF BASE_GROWTH_RATE rb
DEF BASE_EGG_GROUPS rb
DEF BASE_TMHM rb (NUM_TM_HM_TUTOR + 7) / 8
DEF BASE_DATA_SIZE EQU _RS
; gender ratio constants
DEF GENDER_F0 EQU 0 percent
DEF GENDER_F12_5 EQU 12 percent + 1
DEF GENDER_F25 EQU 25 percent
DEF GENDER_F50 EQU 50 percent
DEF GENDER_F75 EQU 75 percent
DEF GENDER_F100 EQU 100 percent - 1
DEF GENDER_UNKNOWN EQU -1
; wBaseGrowthRate values
; GrowthRates indexes (see data/growth_rates.asm)
const_def
const GROWTH_MEDIUM_FAST
const GROWTH_SLIGHTLY_FAST
const GROWTH_SLIGHTLY_SLOW
const GROWTH_MEDIUM_SLOW
const GROWTH_FAST
const GROWTH_SLOW
DEF NUM_GROWTH_RATES EQU const_value
; wBaseEggGroups values
const_def 1
const EGG_MONSTER ; 1
const EGG_WATER_1 ; 2 (Amphibian)
const EGG_BUG ; 3
const EGG_FLYING ; 4
const EGG_GROUND ; 5 (Field)
const EGG_FAIRY ; 6
const EGG_PLANT ; 7 (Grass)
const EGG_HUMANSHAPE ; 8 (Human-Like)
const EGG_WATER_3 ; 9 (Invertebrate)
const EGG_MINERAL ; a
const EGG_INDETERMINATE ; b (Amorphous)
const EGG_WATER_2 ; c (Fish)
const EGG_DITTO ; d
const EGG_DRAGON ; e
const EGG_NONE ; f (Undiscovered)
; party_struct members (see macros/ram.asm)
rsreset
DEF MON_SPECIES rb
DEF MON_ITEM rb
DEF MON_MOVES rb NUM_MOVES
DEF MON_ID rw
DEF MON_EXP rb 3
DEF MON_STAT_EXP rw NUM_EXP_STATS
rsset MON_STAT_EXP
DEF MON_HP_EXP rw
DEF MON_ATK_EXP rw
DEF MON_DEF_EXP rw
DEF MON_SPD_EXP rw
DEF MON_SPC_EXP rw
DEF MON_DVS rw
DEF MON_PP rb NUM_MOVES
DEF MON_HAPPINESS rb
DEF MON_POKERUS rb
DEF MON_CAUGHTDATA rw
rsset MON_CAUGHTDATA
DEF MON_CAUGHTTIME rb
DEF MON_CAUGHTGENDER rb
rsset MON_CAUGHTDATA
DEF MON_CAUGHTLEVEL rb
DEF MON_CAUGHTLOCATION rb
DEF MON_LEVEL rb
DEF BOXMON_STRUCT_LENGTH EQU _RS
DEF MON_STATUS rb
rb_skip
DEF MON_HP rw
DEF MON_MAXHP rw
DEF MON_STATS rw NUM_BATTLE_STATS
rsset MON_STATS
DEF MON_ATK rw
DEF MON_DEF rw
DEF MON_SPD rw
DEF MON_SAT rw
DEF MON_SDF rw
DEF PARTYMON_STRUCT_LENGTH EQU _RS
DEF NICKNAMED_MON_STRUCT_LENGTH EQU PARTYMON_STRUCT_LENGTH + MON_NAME_LENGTH
DEF REDMON_STRUCT_LENGTH EQU 44
; caught data
DEF CAUGHT_TIME_MASK EQU %11000000
DEF CAUGHT_LEVEL_MASK EQU %00111111
DEF CAUGHT_GENDER_MASK EQU %10000000
DEF CAUGHT_LOCATION_MASK EQU %01111111
DEF CAUGHT_BY_UNKNOWN EQU 0
DEF CAUGHT_BY_GIRL EQU 1
DEF CAUGHT_BY_BOY EQU 2
DEF CAUGHT_EGG_LEVEL EQU 1
DEF MON_CRY_LENGTH EQU 6
; maximum number of party pokemon
DEF PARTY_LENGTH EQU 6
; boxes
DEF MONS_PER_BOX EQU 20
; box: count, species, mons, OTs, nicknames, padding
DEF BOX_LENGTH EQU 1 + MONS_PER_BOX + 1 + (BOXMON_STRUCT_LENGTH + NAME_LENGTH + MON_NAME_LENGTH) * MONS_PER_BOX + 2 ; $450
DEF NUM_BOXES EQU 14
; hall of fame
; hof_mon: species, id, dvs, level, nicknames
DEF HOF_MON_LENGTH EQU 2 + 2 + 2 + 1 + (MON_NAME_LENGTH - 1)
; hall_of_fame: win count, party, terminator
DEF HOF_LENGTH EQU 1 + HOF_MON_LENGTH * PARTY_LENGTH + 2
DEF NUM_HOF_TEAMS EQU 30
; evolution types (used in data/pokemon/evos_attacks.asm)
const_def 1
const EVOLVE_LEVEL
const EVOLVE_ITEM
const EVOLVE_TRADE
const EVOLVE_HAPPINESS
const EVOLVE_STAT
; EVOLVE_HAPPINESS triggers
const_def 1
const TR_ANYTIME
const TR_MORNDAY
const TR_NITE
; EVOLVE_STAT triggers
const_def 1
const ATK_GT_DEF
const ATK_LT_DEF
const ATK_EQ_DEF
; wild data
DEF NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size
DEF NUM_WATERMON EQU 3 ; data/wild/*_water.asm table size
DEF GRASS_WILDDATA_LENGTH EQU 2 + (1 + NUM_GRASSMON * 3) * 3
DEF WATER_WILDDATA_LENGTH EQU 2 + (1 + NUM_WATERMON * 3) * 1
DEF FISHGROUP_DATA_LENGTH EQU 1 + 2 * 3
DEF NUM_ROAMMON_MAPS EQU 16 ; RoamMaps table size (see data/wild/roammon_maps.asm)
; treemon sets
; TreeMons indexes (see data/wild/treemons.asm)
const_def
const TREEMON_SET_CITY
const TREEMON_SET_CANYON
const TREEMON_SET_TOWN
const TREEMON_SET_ROUTE
const TREEMON_SET_KANTO
const TREEMON_SET_LAKE
const TREEMON_SET_FOREST
const TREEMON_SET_ROCK
DEF NUM_TREEMON_SETS EQU const_value
; treemon scores
const_def
const TREEMON_SCORE_BAD ; 0
const TREEMON_SCORE_GOOD ; 1
const TREEMON_SCORE_RARE ; 2
; ChangeHappiness arguments (see data/events/happiness_changes.asm)
const_def 1
const HAPPINESS_GAINLEVEL ; 01
const HAPPINESS_USEDITEM ; 02
const HAPPINESS_USEDXITEM ; 03
const HAPPINESS_GYMBATTLE ; 04
const HAPPINESS_LEARNMOVE ; 05
const HAPPINESS_FAINTED ; 06
const HAPPINESS_POISONFAINT ; 07
const HAPPINESS_BEATENBYSTRONGFOE ; 08
const HAPPINESS_OLDERCUT1 ; 09
const HAPPINESS_OLDERCUT2 ; 0a
const HAPPINESS_OLDERCUT3 ; 0b
const HAPPINESS_YOUNGCUT1 ; 0c
const HAPPINESS_YOUNGCUT2 ; 0d
const HAPPINESS_YOUNGCUT3 ; 0e
const HAPPINESS_BITTERPOWDER ; 0f
const HAPPINESS_ENERGYROOT ; 10
const HAPPINESS_REVIVALHERB ; 11
const HAPPINESS_GROOMING ; 12
const HAPPINESS_GAINLEVELATHOME ; 13
DEF NUM_HAPPINESS_CHANGES EQU const_value - 1
; significant happiness values
DEF BASE_HAPPINESS EQU 70
DEF FRIEND_BALL_HAPPINESS EQU 200
DEF HAPPINESS_TO_EVOLVE EQU 220
DEF HAPPINESS_THRESHOLD_1 EQU 100
DEF HAPPINESS_THRESHOLD_2 EQU 200
; PP
DEF PP_UP_MASK EQU %11000000
DEF PP_UP_ONE EQU %01000000
DEF PP_MASK EQU %00111111

View file

@ -0,0 +1,9 @@
; wPrinterStatus
const_def 1
const PRINTER_STATUS_CHECKING
const PRINTER_STATUS_TRANSMITTING
const PRINTER_STATUS_PRINTING
const PRINTER_ERROR_1
const PRINTER_ERROR_2
const PRINTER_ERROR_3
const PRINTER_ERROR_4

View file

@ -0,0 +1,132 @@
; radio channel ids
; indexes for:
; - RadioChannelSongs (see data/radio/channel_music.asm)
; - PlayRadioShow/RadioJumptable (see engine/pokegear/radio.asm)
; - RadioChannels (see engine/pokegear/pokegear.asm)
const_def
const OAKS_POKEMON_TALK ; 00
const POKEDEX_SHOW ; 01
const POKEMON_MUSIC ; 02
const LUCKY_CHANNEL ; 03
const BUENAS_PASSWORD ; 04
const PLACES_AND_PEOPLE ; 05
const LETS_ALL_SING ; 06
const ROCKET_RADIO ; 07
const POKE_FLUTE_RADIO ; 08
const UNOWN_RADIO ; 09
const EVOLUTION_RADIO ; 0a
DEF NUM_RADIO_CHANNELS EQU const_value
; internal indexes for channel segments
const OAKS_POKEMON_TALK_2 ; 0b
const OAKS_POKEMON_TALK_3 ; 0c
const OAKS_POKEMON_TALK_4 ; 0d
const OAKS_POKEMON_TALK_5 ; 0e
const OAKS_POKEMON_TALK_6 ; 0f
const OAKS_POKEMON_TALK_7 ; 10
const OAKS_POKEMON_TALK_8 ; 11
const OAKS_POKEMON_TALK_9 ; 12
const POKEDEX_SHOW_2 ; 13
const POKEDEX_SHOW_3 ; 14
const POKEDEX_SHOW_4 ; 15
const POKEDEX_SHOW_5 ; 16
const POKEMON_MUSIC_2 ; 17
const POKEMON_MUSIC_3 ; 18
const POKEMON_MUSIC_4 ; 19
const POKEMON_MUSIC_5 ; 1a
const POKEMON_MUSIC_6 ; 1b
const POKEMON_MUSIC_7 ; 1c
const LETS_ALL_SING_2 ; 1d
const LUCKY_NUMBER_SHOW_2 ; 1e
const LUCKY_NUMBER_SHOW_3 ; 1f
const LUCKY_NUMBER_SHOW_4 ; 20
const LUCKY_NUMBER_SHOW_5 ; 21
const LUCKY_NUMBER_SHOW_6 ; 22
const LUCKY_NUMBER_SHOW_7 ; 23
const LUCKY_NUMBER_SHOW_8 ; 24
const LUCKY_NUMBER_SHOW_9 ; 25
const LUCKY_NUMBER_SHOW_10 ; 26
const LUCKY_NUMBER_SHOW_11 ; 27
const LUCKY_NUMBER_SHOW_12 ; 28
const LUCKY_NUMBER_SHOW_13 ; 29
const LUCKY_NUMBER_SHOW_14 ; 2a
const LUCKY_NUMBER_SHOW_15 ; 2b
const PLACES_AND_PEOPLE_2 ; 2c
const PLACES_AND_PEOPLE_3 ; 2d
const PLACES_AND_PEOPLE_4 ; 2e
const PLACES_AND_PEOPLE_5 ; 2f
const PLACES_AND_PEOPLE_6 ; 30
const PLACES_AND_PEOPLE_7 ; 31
const ROCKET_RADIO_2 ; 32
const ROCKET_RADIO_3 ; 33
const ROCKET_RADIO_4 ; 34
const ROCKET_RADIO_5 ; 35
const ROCKET_RADIO_6 ; 36
const ROCKET_RADIO_7 ; 37
const ROCKET_RADIO_8 ; 38
const ROCKET_RADIO_9 ; 39
const ROCKET_RADIO_10 ; 3a
const OAKS_POKEMON_TALK_10 ; 3b
const OAKS_POKEMON_TALK_11 ; 3c
const OAKS_POKEMON_TALK_12 ; 3d
const OAKS_POKEMON_TALK_13 ; 3e
const OAKS_POKEMON_TALK_14 ; 3f
const BUENAS_PASSWORD_2 ; 40
const BUENAS_PASSWORD_3 ; 41
const BUENAS_PASSWORD_4 ; 42
const BUENAS_PASSWORD_5 ; 43
const BUENAS_PASSWORD_6 ; 44
const BUENAS_PASSWORD_7 ; 45
const BUENAS_PASSWORD_8 ; 46
const BUENAS_PASSWORD_9 ; 47
const BUENAS_PASSWORD_10 ; 48
const BUENAS_PASSWORD_11 ; 49
const BUENAS_PASSWORD_12 ; 4a
const BUENAS_PASSWORD_13 ; 4b
const BUENAS_PASSWORD_14 ; 4c
const BUENAS_PASSWORD_15 ; 4d
const BUENAS_PASSWORD_16 ; 4e
const BUENAS_PASSWORD_17 ; 4f
const BUENAS_PASSWORD_18 ; 50
const BUENAS_PASSWORD_19 ; 51
const BUENAS_PASSWORD_20 ; 52
const BUENAS_PASSWORD_21 ; 53
const RADIO_SCROLL ; 54
const POKEDEX_SHOW_6 ; 55
const POKEDEX_SHOW_7 ; 56
const POKEDEX_SHOW_8 ; 57
DEF NUM_RADIO_SEGMENTS EQU const_value
; PlayRadioStationPointers indexes (see engine/pokegear/pokegear.asm)
const_def
const MAPRADIO_POKEMON_CHANNEL
const MAPRADIO_OAKS_POKEMON_TALK
const MAPRADIO_POKEDEX_SHOW
const MAPRADIO_POKEMON_MUSIC
const MAPRADIO_LUCKY_CHANNEL
const MAPRADIO_UNOWN
const MAPRADIO_PLACES_PEOPLE
const MAPRADIO_LETS_ALL_SING
const MAPRADIO_ROCKET
DEF NUM_MAP_RADIO_STATIONS EQU const_value
; 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
DEF NUM_OAKS_POKEMON_TALK_ADVERBS EQU 16 ; OaksPKMNTalk8.Adverbs
DEF NUM_OAKS_POKEMON_TALK_ADJECTIVES EQU 16 ; OaksPKMNTalk9.Adjectives
DEF NUM_PNP_PEOPLE_ADJECTIVES EQU 16 ; PeoplePlaces5.Adjectives
DEF NUM_PNP_PLACES_ADJECTIVES EQU 16 ; PeoplePlaces7.Adjectives
; BuenasPasswordTable sizes (see data/radio/buenas_passwords.asm)
DEF NUM_PASSWORD_CATEGORIES EQU 11
DEF NUM_PASSWORDS_PER_CATEGORY EQU 3
; BuenaPrizeItems size (see data/items/buena_prizes.asm)
DEF NUM_BUENA_PRIZES EQU 9
; GetBuenasPassword.StringFunctionJumpTable indexes (see engine/pokegear/radio.asm)
const_def
const BUENA_MON
const BUENA_ITEM
const BUENA_MOVE
const BUENA_STRING
DEF NUM_BUENA_FUNCTIONS EQU const_value

View file

@ -0,0 +1,159 @@
; CGBLayoutJumptable indexes (see engine/gfx/cgb_layouts.asm)
; SGBLayoutJumptable indexes (see engine/gfx/sgb_layouts.asm)
const_def
const SCGB_BATTLE_GRAYSCALE
const SCGB_BATTLE_COLORS
const SCGB_POKEGEAR_PALS
const SCGB_STATS_SCREEN_HP_PALS
const SCGB_POKEDEX
const SCGB_SLOT_MACHINE
const SCGB_BETA_TITLE_SCREEN
const SCGB_GS_INTRO
const SCGB_DIPLOMA
const SCGB_MAPPALS
const SCGB_PARTY_MENU
const SCGB_EVOLUTION
const SCGB_GS_TITLE_SCREEN
const SCGB_0D
const SCGB_MOVE_LIST
const SCGB_BETA_PIKACHU_MINIGAME
const SCGB_POKEDEX_SEARCH_OPTION
const SCGB_BETA_POKER
const SCGB_POKEPIC
const SCGB_MAGNET_TRAIN
const SCGB_PACKPALS
const SCGB_TRAINER_CARD
const SCGB_POKEDEX_UNOWN_MODE
const SCGB_BILLS_PC
const SCGB_UNOWN_PUZZLE
const SCGB_GAMEFREAK_LOGO
const SCGB_PLAYER_OR_MON_FRONTPIC_PALS
const SCGB_TRADE_TUBE
const SCGB_TRAINER_OR_MON_FRONTPIC_PALS
const SCGB_MYSTERY_GIFT
const SCGB_1E
DEF NUM_SCGB_LAYOUTS EQU const_value
DEF SCGB_PARTY_MENU_HP_BARS EQU $fc
DEF SCGB_DEFAULT EQU $ff
; GetCrystalCGBLayout arguments (see engine/gfx/crystal_layouts.asm)
const_def
const CRYSTAL_CGB_MOBILE_0
const CRYSTAL_CGB_MOBILE_1
const CRYSTAL_CGB_NAME_CARD
; PredefPals indexes (see gfx/sgb/predef.pal)
; GetPredefPal arguments (see engine/gfx/color.asm)
const_def
const PREDEFPAL_ROUTES
const PREDEFPAL_PALLET
const PREDEFPAL_VIRIDIAN
const PREDEFPAL_PEWTER
const PREDEFPAL_CERULEAN
const PREDEFPAL_LAVENDER
const PREDEFPAL_VERMILION
const PREDEFPAL_CELADON
const PREDEFPAL_FUCHSIA
const PREDEFPAL_CINNABAR
const PREDEFPAL_SAFFRON
const PREDEFPAL_INDIGO
const PREDEFPAL_NEW_BARK
const PREDEFPAL_CHERRYGROVE
const PREDEFPAL_VIOLET
const PREDEFPAL_AZALEA
const PREDEFPAL_GOLDENROD
const PREDEFPAL_ECRUTEAK
const PREDEFPAL_OLIVINE
const PREDEFPAL_CIANWOOD
const PREDEFPAL_MAHOGANY
const PREDEFPAL_BLACKTHORN
const PREDEFPAL_LAKE_OF_RAGE
const PREDEFPAL_SILVER_CAVE
const PREDEFPAL_DUNGEONS
const PREDEFPAL_NITE
const PREDEFPAL_BLACKOUT
const PREDEFPAL_DIPLOMA ; RB_MEWMON
const PREDEFPAL_TRADE_TUBE ; RB_BLUEMON
const PREDEFPAL_POKEDEX ; RB_REDMON
const PREDEFPAL_RB_CYANMON
const PREDEFPAL_RB_PURPLEMON
const PREDEFPAL_RB_BROWNMON
const PREDEFPAL_RB_GREENMON
const PREDEFPAL_RB_PINKMON
const PREDEFPAL_RB_YELLOWMON
const PREDEFPAL_CGB_BADGE ; RB_GRAYMON
const PREDEFPAL_BETA_SHINY_MEWMON
const PREDEFPAL_BETA_SHINY_BLUEMON
const PREDEFPAL_BETA_SHINY_REDMON
const PREDEFPAL_BETA_SHINY_CYANMON
const PREDEFPAL_BETA_SHINY_PURPLEMON
const PREDEFPAL_BETA_SHINY_BROWNMON
const PREDEFPAL_BETA_SHINY_GREENMON
const PREDEFPAL_BETA_SHINY_PINKMON
const PREDEFPAL_BETA_SHINY_YELLOWMON
const PREDEFPAL_PARTY_ICON ; BETA_SHINY_GRAYMON
const PREDEFPAL_HP_GREEN
const PREDEFPAL_HP_YELLOW
const PREDEFPAL_HP_RED
const PREDEFPAL_POKEGEAR
const PREDEFPAL_BETA_LOGO_1
const PREDEFPAL_BETA_LOGO_2
const PREDEFPAL_GS_INTRO_GAMEFREAK_LOGO
const PREDEFPAL_GS_INTRO_SHELLDER_LAPRAS
const PREDEFPAL_BETA_INTRO_LAPRAS
const PREDEFPAL_GS_INTRO_JIGGLYPUFF_PIKACHU_BG
const PREDEFPAL_GS_INTRO_JIGGLYPUFF_PIKACHU_OB
const PREDEFPAL_GS_INTRO_STARTERS_TRANSITION
const PREDEFPAL_BETA_INTRO_VENUSAUR
const PREDEFPAL_PACK ; GS_INTRO_CHARIZARD
const PREDEFPAL_SLOT_MACHINE_0
const PREDEFPAL_SLOT_MACHINE_1
const PREDEFPAL_SLOT_MACHINE_2
const PREDEFPAL_SLOT_MACHINE_3
const PREDEFPAL_BETA_POKER_0
const PREDEFPAL_BETA_POKER_1
const PREDEFPAL_BETA_POKER_2
const PREDEFPAL_BETA_POKER_3
const PREDEFPAL_BETA_RADIO
const PREDEFPAL_BETA_POKEGEAR
const PREDEFPAL_47
const PREDEFPAL_GS_TITLE_SCREEN_0
const PREDEFPAL_GS_TITLE_SCREEN_1
const PREDEFPAL_GS_TITLE_SCREEN_2
const PREDEFPAL_GS_TITLE_SCREEN_3
const PREDEFPAL_UNOWN_PUZZLE
const PREDEFPAL_GAMEFREAK_LOGO_OB
const PREDEFPAL_GAMEFREAK_LOGO_BG
DEF NUM_PREDEF_PALS EQU const_value
; SGB system command codes
; http://gbdev.gg8.se/wiki/articles/SGB_Functions#SGB_System_Command_Table
const_def
const SGB_PAL01
const SGB_PAL23
const SGB_PAL03
const SGB_PAL12
const SGB_ATTR_BLK
const SGB_ATTR_LIN
const SGB_ATTR_DIV
const SGB_ATTR_CHR
const SGB_SOUND
const SGB_SOU_TRN
const SGB_PAL_SET
const SGB_PAL_TRN
const SGB_ATRC_EN
const SGB_TEST_EN
const SGB_ICON_EN
const SGB_DATA_SND
const SGB_DATA_TRN
const SGB_MLT_REQ
const SGB_JUMP
const SGB_CHR_TRN
const SGB_PCT_TRN
const SGB_ATTR_TRN
const SGB_ATTR_SET
const SGB_MASK_EN
const SGB_OBJ_TRN
DEF PALPACKET_LENGTH EQU $10

View file

@ -0,0 +1,328 @@
; object constants
DEF PLAYER EQU 0
DEF LAST_TALKED EQU -2
; string buffer constants
const_def
const STRING_BUFFER_3 ; use wStringBuffer3
const STRING_BUFFER_4 ; use wStringBuffer4
const STRING_BUFFER_5 ; use wStringBuffer5
DEF NUM_STRING_BUFFERS EQU const_value
DEF STRING_BUFFER_LENGTH EQU 19
; checkmoney/takemoney accounts
const_def
const YOUR_MONEY ; 0
const MOMS_MONEY ; 1
; checkmoney/checkcoins return values
const_def
const HAVE_MORE ; 0
const HAVE_AMOUNT ; 1
const HAVE_LESS ; 2
; checkpokemail return values
const_def
const POKEMAIL_WRONG_MAIL ; 0
const POKEMAIL_CORRECT ; 1
const POKEMAIL_REFUSED ; 2
const POKEMAIL_NO_MAIL ; 3
const POKEMAIL_LAST_MON ; 4
; askforphonenumber return values
const_def
const PHONE_CONTACT_GOT ; 0
const PHONE_CONTACTS_FULL ; 1
const PHONE_CONTACT_REFUSED ; 2
; trainertext arguments
const_def
const TRAINERTEXT_SEEN
const TRAINERTEXT_WIN
const TRAINERTEXT_LOSS
; readvar/writevar/loadvar arguments
; _GetVarAction.VarActionTable indexes (see engine/overworld/variables.asm)
const_def
const VAR_STRINGBUFFER2 ; 00
const VAR_PARTYCOUNT ; 01
const VAR_BATTLERESULT ; 02
const VAR_BATTLETYPE ; 03
const VAR_TIMEOFDAY ; 04
const VAR_DEXCAUGHT ; 05
const VAR_DEXSEEN ; 06
const VAR_BADGES ; 07
const VAR_MOVEMENT ; 08
const VAR_FACING ; 09
const VAR_HOUR ; 0a
const VAR_WEEKDAY ; 0b
const VAR_MAPGROUP ; 0c
const VAR_MAPNUMBER ; 0d
const VAR_UNOWNCOUNT ; 0e
const VAR_ENVIRONMENT ; 0f
const VAR_BOXSPACE ; 10
const VAR_CONTESTMINUTES ; 11
const VAR_XCOORD ; 12
const VAR_YCOORD ; 13
const VAR_SPECIALPHONECALL ; 14
const VAR_BT_WIN_STREAK ; 15
const VAR_KURT_APRICORNS ; 16
const VAR_CALLERID ; 17
const VAR_BLUECARDBALANCE ; 18
const VAR_BUENASPASSWORD ; 19
const VAR_KENJI_BREAK ; 1a
const VAR_DEXUNCAUGHT ; 1b
DEF NUM_VARS EQU const_value
; variable action types
DEF RETVAR_STRBUF2 EQU 0 << 6
DEF RETVAR_ADDR_DE EQU 1 << 6
DEF RETVAR_EXECUTE EQU 2 << 6
; PlayerEventScriptPointers indexes (see engine/overworld/events.asm)
const_def -1
const PLAYEREVENT_MAPSCRIPT
const PLAYEREVENT_NONE
const PLAYEREVENT_SEENBYTRAINER
const PLAYEREVENT_TALKTOTRAINER
const PLAYEREVENT_ITEMBALL
const PLAYEREVENT_CONNECTION
const PLAYEREVENT_WARP
const PLAYEREVENT_FALL
const PLAYEREVENT_WHITEOUT
const PLAYEREVENT_HATCH
const PLAYEREVENT_JOYCHANGEFACING
DEF NUM_PLAYER_EVENTS EQU const_value
; PlayerMovementPointers indexes (see engine/overworld/events.asm)
const_def
const PLAYERMOVEMENT_NORMAL
const PLAYERMOVEMENT_WARP
const PLAYERMOVEMENT_TURN
const PLAYERMOVEMENT_FORCE_TURN
const PLAYERMOVEMENT_FINISH
const PLAYERMOVEMENT_CONTINUE
const PLAYERMOVEMENT_EXIT_WATER
const PLAYERMOVEMENT_JUMP
DEF NUM_PLAYER_MOVEMENTS EQU const_value
; script data sizes (see macros/scripts/maps.asm)
DEF SCENE_SCRIPT_SIZE EQU 4 ; scene_script
DEF CALLBACK_SIZE EQU 3 ; callback
DEF WARP_EVENT_SIZE EQU 5 ; warp_event
DEF COORD_EVENT_SIZE EQU 8 ; coord_event
DEF BG_EVENT_SIZE EQU 5 ; bg_event
DEF OBJECT_EVENT_SIZE EQU 13 ; object_event
; A coord_event for scene -1 will always activate,
; regardless of the map's scene variable value.
DEF SCENE_ALWAYS EQU -1
; bg_event types
; BGEventJumptable indexes (see engine/overworld/events.asm)
const_def
const BGEVENT_READ
const BGEVENT_UP
const BGEVENT_DOWN
const BGEVENT_RIGHT
const BGEVENT_LEFT
const BGEVENT_IFSET
const BGEVENT_IFNOTSET
const BGEVENT_ITEM
const BGEVENT_COPY
DEF NUM_BGEVENTS EQU const_value
; object_event types
; ObjectEventTypeArray indexes (see engine/overworld/events.asm)
const_def
const OBJECTTYPE_SCRIPT
const OBJECTTYPE_ITEMBALL
const OBJECTTYPE_TRAINER
const OBJECTTYPE_3
const OBJECTTYPE_4
const OBJECTTYPE_5
const OBJECTTYPE_6
DEF NUM_OBJECT_TYPES EQU const_value
; command queue members
rsreset
DEF CMDQUEUE_TYPE rb
DEF CMDQUEUE_ADDR rb
DEF CMDQUEUE_02 rb
DEF CMDQUEUE_03 rb
DEF CMDQUEUE_04 rb
DEF CMDQUEUE_JUMPTABLE_INDEX rb
DEF CMDQUEUE_ENTRY_SIZE EQU _RS
DEF CMDQUEUE_CAPACITY EQU 4
; HandleQueuedCommand.Jumptable indexes (see engine/overworld/events.asm)
const_def
const CMDQUEUE_NULL
const CMDQUEUE_TYPE1
const CMDQUEUE_STONETABLE
const CMDQUEUE_TYPE3
const CMDQUEUE_TYPE4
DEF NUM_CMDQUEUE_TYPES EQU const_value
; elevfloor macro values
; ElevatorFloorNames indexes (see data/events/elevator_floors.asm)
const_def
const FLOOR_B4F
const FLOOR_B3F
const FLOOR_B2F
const FLOOR_B1F
const FLOOR_1F
const FLOOR_2F
const FLOOR_3F
const FLOOR_4F
const FLOOR_5F
const FLOOR_6F
const FLOOR_7F
const FLOOR_8F
const FLOOR_9F
const FLOOR_10F
const FLOOR_11F
const FLOOR_ROOF
DEF NUM_FLOORS EQU const_value
; showemote arguments
; Emotes indexes (see data/sprites/emotes.asm)
const_def
const EMOTE_SHOCK
const EMOTE_QUESTION
const EMOTE_HAPPY
const EMOTE_SAD
const EMOTE_HEART
const EMOTE_BOLT
const EMOTE_SLEEP
const EMOTE_FISH
const EMOTE_SHADOW
const EMOTE_ROD
const EMOTE_BOULDER_DUST
const EMOTE_GRASS_RUSTLE
DEF NUM_EMOTES EQU const_value
DEF EMOTE_FROM_MEM EQU -1
DEF EMOTE_LENGTH EQU 6
; fruittree arguments
; FruitTreeItems indexes (see data/items/fruit_trees.asm)
const_def 1
const FRUITTREE_ROUTE_29 ; 01
const FRUITTREE_ROUTE_30_1 ; 02
const FRUITTREE_ROUTE_38 ; 03
const FRUITTREE_ROUTE_46_1 ; 04
const FRUITTREE_ROUTE_30_2 ; 05
const FRUITTREE_ROUTE_33 ; 06
const FRUITTREE_ROUTE_31 ; 07
const FRUITTREE_ROUTE_43 ; 08
const FRUITTREE_VIOLET_CITY ; 09
const FRUITTREE_ROUTE_46_2 ; 0a
const FRUITTREE_ROUTE_35 ; 0b
const FRUITTREE_ROUTE_45 ; 0c
const FRUITTREE_ROUTE_36 ; 0d
const FRUITTREE_ROUTE_26 ; 0e
const FRUITTREE_ROUTE_39 ; 0f
const FRUITTREE_ROUTE_44 ; 10
const FRUITTREE_ROUTE_37_1 ; 11
const FRUITTREE_ROUTE_37_2 ; 12
const FRUITTREE_ROUTE_37_3 ; 13
const FRUITTREE_AZALEA_TOWN ; 14
const FRUITTREE_ROUTE_42_1 ; 15
const FRUITTREE_ROUTE_42_2 ; 16
const FRUITTREE_ROUTE_42_3 ; 17
const FRUITTREE_ROUTE_11 ; 18
const FRUITTREE_ROUTE_2 ; 19
const FRUITTREE_ROUTE_1 ; 1a
const FRUITTREE_ROUTE_8 ; 1b
const FRUITTREE_PEWTER_CITY_1 ; 1c
const FRUITTREE_PEWTER_CITY_2 ; 1d
const FRUITTREE_FUCHSIA_CITY ; 1e
DEF NUM_FRUIT_TREES EQU const_value - 1
; describedecoration arguments
; DescribeDecoration.JumpTable indexes (see engine/overworld/decorations.asm)
const_def
const DECODESC_POSTER ; 0
const DECODESC_LEFT_DOLL ; 1
const DECODESC_RIGHT_DOLL ; 2
const DECODESC_BIG_DOLL ; 3
const DECODESC_CONSOLE ; 4
DEF NUM_DECODESCS EQU const_value
; swarm arguments
; StoreSwarmMapIndices arguments
const_def
const SWARM_DUNSPARCE ; 0
const SWARM_YANMA ; 1
; ActivateFishingSwarm setval arguments
const_def
const FISHSWARM_NONE ; 0
const FISHSWARM_QWILFISH ; 1
const FISHSWARM_REMORAID ; 2
; SpecialGameboyCheck return values
const_def
const GBCHECK_GB ; 0
const GBCHECK_SGB ; 1
const GBCHECK_CGB ; 2
; CheckMagikarpLength return values
const_def
const MAGIKARPLENGTH_NOT_MAGIKARP ; 0
const MAGIKARPLENGTH_REFUSED ; 1
const MAGIKARPLENGTH_TOO_SHORT ; 2
const MAGIKARPLENGTH_BEAT_RECORD ; 3
; ReturnShuckie return values
const_def
const SHUCKIE_WRONG_MON ; 0
const SHUCKIE_REFUSED ; 1
const SHUCKIE_RETURNED ; 2
const SHUCKIE_HAPPY ; 3
const SHUCKIE_FAINTED ; 4
; CheckPartyFullAfterContest return values
const_def
const BUGCONTEST_CAUGHT_MON ; 0
const BUGCONTEST_BOXED_MON ; 1
const BUGCONTEST_NO_CATCH ; 2
; Bug-Catching Contest values
DEF BUG_CONTEST_BALLS EQU 20
DEF BUG_CONTEST_MINUTES EQU 20
DEF BUG_CONTEST_SECONDS EQU 0
DEF BUG_CONTEST_PLAYER EQU 1
DEF NUM_BUG_CONTESTANTS EQU 10 ; not counting the player
DEF BUG_CONTESTANT_SIZE EQU 4
; HealMachineAnim setval arguments
; HealMachineAnim.Pointers indexes (see engine/events/heal_machine_anim.asm)
const_def
const HEALMACHINE_POKECENTER ; 0
const HEALMACHINE_ELMS_LAB ; 1
const HEALMACHINE_HALL_OF_FAME ; 2
; UnownPuzzle setval arguments
; LoadUnownPuzzlePiecesGFX.LZPointers indexes (see engine/games/unown_puzzle.asm)
const_def
const UNOWNPUZZLE_KABUTO ; 0
const UNOWNPUZZLE_OMANYTE ; 1
const UNOWNPUZZLE_AERODACTYL ; 2
const UNOWNPUZZLE_HO_OH ; 3
DEF NUM_UNOWN_PUZZLES EQU const_value
; DisplayUnownWords setval arguments
; UnownWalls and MenuHeaders_UnownWalls indexes (see data/events/unown_walls.asm)
const_def
const UNOWNWORDS_ESCAPE ; 0
const UNOWNWORDS_LIGHT ; 1
const UNOWNWORDS_WATER ; 2
const UNOWNWORDS_HO_OH ; 3
; MoveTutor setval arguments
const_def 1
const MOVETUTOR_FLAMETHROWER ; 1
const MOVETUTOR_THUNDERBOLT ; 2
const MOVETUTOR_ICE_BEAM ; 3

View file

@ -0,0 +1,48 @@
; wLinkMode
const_def
const LINK_NULL ; 0
const LINK_TIMECAPSULE ; 1
const LINK_TRADECENTER ; 2
const LINK_COLOSSEUM ; 3
const LINK_MOBILE ; 4
; hSerialReceive high nybbles
DEF SERIAL_TIMECAPSULE EQU $60
DEF SERIAL_TRADECENTER EQU $70
DEF SERIAL_BATTLE EQU $80
DEF ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01
DEF ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02
; hSerialConnectionStatus
DEF USING_EXTERNAL_CLOCK EQU $01
DEF USING_INTERNAL_CLOCK EQU $02
DEF CONNECTION_NOT_ESTABLISHED EQU $ff
; length of a patch list
DEF SERIAL_PATCH_LIST_LENGTH EQU 200
; size of the patch area (offsets into this area may not have special values)
DEF SERIAL_PATCH_DATA_SIZE EQU $fc
; signals the start of an array of bytes transferred over the link cable
DEF SERIAL_PREAMBLE_BYTE EQU $fd
; this byte is used when there is no data to send
DEF SERIAL_NO_DATA_BYTE EQU $fe
; signals the end of one part of a patch list (there are two parts) for player/enemy party data
DEF SERIAL_PATCH_LIST_PART_TERMINATOR EQU $ff
; used to replace SERIAL_NO_DATA_BYTE
DEF SERIAL_PATCH_REPLACEMENT_BYTE EQU $ff
DEF SERIAL_PREAMBLE_LENGTH EQU 6
DEF SERIAL_RN_PREAMBLE_LENGTH EQU 7
DEF SERIAL_PATCH_PREAMBLE_LENGTH EQU 3
DEF SERIAL_RNS_LENGTH EQU 10
DEF SERIAL_MAIL_PREAMBLE_BYTE EQU $20
DEF SERIAL_MAIL_PREAMBLE_LENGTH EQU 5
; used to replace SERIAL_NO_DATA_BYTE
DEF SERIAL_MAIL_REPLACEMENT_BYTE EQU $21
; timeout duration after exchanging a byte
DEF SERIAL_LINK_BYTE_TIMEOUT EQU $5000
DEF MAX_MYSTERY_GIFT_PARTNERS EQU 5

211
constants/sfx_constants.asm Normal file
View file

@ -0,0 +1,211 @@
; SFX indexes (see audio/sfx_pointers.asm)
const_def
const SFX_DEX_FANFARE_50_79 ; 00
const SFX_ITEM ; 01
const SFX_CAUGHT_MON ; 02
const SFX_POKEBALLS_PLACED_ON_TABLE ; 03
const SFX_POTION ; 04
const SFX_FULL_HEAL ; 05
const SFX_MENU ; 06
const SFX_READ_TEXT ; 07
const SFX_READ_TEXT_2 ; 08
const SFX_DEX_FANFARE_20_49 ; 09
const SFX_DEX_FANFARE_80_109 ; 0a
const SFX_POISON ; 0b
const SFX_GOT_SAFARI_BALLS ; 0c
const SFX_BOOT_PC ; 0d
const SFX_SHUT_DOWN_PC ; 0e
const SFX_CHOOSE_PC_OPTION ; 0f
const SFX_ESCAPE_ROPE ; 10
const SFX_PUSH_BUTTON ; 11
const SFX_SECOND_PART_OF_ITEMFINDER ; 12
const SFX_WARP_TO ; 13
const SFX_WARP_FROM ; 14
const SFX_CHANGE_DEX_MODE ; 15
const SFX_JUMP_OVER_LEDGE ; 16
const SFX_GRASS_RUSTLE ; 17
const SFX_FLY ; 18
const SFX_WRONG ; 19
const SFX_SQUEAK ; 1a
const SFX_STRENGTH ; 1b
const SFX_BOAT ; 1c
const SFX_WALL_OPEN ; 1d
const SFX_PLACE_PUZZLE_PIECE_DOWN ; 1e
const SFX_ENTER_DOOR ; 1f
const SFX_SWITCH_POKEMON ; 20
const SFX_TALLY ; 21
const SFX_TRANSACTION ; 22
const SFX_EXIT_BUILDING ; 23
const SFX_BUMP ; 24
const SFX_SAVE ; 25
const SFX_POKEFLUTE ; 26
const SFX_ELEVATOR_END ; 27
const SFX_THROW_BALL ; 28
const SFX_BALL_POOF ; 29
const SFX_FAINT ; 2a
const SFX_RUN ; 2b
const SFX_SLOT_MACHINE_START ; 2c
const SFX_FANFARE ; 2d
const SFX_PECK ; 2e
const SFX_KINESIS ; 2f
const SFX_LICK ; 30
const SFX_POUND ; 31
const SFX_MOVE_PUZZLE_PIECE ; 32
const SFX_COMET_PUNCH ; 33
const SFX_MEGA_PUNCH ; 34
const SFX_SCRATCH ; 35
const SFX_VICEGRIP ; 36
const SFX_RAZOR_WIND ; 37
const SFX_CUT ; 38
const SFX_WING_ATTACK ; 39
const SFX_WHIRLWIND ; 3a
const SFX_BIND ; 3b
const SFX_VINE_WHIP ; 3c
const SFX_DOUBLE_KICK ; 3d
const SFX_MEGA_KICK ; 3e
const SFX_HEADBUTT ; 3f
const SFX_HORN_ATTACK ; 40
const SFX_TACKLE ; 41
const SFX_POISON_STING ; 42
const SFX_POWDER ; 43
const SFX_DOUBLESLAP ; 44
const SFX_BITE ; 45
const SFX_JUMP_KICK ; 46
const SFX_STOMP ; 47
const SFX_TAIL_WHIP ; 48
const SFX_KARATE_CHOP ; 49
const SFX_SUBMISSION ; 4a
const SFX_WATER_GUN ; 4b
const SFX_SWORDS_DANCE ; 4c
const SFX_THUNDER ; 4d
const SFX_SUPERSONIC ; 4e
const SFX_LEER ; 4f
const SFX_EMBER ; 50
const SFX_BUBBLEBEAM ; 51
const SFX_HYDRO_PUMP ; 52
const SFX_SURF ; 53
const SFX_PSYBEAM ; 54
const SFX_CHARGE ; 55
const SFX_THUNDERSHOCK ; 56
const SFX_PSYCHIC ; 57
const SFX_SCREECH ; 58
const SFX_BONE_CLUB ; 59
const SFX_SHARPEN ; 5a
const SFX_EGG_BOMB ; 5b
const SFX_SING ; 5c
const SFX_HYPER_BEAM ; 5d
const SFX_SHINE ; 5e
const SFX_UNKNOWN_5F ; 5f
const SFX_UNKNOWN_60 ; 60
const SFX_UNKNOWN_61 ; 61
const SFX_SWITCH_POCKETS ; 62
const SFX_UNKNOWN_63 ; 63
const SFX_BURN ; 64
const SFX_TITLE_SCREEN_ENTRANCE ; 65
const SFX_UNKNOWN_66 ; 66
const SFX_GET_COIN_FROM_SLOTS ; 67
const SFX_PAY_DAY ; 68
const SFX_METRONOME ; 69
const SFX_CALL ; 6a
const SFX_HANG_UP ; 6b
const SFX_NO_SIGNAL ; 6c
const SFX_SANDSTORM ; 6d
const SFX_ELEVATOR ; 6e
const SFX_PROTECT ; 6f
const SFX_SKETCH ; 70
const SFX_RAIN_DANCE ; 71
const SFX_AEROBLAST ; 72
const SFX_SPARK ; 73
const SFX_CURSE ; 74
const SFX_RAGE ; 75
const SFX_THIEF ; 76
const SFX_THIEF_2 ; 77
const SFX_SPIDER_WEB ; 78
const SFX_MIND_READER ; 79
const SFX_NIGHTMARE ; 7a
const SFX_SNORE ; 7b
const SFX_SWEET_KISS ; 7c
const SFX_SWEET_KISS_2 ; 7d
const SFX_BELLY_DRUM ; 7e
const SFX_TOXIC ; 7f
const SFX_SLUDGE_BOMB ; 80
const SFX_FORESIGHT ; 81
const SFX_SPITE ; 82
const SFX_OUTRAGE ; 83
const SFX_PERISH_SONG ; 84
const SFX_GIGA_DRAIN ; 85
const SFX_ATTRACT ; 86
const SFX_KINESIS_2 ; 87
const SFX_ZAP_CANNON ; 88
const SFX_MEAN_LOOK ; 89
const SFX_HEAL_BELL ; 8a
const SFX_RETURN ; 8b
const SFX_EXP_BAR ; 8c
const SFX_MILK_DRINK ; 8d
const SFX_PRESENT ; 8e
const SFX_MORNING_SUN ; 8f
const SFX_LEVEL_UP ; 90
const SFX_KEY_ITEM ; 91
const SFX_FANFARE_2 ; 92
const SFX_REGISTER_PHONE_NUMBER ; 93
const SFX_3RD_PLACE ; 94
const SFX_GET_EGG_UNUSED ; 95
const SFX_GET_EGG ; 96
const SFX_MOVE_DELETED ; 97
const SFX_2ND_PLACE ; 98
const SFX_1ST_PLACE ; 99
const SFX_CHOOSE_A_CARD ; 9a
const SFX_GET_TM ; 9b
const SFX_GET_BADGE ; 9c
const SFX_QUIT_SLOTS ; 9d
const SFX_EGG_CRACK ; 9e
const SFX_DEX_FANFARE_LESS_THAN_20 ; 9f
const SFX_DEX_FANFARE_140_169 ; a0
const SFX_DEX_FANFARE_170_199 ; a1
const SFX_DEX_FANFARE_200_229 ; a2
const SFX_DEX_FANFARE_230_PLUS ; a3
const SFX_EVOLVED ; a4
const SFX_MASTER_BALL ; a5
const SFX_EGG_HATCH ; a6
const SFX_GS_INTRO_CHARIZARD_FIREBALL ; a7
const SFX_GS_INTRO_POKEMON_APPEARS ; a8
const SFX_FLASH ; a9
const SFX_GAME_FREAK_LOGO_GS ; aa
const SFX_NOT_VERY_EFFECTIVE ; ab
const SFX_DAMAGE ; ac
const SFX_SUPER_EFFECTIVE ; ad
const SFX_BALL_BOUNCE ; ae
const SFX_MOONLIGHT ; af
const SFX_ENCORE ; b0
const SFX_BEAT_UP ; b1
const SFX_BATON_PASS ; b2
const SFX_BALL_WOBBLE ; b3
const SFX_SWEET_SCENT ; b4
const SFX_SWEET_SCENT_2 ; b5
const SFX_HIT_END_OF_EXP_BAR ; b6
const SFX_GIVE_TRADEMON ; b7
const SFX_GET_TRADEMON ; b8
const SFX_TRAIN_ARRIVED ; b9
const SFX_STOP_SLOT ; ba
const SFX_2_BOOPS ; bb
; new to Crystal
const SFX_GLASS_TING ; bc
const SFX_GLASS_TING_2 ; bd
const SFX_INTRO_UNOWN_1 ; be
const SFX_INTRO_UNOWN_2 ; bf
const SFX_INTRO_UNOWN_3 ; c0
const SFX_DITTO_POP_UP ; c1
const SFX_DITTO_TRANSFORM ; c2
const SFX_INTRO_SUICUNE_1 ; c3
const SFX_INTRO_PICHU ; c4
const SFX_INTRO_SUICUNE_2 ; c5
const SFX_INTRO_SUICUNE_3 ; c6
const SFX_DITTO_BOUNCE ; c7
const SFX_INTRO_SUICUNE_4 ; c8
const SFX_GAME_FREAK_PRESENTS ; c9
const SFX_TINGLE ; ca
const SFX_INTRO_WHOOSH ; cb
const SFX_TWO_PC_BEEPS ; cc
const SFX_4_NOTE_DITTY ; cd
const SFX_TWINKLE ; ce
DEF NUM_SFX EQU const_value

View file

@ -0,0 +1,336 @@
; sprite_anim_struct members (see macros/ram.asm)
rsreset
DEF SPRITEANIMSTRUCT_INDEX rb ; 0
DEF SPRITEANIMSTRUCT_FRAMESET_ID rb ; 1
DEF SPRITEANIMSTRUCT_ANIM_SEQ_ID rb ; 2
DEF SPRITEANIMSTRUCT_TILE_ID rb ; 3
DEF SPRITEANIMSTRUCT_XCOORD rb ; 4
DEF SPRITEANIMSTRUCT_YCOORD rb ; 5
DEF SPRITEANIMSTRUCT_XOFFSET rb ; 6
DEF SPRITEANIMSTRUCT_YOFFSET rb ; 7
DEF SPRITEANIMSTRUCT_DURATION rb ; 8
DEF SPRITEANIMSTRUCT_DURATIONOFFSET rb ; 9
DEF SPRITEANIMSTRUCT_FRAME rb ; a
DEF SPRITEANIMSTRUCT_JUMPTABLE_INDEX rb ; b
DEF SPRITEANIMSTRUCT_VAR1 rb ; c
DEF SPRITEANIMSTRUCT_VAR2 rb ; d
DEF SPRITEANIMSTRUCT_VAR3 rb ; e
DEF SPRITEANIMSTRUCT_VAR4 rb ; f
DEF SPRITEANIMSTRUCT_LENGTH EQU _RS
DEF NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs
; wSpriteAnimDict keys (see wram.asm)
; UnusedSpriteAnimGFX indexes (see data/sprite_anims/unused_gfx.asm)
const_def
const SPRITE_ANIM_DICT_DEFAULT ; 0
const_skip 4 ; unused
const SPRITE_ANIM_DICT_TEXT_CURSOR ; 5
const SPRITE_ANIM_DICT_GS_SPLASH ; 6
const SPRITE_ANIM_DICT_SLOTS ; 7
const SPRITE_ANIM_DICT_ARROW_CURSOR ; 8
DEF NUM_SPRITE_ANIM_GFX EQU const_value
; wSpriteAnimDict size (see wram.asm)
DEF NUM_SPRITEANIMDICT_ENTRIES EQU 10
; SpriteAnimSeqData indexes (see data/sprite_anims/sequences.asm)
const_def
const SPRITE_ANIM_INDEX_PARTY_MON ; 00
const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 01
const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR ; 02
const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO ; 03
const SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_STAR ; 04
const SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_SPARKLE ; 05
const SPRITE_ANIM_INDEX_SLOTS_GOLEM ; 06
const SPRITE_ANIM_INDEX_SLOTS_CHANSEY ; 07
const SPRITE_ANIM_INDEX_SLOTS_EGG ; 08
const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR ; 09
const SPRITE_ANIM_INDEX_RED_WALK ; 0a
const SPRITE_ANIM_INDEX_UNUSED_CURSOR ; 0b
const SPRITE_ANIM_INDEX_MEMORY_GAME_CURSOR ; 0c
const SPRITE_ANIM_INDEX_POKEGEAR_ARROW ; 0d
const SPRITE_ANIM_INDEX_TRADE_POKE_BALL ; 0e
const SPRITE_ANIM_INDEX_TRADE_POOF ; 0f
const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE ; 10
const SPRITE_ANIM_INDEX_TRADEMON_ICON ; 11
const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE ; 12
const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT ; 13
const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB ; 14
const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED ; 15
const SPRITE_ANIM_INDEX_LEAF ; 16
const SPRITE_ANIM_INDEX_CUT_TREE ; 17
const SPRITE_ANIM_INDEX_FLY_LEAF ; 18
const SPRITE_ANIM_INDEX_EGG_CRACK ; 19
const SPRITE_ANIM_INDEX_GS_INTRO_HO_OH_LUGIA ; 1a
const SPRITE_ANIM_INDEX_HEADBUTT ; 1b
const SPRITE_ANIM_INDEX_EGG_HATCH ; 1c
const SPRITE_ANIM_INDEX_EZCHAT_CURSOR ; 1d
const SPRITE_ANIM_INDEX_BLUE_WALK ; 1e
const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE ; 1f
const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL ; 20
const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL ; 21
const SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE ; 22
const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE ; 23
const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE ; 24
const SPRITE_ANIM_INDEX_MOBILE_TRADE_PING ; 25
const SPRITE_ANIM_INDEX_INTRO_SUICUNE ; 26
const SPRITE_ANIM_INDEX_INTRO_PICHU ; 27
const SPRITE_ANIM_INDEX_INTRO_WOOPER ; 28
const SPRITE_ANIM_INDEX_INTRO_UNOWN ; 29
const SPRITE_ANIM_INDEX_INTRO_UNOWN_F ; 2a
const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY ; 2b
const SPRITE_ANIM_INDEX_CELEBI ; 2c
DEF NUM_SPRITE_ANIM_INDEXES EQU const_value
; DoAnimFrame.Jumptable indexes (see engine/gfx/sprite_anims.asm)
const_def
const SPRITE_ANIM_SEQ_NULL ; 00
const SPRITE_ANIM_SEQ_PARTY_MON ; 01
const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH ; 02
const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED ; 03
const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL ; 04
const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 05
const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO ; 06
const SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_STAR ; 07
const SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_SPARKLE ; 08
const SPRITE_ANIM_SEQ_SLOTS_GOLEM ; 09
const SPRITE_ANIM_SEQ_SLOTS_CHANSEY ; 0a
const SPRITE_ANIM_SEQ_SLOTS_EGG ; 0b
const SPRITE_ANIM_SEQ_MAIL_CURSOR ; 0c
const SPRITE_ANIM_SEQ_UNUSED_CURSOR ; 0d
const SPRITE_ANIM_SEQ_MEMORY_GAME_CURSOR ; 0e
const SPRITE_ANIM_SEQ_POKEGEAR_ARROW ; 0f
const SPRITE_ANIM_SEQ_TRADE_POKE_BALL ; 10
const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE ; 11
const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE ; 12
const SPRITE_ANIM_SEQ_REVEAL_NEW_MON ; 13
const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB ; 14
const SPRITE_ANIM_SEQ_CUT_LEAVES ; 15
const SPRITE_ANIM_SEQ_FLY_FROM ; 16
const SPRITE_ANIM_SEQ_FLY_LEAF ; 17
const SPRITE_ANIM_SEQ_FLY_TO ; 18
const SPRITE_ANIM_SEQ_GS_INTRO_HO_OH_LUGIA ; 19
const SPRITE_ANIM_SEQ_EZCHAT_CURSOR ; 1a
const SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE ; 1b
const SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE ; 1c
const SPRITE_ANIM_SEQ_INTRO_SUICUNE ; 1d
const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER ; 1e
const SPRITE_ANIM_SEQ_CELEBI ; 1f
const SPRITE_ANIM_SEQ_INTRO_UNOWN ; 20
const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21
const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22
DEF NUM_SPRITE_ANIM_SEQS EQU const_value
; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm)
const_def
const SPRITE_ANIM_FRAMESET_00 ; 00
const SPRITE_ANIM_FRAMESET_PARTY_MON ; 01
const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL ; 02
const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM ; 03
const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST ; 04
const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL_FAST ; 05
const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM_FAST ; 06
const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL ; 07
const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 08
const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR_BIG ; 09
const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO ; 0a
const SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_STAR ; 0b
const SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_SPARKLE ; 0c
const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM ; 0d
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY ; 0e
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 ; 0f
const SPRITE_ANIM_FRAMESET_SLOTS_EGG ; 10
const SPRITE_ANIM_FRAMESET_RED_WALK ; 11
const SPRITE_ANIM_FRAMESET_STILL_CURSOR ; 12
const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL ; 13
const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_WOBBLE ; 14
const SPRITE_ANIM_FRAMESET_TRADE_POOF ; 15
const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE ; 16
const SPRITE_ANIM_FRAMESET_TRADEMON_ICON ; 17
const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE ; 18
const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT ; 19
const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB ; 1a
const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED ; 1b
const SPRITE_ANIM_FRAMESET_UNUSED_1C ; 1c
const SPRITE_ANIM_FRAMESET_LEAF ; 1d
const SPRITE_ANIM_FRAMESET_CUT_TREE ; 1e
const SPRITE_ANIM_FRAMESET_EGG_CRACK ; 1f
const SPRITE_ANIM_FRAMESET_EGG_HATCH_1 ; 20
const SPRITE_ANIM_FRAMESET_EGG_HATCH_2 ; 21
const SPRITE_ANIM_FRAMESET_EGG_HATCH_3 ; 22
const SPRITE_ANIM_FRAMESET_EGG_HATCH_4 ; 23
const SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH_LUGIA ; 24
const SPRITE_ANIM_FRAMESET_HEADBUTT ; 25
const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 ; 26
const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2 ; 27
const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 28
const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_4 ; 29
const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_5 ; 2a
const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_6 ; 2b
const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_7 ; 2c
const SPRITE_ANIM_FRAMESET_BLUE_WALK ; 2d
const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE ; 2e
const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL ; 2f
const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL ; 30
const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE ; 31
const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE ; 32
const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE ; 33
const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING ; 34
const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE ; 35
const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2 ; 36
const SPRITE_ANIM_FRAMESET_INTRO_PICHU ; 37
const SPRITE_ANIM_FRAMESET_INTRO_WOOPER ; 38
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1 ; 39
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2 ; 3a
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3 ; 3b
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4 ; 3c
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2 ; 3d
const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY ; 3e
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f
const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40
const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41
DEF NUM_SPRITE_ANIM_FRAMESETS EQU const_value
; SpriteAnimOAMData indexes (see data/sprite_anims/oam.asm)
const_def
const SPRITE_ANIM_OAMSET_RED_WALK_1 ; 00
const SPRITE_ANIM_OAMSET_RED_WALK_2 ; 01
const SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_1 ; 02
const SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_2 ; 03
const SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_1 ; 04
const SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_2 ; 05
const SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_1 ; 06
const SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_2 ; 07
const SPRITE_ANIM_OAMSET_GS_INTRO_UNUSED_LAPRAS ; 08
const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_1 ; 09
const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_2 ; 0a
const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_3 ; 0b
const SPRITE_ANIM_OAMSET_GS_INTRO_NOTE ; 0c
const SPRITE_ANIM_OAMSET_GS_INTRO_INVISIBLE_NOTE ; 0d
const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_1 ; 0e
const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_2 ; 0f
const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_3 ; 10
const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_1 ; 11
const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_2 ; 12
const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_3 ; 13
const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_4 ; 14
const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_1 ; 15
const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_2 ; 16
const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_3 ; 17
const SPRITE_ANIM_OAMSET_GS_INTRO_SMALL_FIREBALL ; 18
const SPRITE_ANIM_OAMSET_GS_INTRO_MED_FIREBALL ; 19
const SPRITE_ANIM_OAMSET_GS_INTRO_BIG_FIREBALL ; 1a
const SPRITE_ANIM_OAMSET_GS_INTRO_CHIKORITA ; 1b
const SPRITE_ANIM_OAMSET_GS_INTRO_CYNDAQUIL ; 1c
const SPRITE_ANIM_OAMSET_GS_INTRO_TOTODILE ; 1d
const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1 ; 1e
const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2 ; 1f
const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR ; 20
const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG ; 21
const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO ; 22
const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR ; 23
const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_1 ; 24
const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2 ; 25
const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_3 ; 26
const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1 ; 27
const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2 ; 28
const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1 ; 29
const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2 ; 2a
const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3 ; 2b
const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4 ; 2c
const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5 ; 2d
const SPRITE_ANIM_OAMSET_SLOTS_EGG ; 2e
const SPRITE_ANIM_OAMSET_STILL_CURSOR ; 2f
const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1 ; 30
const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2 ; 31
const SPRITE_ANIM_OAMSET_TRADE_POOF_1 ; 32
const SPRITE_ANIM_OAMSET_TRADE_POOF_2 ; 33
const SPRITE_ANIM_OAMSET_TRADE_POOF_3 ; 34
const SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_1 ; 35
const SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_2 ; 36
const SPRITE_ANIM_OAMSET_TRADEMON_ICON_1 ; 37
const SPRITE_ANIM_OAMSET_TRADEMON_ICON_2 ; 38
const SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE ; 39
const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1 ; 3a
const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2 ; 3b
const SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB ; 3c
const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1 ; 3d
const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2 ; 3e
const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1 ; 3f
const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2 ; 40
const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1 ; 41
const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2 ; 42
const SPRITE_ANIM_OAMSET_UNUSED_43 ; 43
const SPRITE_ANIM_OAMSET_UNUSED_44 ; 44
const SPRITE_ANIM_OAMSET_UNUSED_45 ; 45
const SPRITE_ANIM_OAMSET_UNUSED_46 ; 46
const SPRITE_ANIM_OAMSET_UNUSED_47 ; 47
const SPRITE_ANIM_OAMSET_UNUSED_48 ; 48
const SPRITE_ANIM_OAMSET_UNUSED_49 ; 49
const SPRITE_ANIM_OAMSET_UNUSED_4A ; 4a
const SPRITE_ANIM_OAMSET_UNUSED_4B ; 4b
const SPRITE_ANIM_OAMSET_UNUSED_4C ; 4c
const SPRITE_ANIM_OAMSET_UNUSED_4D ; 4d
const SPRITE_ANIM_OAMSET_UNUSED_4E ; 4e
const SPRITE_ANIM_OAMSET_LEAF ; 4f
const SPRITE_ANIM_OAMSET_TREE_1 ; 50
const SPRITE_ANIM_OAMSET_CUT_TREE_2 ; 51
const SPRITE_ANIM_OAMSET_CUT_TREE_3 ; 52
const SPRITE_ANIM_OAMSET_CUT_TREE_4 ; 53
const SPRITE_ANIM_OAMSET_EGG_CRACK ; 54
const SPRITE_ANIM_OAMSET_EGG_HATCH ; 55
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_1 ; 56
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_2 ; 57
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3 ; 58
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_4 ; 59
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_5 ; 5a
const SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2 ; 5b
const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1 ; 5c
const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2 ; 5d
const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_3 ; 5e
const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_4 ; 5f
const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_5 ; 60
const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_6 ; 61
const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_7 ; 62
const SPRITE_ANIM_OAMSET_BLUE_WALK_1 ; 63
const SPRITE_ANIM_OAMSET_BLUE_WALK_2 ; 64
const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1 ; 65
const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2 ; 66
const SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_1 ; 67
const SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_2 ; 68
const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_1 ; 69
const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_2 ; 6a
const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_3 ; 6b
const SPRITE_ANIM_OAMSET_MOBILE_TRADE_SENT_PULSE ; 6c
const SPRITE_ANIM_OAMSET_MOBILE_TRADE_OT_PULSE ; 6d
const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1 ; 6e
const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2 ; 6f
const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3 ; 70
const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4 ; 71
const SPRITE_ANIM_OAMSET_INTRO_PICHU_1 ; 72
const SPRITE_ANIM_OAMSET_INTRO_PICHU_2 ; 73
const SPRITE_ANIM_OAMSET_INTRO_PICHU_3 ; 74
const SPRITE_ANIM_OAMSET_INTRO_WOOPER ; 75
const SPRITE_ANIM_OAMSET_INTRO_UNOWN_1 ; 76
const SPRITE_ANIM_OAMSET_INTRO_UNOWN_2 ; 77
const SPRITE_ANIM_OAMSET_INTRO_UNOWN_3 ; 78
const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1 ; 79
const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2 ; 7a
const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3 ; 7b
const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4 ; 7c
const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5 ; 7d
const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY ; 7e
const SPRITE_ANIM_OAMSET_CELEBI_1 ; 7f
const SPRITE_ANIM_OAMSET_CELEBI_2 ; 80
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1 ; 81
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2 ; 82
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3 ; 83
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4 ; 84
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5 ; 85
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6 ; 86
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7 ; 87
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8 ; 88
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 ; 89
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 ; 8a
const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 ; 8b
DEF NUM_SPRITE_ANIM_OAMSETS EQU const_value

View file

@ -0,0 +1,169 @@
; sprite ids
; OverworldSprites indexes (see data/sprites/sprites.asm)
const_def
const SPRITE_NONE ; 00
const SPRITE_CHRIS ; 01
const SPRITE_CHRIS_BIKE ; 02
const SPRITE_GAMEBOY_KID ; 03
const SPRITE_RIVAL ; 04
const SPRITE_OAK ; 05
const SPRITE_RED ; 06
const SPRITE_BLUE ; 07
const SPRITE_BILL ; 08
const SPRITE_ELDER ; 09
const SPRITE_JANINE ; 0a
const SPRITE_KURT ; 0b
const SPRITE_MOM ; 0c
const SPRITE_BLAINE ; 0d
const SPRITE_REDS_MOM ; 0e
const SPRITE_DAISY ; 0f
const SPRITE_ELM ; 10
const SPRITE_WILL ; 11
const SPRITE_FALKNER ; 12
const SPRITE_WHITNEY ; 13
const SPRITE_BUGSY ; 14
const SPRITE_MORTY ; 15
const SPRITE_CHUCK ; 16
const SPRITE_JASMINE ; 17
const SPRITE_PRYCE ; 18
const SPRITE_CLAIR ; 19
const SPRITE_BROCK ; 1a
const SPRITE_KAREN ; 1b
const SPRITE_BRUNO ; 1c
const SPRITE_MISTY ; 1d
const SPRITE_LANCE ; 1e
const SPRITE_SURGE ; 1f
const SPRITE_ERIKA ; 20
const SPRITE_KOGA ; 21
const SPRITE_SABRINA ; 22
const SPRITE_COOLTRAINER_M ; 23
const SPRITE_COOLTRAINER_F ; 24
const SPRITE_BUG_CATCHER ; 25
const SPRITE_TWIN ; 26
const SPRITE_YOUNGSTER ; 27
const SPRITE_LASS ; 28
const SPRITE_TEACHER ; 29
const SPRITE_BEAUTY ; 2a
const SPRITE_SUPER_NERD ; 2b
const SPRITE_ROCKER ; 2c
const SPRITE_POKEFAN_M ; 2d
const SPRITE_POKEFAN_F ; 2e
const SPRITE_GRAMPS ; 2f
const SPRITE_GRANNY ; 30
const SPRITE_SWIMMER_GUY ; 31
const SPRITE_SWIMMER_GIRL ; 32
const SPRITE_BIG_SNORLAX ; 33
const SPRITE_SURFING_PIKACHU ; 34
const SPRITE_ROCKET ; 35
const SPRITE_ROCKET_GIRL ; 36
const SPRITE_NURSE ; 37
const SPRITE_LINK_RECEPTIONIST ; 38
const SPRITE_CLERK ; 39
const SPRITE_FISHER ; 3a
const SPRITE_FISHING_GURU ; 3b
const SPRITE_SCIENTIST ; 3c
const SPRITE_KIMONO_GIRL ; 3d
const SPRITE_SAGE ; 3e
const SPRITE_UNUSED_GUY ; 3f
const SPRITE_GENTLEMAN ; 40
const SPRITE_BLACK_BELT ; 41
const SPRITE_RECEPTIONIST ; 42
const SPRITE_OFFICER ; 43
const SPRITE_CAL ; 44
const SPRITE_SLOWPOKE ; 45
const SPRITE_CAPTAIN ; 46
const SPRITE_BIG_LAPRAS ; 47
const SPRITE_GYM_GUIDE ; 48
const SPRITE_SAILOR ; 49
const SPRITE_BIKER ; 4a
const SPRITE_PHARMACIST ; 4b
const SPRITE_MONSTER ; 4c
const SPRITE_FAIRY ; 4d
const SPRITE_BIRD ; 4e
const SPRITE_DRAGON ; 4f
const SPRITE_BIG_ONIX ; 50
const SPRITE_N64 ; 51
const SPRITE_SUDOWOODO ; 52
const SPRITE_SURF ; 53
const SPRITE_POKE_BALL ; 54
const SPRITE_POKEDEX ; 55
const SPRITE_PAPER ; 56
const SPRITE_VIRTUAL_BOY ; 57
const SPRITE_OLD_LINK_RECEPTIONIST ; 58
const SPRITE_ROCK ; 59
const SPRITE_BOULDER ; 5a
const SPRITE_SNES ; 5b
const SPRITE_FAMICOM ; 5c
const SPRITE_FRUIT_TREE ; 5d
const SPRITE_GOLD_TROPHY ; 5e
const SPRITE_SILVER_TROPHY ; 5f
const SPRITE_KRIS ; 60
const SPRITE_KRIS_BIKE ; 61
const SPRITE_KURT_OUTSIDE ; 62
const SPRITE_SUICUNE ; 63
const SPRITE_ENTEI ; 64
const SPRITE_RAIKOU ; 65
const SPRITE_STANDING_YOUNGSTER ; 66
DEF NUM_OVERWORLD_SPRITES EQU const_value - 1
; SpriteMons indexes (see data/sprites/sprite_mons.asm)
const_next $80
DEF SPRITE_POKEMON EQU const_value
const SPRITE_UNOWN ; 80
const SPRITE_GEODUDE ; 81
const SPRITE_GROWLITHE ; 82
const SPRITE_WEEDLE ; 83
const SPRITE_SHELLDER ; 84
const SPRITE_ODDISH ; 85
const SPRITE_GENGAR ; 86
const SPRITE_ZUBAT ; 87
const SPRITE_MAGIKARP ; 88
const SPRITE_SQUIRTLE ; 89
const SPRITE_TOGEPI ; 8a
const SPRITE_BUTTERFREE ; 8b
const SPRITE_DIGLETT ; 8c
const SPRITE_POLIWAG ; 8d
const SPRITE_PIKACHU ; 8e
const SPRITE_CLEFAIRY ; 8f
const SPRITE_CHARMANDER ; 90
const SPRITE_JYNX ; 91
const SPRITE_STARMIE ; 92
const SPRITE_BULBASAUR ; 93
const SPRITE_JIGGLYPUFF ; 94
const SPRITE_GRIMER ; 95
const SPRITE_EKANS ; 96
const SPRITE_PARAS ; 97
const SPRITE_TENTACOOL ; 98
const SPRITE_TAUROS ; 99
const SPRITE_MACHOP ; 9a
const SPRITE_VOLTORB ; 9b
const SPRITE_LAPRAS ; 9c
const SPRITE_RHYDON ; 9d
const SPRITE_MOLTRES ; 9e
const SPRITE_SNORLAX ; 9f
const SPRITE_GYARADOS ; a0
const SPRITE_LUGIA ; a1
const SPRITE_HO_OH ; a2
DEF NUM_POKEMON_SPRITES EQU const_value - SPRITE_POKEMON
; special GetMonSprite values (see engine/overworld/overworld.asm)
const_next $e0
const SPRITE_DAY_CARE_MON_1 ; e0
const SPRITE_DAY_CARE_MON_2 ; e1
; wVariableSprites indexes (see wram.asm)
const_next $f0
DEF SPRITE_VARS EQU const_value
const SPRITE_CONSOLE ; f0
const SPRITE_DOLL_1 ; f1
const SPRITE_DOLL_2 ; f2
const SPRITE_BIG_DOLL ; f3
const SPRITE_WEIRD_TREE ; f4
const SPRITE_OLIVINE_RIVAL ; f5
const SPRITE_AZALEA_ROCKET ; f6
const SPRITE_FUCHSIA_GYM_1 ; f7
const SPRITE_FUCHSIA_GYM_2 ; f8
const SPRITE_FUCHSIA_GYM_3 ; f9
const SPRITE_FUCHSIA_GYM_4 ; fa
const SPRITE_COPYCAT ; fb
const SPRITE_JANINE_IMPERSONATOR ; fc

View file

@ -0,0 +1,37 @@
; overworld_sprite struct members (see data/sprites/sprites.asm)
rsreset
DEF SPRITEDATA_ADDR rw ; 0
DEF SPRITEDATA_SIZE rb ; 2
DEF SPRITEDATA_BANK rb ; 3
DEF SPRITEDATA_TYPE rb ; 4
DEF SPRITEDATA_PALETTE rb ; 5
DEF NUM_SPRITEDATA_FIELDS EQU _RS
; sprite types
const_def 1
const WALKING_SPRITE ; 1
const STANDING_SPRITE ; 2
const STILL_SPRITE ; 3
; sprite palettes
const_def
const PAL_OW_RED ; 0
const PAL_OW_BLUE ; 1
const PAL_OW_GREEN ; 2
const PAL_OW_BROWN ; 3
const PAL_OW_PINK ; 4
const PAL_OW_EMOTE ; 5
const PAL_OW_TREE ; 6
const PAL_OW_ROCK ; 7
; object_events set bit 3 so as not to use the sprite's default palette
; MapObjectPals indexes (see gfx/overworld/npc_sprites.pal)
const_def 1 << 3
const PAL_NPC_RED ; 8
const PAL_NPC_BLUE ; 9
const PAL_NPC_GREEN ; a
const PAL_NPC_BROWN ; b
const PAL_NPC_PINK ; c
const PAL_NPC_EMOTE ; d
const PAL_NPC_TREE ; e
const PAL_NPC_ROCK ; f

View file

@ -0,0 +1,50 @@
; name lengths
DEF NAME_LENGTH EQU 11
DEF PLAYER_NAME_LENGTH EQU 8
DEF BOX_NAME_LENGTH EQU 9
DEF MON_NAME_LENGTH EQU 11
DEF MOVE_NAME_LENGTH EQU 13
DEF ITEM_NAME_LENGTH EQU 13
DEF TRAINER_CLASS_NAME_LENGTH EQU 13
DEF NAME_LENGTH_JAPANESE EQU 6
; GetName types (see home/names.asm)
const_def 1
const MON_NAME ; 1
const MOVE_NAME ; 2
const ITEM_NAME ; 3
const PARTY_OT_NAME ; 4
const ENEMY_OT_NAME ; 5
const TRAINER_NAME ; 6
; see home/text.asm
DEF BORDER_WIDTH EQU 2
DEF TEXTBOX_WIDTH EQU SCREEN_WIDTH
DEF TEXTBOX_INNERW EQU TEXTBOX_WIDTH - BORDER_WIDTH
DEF TEXTBOX_HEIGHT EQU 6
DEF TEXTBOX_INNERH EQU TEXTBOX_HEIGHT - BORDER_WIDTH
DEF TEXTBOX_X EQU 0
DEF TEXTBOX_INNERX EQU TEXTBOX_X + 1
DEF TEXTBOX_Y EQU SCREEN_HEIGHT - TEXTBOX_HEIGHT
DEF TEXTBOX_INNERY EQU TEXTBOX_Y + 2
; see gfx/frames/*.png
DEF TEXTBOX_FRAME_TILES EQU 6
; PrintNum bit flags
const_def 5
const PRINTNUM_MONEY_F ; 5
const PRINTNUM_LEFTALIGN_F ; 6
const PRINTNUM_LEADINGZEROS_F ; 7
; PrintNum arguments (see engine/math/print_num.asm)
DEF PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F
DEF PRINTNUM_LEFTALIGN EQU 1 << PRINTNUM_LEFTALIGN_F
DEF PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F
; character sets (see charmap.asm)
DEF FIRST_REGULAR_TEXT_CHAR EQU $60
DEF FIRST_HIRAGANA_DAKUTEN_CHAR EQU $20
; gfx/font/unown_font.png
DEF FIRST_UNOWN_CHAR EQU $40

View file

@ -0,0 +1,57 @@
; Tilesets indexes (see data/tilesets.asm)
const_def 1
const TILESET_JOHTO ; 01
const TILESET_JOHTO_MODERN ; 02
const TILESET_KANTO ; 03
const TILESET_BATTLE_TOWER_OUTSIDE ; 04
const TILESET_HOUSE ; 05
const TILESET_PLAYERS_HOUSE ; 06
const TILESET_POKECENTER ; 07
const TILESET_GATE ; 08
const TILESET_PORT ; 09
const TILESET_LAB ; 0a
const TILESET_FACILITY ; 0b
const TILESET_MART ; 0c
const TILESET_MANSION ; 0d
const TILESET_GAME_CORNER ; 0e
const TILESET_ELITE_FOUR_ROOM ; 0f
const TILESET_TRADITIONAL_HOUSE ; 10
const TILESET_TRAIN_STATION ; 11
const TILESET_CHAMPIONS_ROOM ; 12
const TILESET_LIGHTHOUSE ; 13
const TILESET_PLAYERS_ROOM ; 14
const TILESET_POKECOM_CENTER ; 15
const TILESET_BATTLE_TOWER_INSIDE ; 16
const TILESET_TOWER ; 17
const TILESET_CAVE ; 18
const TILESET_PARK ; 19
const TILESET_RUINS_OF_ALPH ; 1a
const TILESET_RADIO_TOWER ; 1b
const TILESET_UNDERGROUND ; 1c
const TILESET_ICE_PATH ; 1d
const TILESET_DARK_CAVE ; 1e
const TILESET_FOREST ; 1f
const TILESET_BETA_WORD_ROOM ; 20
const TILESET_HO_OH_WORD_ROOM ; 21
const TILESET_KABUTO_WORD_ROOM ; 22
const TILESET_OMANYTE_WORD_ROOM ; 23
const TILESET_AERODACTYL_WORD_ROOM ; 24
DEF NUM_TILESETS EQU const_value - 1
; wTileset struct size
DEF TILESET_LENGTH EQU 15
; roof length (see gfx/tilesets/roofs)
DEF ROOF_LENGTH EQU 9
; bg palette values (see gfx/tilesets/*_palette_map.asm)
; TilesetBGPalette indexes (see gfx/tilesets/bg_tiles.pal)
const_def
const PAL_BG_GRAY ; 0
const PAL_BG_RED ; 1
const PAL_BG_GREEN ; 2
const PAL_BG_WATER ; 3
const PAL_BG_YELLOW ; 4
const PAL_BG_BROWN ; 5
const PAL_BG_ROOF ; 6
const PAL_BG_TEXT ; 7

View file

@ -0,0 +1,706 @@
DEF __trainer_class__ = 0
MACRO trainerclass
DEF \1 EQU __trainer_class__
DEF __trainer_class__ += 1
const_def 1
ENDM
; trainer class ids
; `trainerclass` indexes are for:
; - TrainerClassNames (see data/trainers/class_names.asm)
; - TrainerClassAttributes (see data/trainers/attributes.asm)
; - TrainerClassDVs (see data/trainers/dvs.asm)
; - TrainerGroups (see data/trainers/party_pointers.asm)
; - TrainerEncounterMusic (see data/trainers/encounter_music.asm)
; - TrainerPicPointers (see data/trainers/pic_pointers.asm)
; - TrainerPalettes (see data/trainers/palettes.asm)
; - BTTrainerClassSprites (see data/trainers/sprites.asm)
; - BTTrainerClassGenders (see data/trainers/genders.asm)
; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see data/trainers/parties.asm)
DEF CHRIS EQU __trainer_class__
trainerclass TRAINER_NONE ; 0
const PHONECONTACT_MOM
const PHONECONTACT_BIKESHOP
const PHONECONTACT_BILL
const PHONECONTACT_ELM
const PHONECONTACT_BUENA
DEF NUM_NONTRAINER_PHONECONTACTS EQU const_value - 1
DEF KRIS EQU __trainer_class__
trainerclass FALKNER ; 1
const FALKNER1
trainerclass WHITNEY ; 2
const WHITNEY1
trainerclass BUGSY ; 3
const BUGSY1
trainerclass MORTY ; 4
const MORTY1
trainerclass PRYCE ; 5
const PRYCE1
trainerclass JASMINE ; 6
const JASMINE1
trainerclass CHUCK ; 7
const CHUCK1
trainerclass CLAIR ; 8
const CLAIR1
trainerclass RIVAL1 ; 9
const RIVAL1_1_CHIKORITA
const RIVAL1_1_CYNDAQUIL
const RIVAL1_1_TOTODILE
const RIVAL1_2_CHIKORITA
const RIVAL1_2_CYNDAQUIL
const RIVAL1_2_TOTODILE
const RIVAL1_3_CHIKORITA
const RIVAL1_3_CYNDAQUIL
const RIVAL1_3_TOTODILE
const RIVAL1_4_CHIKORITA
const RIVAL1_4_CYNDAQUIL
const RIVAL1_4_TOTODILE
const RIVAL1_5_CHIKORITA
const RIVAL1_5_CYNDAQUIL
const RIVAL1_5_TOTODILE
trainerclass POKEMON_PROF ; a
trainerclass WILL ; b
const WILL1
trainerclass CAL ; c
const CAL1 ; unused
const CAL2
const CAL3
trainerclass BRUNO ; d
const BRUNO1
trainerclass KAREN ; e
const KAREN1
trainerclass KOGA ; f
const KOGA1
trainerclass CHAMPION ; 10
const LANCE
trainerclass BROCK ; 11
const BROCK1
trainerclass MISTY ; 12
const MISTY1
trainerclass LT_SURGE ; 13
const LT_SURGE1
trainerclass SCIENTIST ; 14
const ROSS
const MITCH
const JED
const MARC
const RICH
trainerclass ERIKA ; 15
const ERIKA1
trainerclass YOUNGSTER ; 16
const JOEY1
const MIKEY
const ALBERT
const GORDON
const SAMUEL
const IAN
const JOEY2
const JOEY3
const WARREN
const JIMMY
const OWEN
const JASON
const JOEY4
const JOEY5
trainerclass SCHOOLBOY ; 17
const JACK1
const KIPP
const ALAN1
const JOHNNY
const DANNY
const TOMMY
const DUDLEY
const JOE
const BILLY
const CHAD1
const NATE
const RICKY
const JACK2
const JACK3
const ALAN2
const ALAN3
const CHAD2
const CHAD3
const JACK4
const JACK5
const ALAN4
const ALAN5
const CHAD4
const CHAD5
trainerclass BIRD_KEEPER ; 18
const ROD
const ABE
const BRYAN
const THEO
const TOBY
const DENIS
const VANCE1
const HANK
const ROY
const BORIS
const BOB
const JOSE1
const PETER
const JOSE2
const PERRY
const BRET
const JOSE3
const VANCE2
const VANCE3
trainerclass LASS ; 19
const CARRIE
const BRIDGET
const ALICE
const KRISE
const CONNIE1
const LINDA
const LAURA
const SHANNON
const MICHELLE
const DANA1
const ELLEN
const CONNIE2 ; unused
const CONNIE3 ; unused
const DANA2
const DANA3
const DANA4
const DANA5
trainerclass JANINE ; 1a
const JANINE1
trainerclass COOLTRAINERM ; 1b
const NICK
const AARON
const PAUL
const CODY
const MIKE
const GAVEN1
const GAVEN2
const RYAN
const JAKE
const GAVEN3
const BLAKE
const BRIAN
const ERICK ; unused
const ANDY ; unused
const TYLER ; unused
const SEAN
const KEVIN
const STEVE ; unused
const ALLEN
const DARIN
trainerclass COOLTRAINERF ; 1c
const GWEN
const LOIS
const FRAN
const LOLA
const KATE
const IRENE
const KELLY
const JOYCE
const BETH1
const REENA1
const MEGAN
const BETH2
const CAROL
const QUINN
const EMMA
const CYBIL
const JENN
const BETH3
const REENA2
const REENA3
const CARA
trainerclass BEAUTY ; 1d
const VICTORIA
const SAMANTHA
const JULIE ; unused
const JACLYN ; unused
const BRENDA ; unused
const CASSIE
const CAROLINE ; unused
const CARLENE ; unused
const JESSICA ; unused
const RACHAEL ; unused
const ANGELICA ; unused
const KENDRA ; unused
const VERONICA ; unused
const JULIA
const THERESA ; unused
const VALERIE
const OLIVIA
trainerclass POKEMANIAC ; 1e
const LARRY
const ANDREW
const CALVIN
const SHANE
const BEN
const BRENT1
const RON
const ETHAN
const BRENT2
const BRENT3
const ISSAC
const DONALD
const ZACH
const BRENT4
const MILLER
trainerclass GRUNTM ; 1f
const GRUNTM_1
const GRUNTM_2
const GRUNTM_3
const GRUNTM_4
const GRUNTM_5
const GRUNTM_6
const GRUNTM_7
const GRUNTM_8
const GRUNTM_9
const GRUNTM_10
const GRUNTM_11
const GRUNTM_12 ; unused
const GRUNTM_13
const GRUNTM_14
const GRUNTM_15
const GRUNTM_16
const GRUNTM_17
const GRUNTM_18
const GRUNTM_19
const GRUNTM_20
const GRUNTM_21
const GRUNTM_22 ; unused
const GRUNTM_23 ; unused
const GRUNTM_24
const GRUNTM_25
const GRUNTM_26 ; unused
const GRUNTM_27 ; unused
const GRUNTM_28
const GRUNTM_29
const GRUNTM_30 ; unused
const GRUNTM_31
trainerclass GENTLEMAN ; 20
const PRESTON
const EDWARD
const GREGORY
const VIRGIL ; unused
const ALFRED
trainerclass SKIER ; 21
const ROXANNE
const CLARISSA
trainerclass TEACHER ; 22
const COLETTE
const HILLARY
const SHIRLEY
trainerclass SABRINA ; 23
const SABRINA1
trainerclass BUG_CATCHER ; 24
const DON
const ROB
const ED
const WADE1
const BUG_CATCHER_BENNY
const AL
const JOSH
const ARNIE1
const KEN
const WADE2
const WADE3
const DOUG
const ARNIE2
const ARNIE3
const WADE4
const WADE5
const ARNIE4
const ARNIE5
const WAYNE
trainerclass FISHER ; 25
const JUSTIN
const RALPH1
const ARNOLD
const KYLE
const HENRY
const MARVIN
const TULLY1
const ANDRE
const RAYMOND
const WILTON1
const EDGAR
const JONAH
const MARTIN
const STEPHEN
const BARNEY
const RALPH2
const RALPH3
const TULLY2
const TULLY3
const WILTON2
const SCOTT
const WILTON3
const RALPH4
const RALPH5
const TULLY4
trainerclass SWIMMERM ; 26
const HAROLD
const SIMON
const RANDALL
const CHARLIE
const GEORGE
const BERKE
const KIRK
const MATHEW
const HAL ; unused
const PATON ; unused
const DARYL ; unused
const WALTER ; unused
const TONY ; unused
const JEROME
const TUCKER
const RICK ; unused
const CAMERON
const SETH
const JAMES ; unused
const LEWIS ; unused
const PARKER
trainerclass SWIMMERF ; 27
const ELAINE
const PAULA
const KAYLEE
const SUSIE
const DENISE
const KARA
const WENDY
const LISA ; unused
const JILL ; unused
const MARY ; unused
const KATIE ; unused
const DAWN
const TARA ; unused
const NICOLE
const LORI
const JODY ; unused
const NIKKI
const DIANA
const BRIANA
trainerclass SAILOR ; 28
const EUGENE
const HUEY1
const TERRELL
const KENT
const ERNEST
const JEFF
const GARRETT
const KENNETH
const STANLY
const HARRY
const HUEY2
const HUEY3
const HUEY4
trainerclass SUPER_NERD ; 29
const STAN
const ERIC
const GREGG ; unused
const JAY ; unused
const DAVE ; unused
const SAM
const TOM
const PAT
const SHAWN
const TERU
const RUSS ; unused
const NORTON ; unused
const HUGH
const MARKUS
trainerclass RIVAL2 ; 2a
const RIVAL2_1_CHIKORITA
const RIVAL2_1_CYNDAQUIL
const RIVAL2_1_TOTODILE
const RIVAL2_2_CHIKORITA
const RIVAL2_2_CYNDAQUIL
const RIVAL2_2_TOTODILE
trainerclass GUITARIST ; 2b
const CLYDE
const VINCENT
trainerclass HIKER ; 2c
const ANTHONY1
const RUSSELL
const PHILLIP
const LEONARD
const ANTHONY2
const BENJAMIN
const ERIK
const MICHAEL
const PARRY1
const TIMOTHY
const BAILEY
const ANTHONY3
const TIM
const NOLAND
const SIDNEY
const KENNY
const JIM
const DANIEL
const PARRY2
const PARRY3
const ANTHONY4
const ANTHONY5
trainerclass BIKER ; 2d
const BIKER_BENNY ; unused
const KAZU ; unused
const DWAYNE
const HARRIS
const ZEKE
const CHARLES
const RILEY
const JOEL
const GLENN
trainerclass BLAINE ; 2e
const BLAINE1
trainerclass BURGLAR ; 2f
const DUNCAN
const EDDIE
const COREY
trainerclass FIREBREATHER ; 30
const OTIS
const DICK ; unused
const NED ; unused
const BURT
const BILL
const WALT
const RAY
const LYLE
trainerclass JUGGLER ; 31
const IRWIN1
const FRITZ
const HORTON
const IRWIN2 ; unused
const IRWIN3 ; unused
const IRWIN4 ; unused
trainerclass BLACKBELT_T ; 32
const KENJI1 ; unused
const YOSHI
const KENJI2 ; unused
const LAO
const NOB
const KIYO
const LUNG
const KENJI3
const WAI
trainerclass EXECUTIVEM ; 33
const EXECUTIVEM_1
const EXECUTIVEM_2
const EXECUTIVEM_3
const EXECUTIVEM_4
trainerclass PSYCHIC_T ; 34
const NATHAN
const FRANKLIN
const HERMAN
const FIDEL
const GREG
const NORMAN
const MARK
const PHIL
const RICHARD
const GILBERT
const JARED
const RODNEY
trainerclass PICNICKER ; 35
const LIZ1
const GINA1
const BROOKE
const KIM
const CINDY
const HOPE
const SHARON
const DEBRA
const GINA2
const ERIN1
const LIZ2
const LIZ3
const HEIDI
const EDNA
const GINA3
const TIFFANY1
const TIFFANY2
const ERIN2
const TANYA
const TIFFANY3
const ERIN3
const LIZ4
const LIZ5
const GINA4
const GINA5
const TIFFANY4
trainerclass CAMPER ; 36
const ROLAND
const TODD1
const IVAN
const ELLIOT
const BARRY
const LLOYD
const DEAN
const SID
const HARVEY ; unused
const DALE ; unused
const TED
const TODD2
const TODD3
const THOMAS ; unused
const LEROY ; unused
const DAVID ; unused
const JOHN ; unused
const JERRY
const SPENCER
const TODD4
const TODD5
const QUENTIN
trainerclass EXECUTIVEF ; 37
const EXECUTIVEF_1
const EXECUTIVEF_2
trainerclass SAGE ; 38
const CHOW
const NICO
const JIN
const TROY
const JEFFREY
const PING
const EDMOND
const NEAL
const LI
const GAKU
const MASA
const KOJI
trainerclass MEDIUM ; 39
const MARTHA
const GRACE
const BETHANY ; unused
const MARGRET ; unused
const ETHEL ; unused
const REBECCA
const DORIS
trainerclass BOARDER ; 3a
const RONALD
const BRAD
const DOUGLAS
trainerclass POKEFANM ; 3b
const WILLIAM
const DEREK1
const ROBERT
const JOSHUA
const CARTER
const TREVOR
const BRANDON
const JEREMY
const COLIN
const DEREK2 ; unused
const DEREK3 ; unused
const ALEX
const REX
const ALLAN
trainerclass KIMONO_GIRL ; 3c
const NAOKO_UNUSED ; unused
const NAOKO
const SAYO
const ZUKI
const KUNI
const MIKI
trainerclass TWINS ; 3d
const AMYANDMAY1
const ANNANDANNE1
const ANNANDANNE2
const AMYANDMAY2
const JOANDZOE1
const JOANDZOE2
const MEGANDPEG1
const MEGANDPEG2
const LEAANDPIA1
const LEAANDPIA2 ; unused
trainerclass POKEFANF ; 3e
const BEVERLY1
const RUTH
const BEVERLY2 ; unused
const BEVERLY3 ; unused
const GEORGIA
const JAIME
trainerclass RED ; 3f
const RED1
trainerclass BLUE ; 40
const BLUE1
trainerclass OFFICER ; 41
const KEITH
const DIRK
trainerclass GRUNTF ; 42
const GRUNTF_1
const GRUNTF_2
const GRUNTF_3
const GRUNTF_4
const GRUNTF_5
trainerclass MYSTICALMAN ; 43
const EUSINE
DEF NUM_TRAINER_CLASSES EQU __trainer_class__ - 1

View file

@ -0,0 +1,51 @@
; TrainerClassAttributes struct members (see data/trainers/attributes.asm)
rsreset
DEF TRNATTR_ITEM1 rb ; 0
DEF TRNATTR_ITEM2 rb ; 1
DEF TRNATTR_BASEMONEY rb ; 2
DEF TRNATTR_AI_MOVE_WEIGHTS rw ; 3
DEF TRNATTR_AI_ITEM_SWITCH rw ; 5
DEF NUM_TRAINER_ATTRIBUTES EQU _RS
; TRNATTR_AI_MOVE_WEIGHTS bit flags (wEnemyTrainerAIFlags)
; AIScoringPointers indexes (see engine/battle/ai/move.asm)
const_def
shift_const AI_BASIC
shift_const AI_SETUP
shift_const AI_TYPES
shift_const AI_OFFENSIVE
shift_const AI_SMART
shift_const AI_OPPORTUNIST
shift_const AI_AGGRESSIVE
shift_const AI_CAUTIOUS
shift_const AI_STATUS
shift_const AI_RISKY
DEF NO_AI EQU 0
; TRNATTR_AI_ITEM_SWITCH bit flags
const_def
const SWITCH_OFTEN_F ; 0
const SWITCH_RARELY_F ; 1
const SWITCH_SOMETIMES_F ; 2
const_skip ; 3
const ALWAYS_USE_F ; 4
const UNKNOWN_USE_F ; 5
const CONTEXT_USE_F ; 6
DEF SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F
DEF SWITCH_RARELY EQU 1 << SWITCH_RARELY_F
DEF SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F
DEF ALWAYS_USE EQU 1 << ALWAYS_USE_F
DEF UNKNOWN_USE EQU 1 << UNKNOWN_USE_F
DEF CONTEXT_USE EQU 1 << CONTEXT_USE_F
; TrainerTypes bits (see engine/battle/read_trainer_party.asm)
const_def
const TRAINERTYPE_MOVES_F
const TRAINERTYPE_ITEM_F
; Trainer party types (see data/trainers/parties.asm)
DEF TRAINERTYPE_NORMAL EQU 0
DEF TRAINERTYPE_MOVES EQU 1 << TRAINERTYPE_MOVES_F
DEF TRAINERTYPE_ITEM EQU 1 << TRAINERTYPE_ITEM_F
DEF TRAINERTYPE_ITEM_MOVES EQU TRAINERTYPE_MOVES | TRAINERTYPE_ITEM ;backwards compatibility

View file

@ -0,0 +1,39 @@
; TypeNames indexes (see data/types/names.asm)
; also used in:
; - PokedexTypeSearchConversionTable (see data/types/search_types.asm)
; - PokedexTypeSearchStrings (see data/types/search_strings.asm)
; - TypeMatchups (see data/types/type_matchups.asm)
; - TypeBoostItems (see data/types/type_boost_items.asm)
const_def
DEF PHYSICAL EQU const_value
const NORMAL
const FIGHTING
const FLYING
const POISON
const GROUND
const ROCK
const BIRD
const BUG
const GHOST
const STEEL
DEF UNUSED_TYPES EQU const_value
const_next 19
const CURSE_TYPE
DEF UNUSED_TYPES_END EQU const_value
DEF SPECIAL EQU const_value
const FIRE
const WATER
const GRASS
const ELECTRIC
const PSYCHIC_TYPE
const ICE
const DRAGON
const DARK
DEF TYPES_END EQU const_value
DEF NUM_TYPES EQU TYPES_END + UNUSED_TYPES - UNUSED_TYPES_END - 1 ; discount BIRD
DEF POKEDEX_TYPE_STRING_LENGTH EQU 9

View file

@ -0,0 +1,320 @@
; wInputType::
DEF AUTO_INPUT EQU $ff
; wDebugFlags::
const_def
const DEBUG_BATTLE_F
const DEBUG_FIELD_F
; wCurDexMode::
const_def
const DEXMODE_NEW
const DEXMODE_OLD
const DEXMODE_ABC
const DEXMODE_UNOWN
; wMonType::
const_def
const PARTYMON ; 0
const OTPARTYMON ; 1
const BOXMON ; 2
const TEMPMON ; 3
const WILDMON ; 4
; wGameTimerPaused::
DEF GAME_TIMER_PAUSED_F EQU 0
DEF GAME_TIMER_MOBILE_F EQU 7
; wJoypadDisable::
DEF JOYPAD_DISABLE_MON_FAINT_F EQU 6
DEF JOYPAD_DISABLE_SGB_TRANSFER_F EQU 7
; wOptions1::
DEF TEXT_DELAY_MASK EQU %111
const_def 4
const NO_TEXT_SCROLL ; 4
const STEREO ; 5
const BATTLE_SHIFT ; 6
const BATTLE_SCENE ; 7
DEF TEXT_DELAY_FAST EQU %001 ; 1
DEF TEXT_DELAY_MED EQU %011 ; 3
DEF TEXT_DELAY_SLOW EQU %101 ; 5
; wTextboxFrame::
const_def
const FRAME_1 ; 0
const FRAME_2 ; 1
const FRAME_3 ; 2
const FRAME_4 ; 3
const FRAME_5 ; 4
const FRAME_6 ; 5
const FRAME_7 ; 6
const FRAME_8 ; 7
DEF NUM_FRAMES EQU const_value
; wTextboxFlags::
const_def
const FAST_TEXT_DELAY_F ; 0
const NO_TEXT_DELAY_F ; 1
; wGBPrinterBrightness::
DEF GBPRINTER_LIGHTEST EQU $00
DEF GBPRINTER_LIGHTER EQU $20
DEF GBPRINTER_NORMAL EQU $40
DEF GBPRINTER_DARKER EQU $60
DEF GBPRINTER_DARKEST EQU $7f
; wOptions2::
const_def
const MENU_ACCOUNT ; 0
; wWalkingDirection::
const_def -1
const STANDING ; -1
const DOWN ; 0
const UP ; 1
const LEFT ; 2
const RIGHT ; 3
DEF NUM_DIRECTIONS EQU const_value
DEF DOWN_MASK EQU 1 << DOWN
DEF UP_MASK EQU 1 << UP
DEF LEFT_MASK EQU 1 << LEFT
DEF RIGHT_MASK EQU 1 << RIGHT
; wFacingDirection::
const_def NUM_DIRECTIONS - 1, -1
shift_const FACE_DOWN ; 8
shift_const FACE_UP ; 4
shift_const FACE_LEFT ; 2
shift_const FACE_RIGHT ; 1
DEF FACE_CURRENT EQU 0
; wPokemonWithdrawDepositParameter::
DEF PC_WITHDRAW EQU 0
DEF PC_DEPOSIT EQU 1
DEF REMOVE_PARTY EQU 0
DEF REMOVE_BOX EQU 1
DEF DAY_CARE_WITHDRAW EQU 2
DEF DAY_CARE_DEPOSIT EQU 3
; wPlayerStepFlags::
const_def 4
const PLAYERSTEP_MIDAIR_F ; 4
const PLAYERSTEP_CONTINUE_F ; 5
const PLAYERSTEP_STOP_F ; 6
const PLAYERSTEP_START_F ; 7
; wInitListType::
DEF INIT_ENEMYOT_LIST EQU 1
DEF INIT_BAG_ITEM_LIST EQU 2
DEF INIT_OTHER_ITEM_LIST EQU 3
DEF INIT_PLAYEROT_LIST EQU 4
DEF INIT_MON_LIST EQU 5
; wTimeOfDay::
const_def
const MORN_F ; 0
const DAY_F ; 1
const NITE_F ; 2
const DARKNESS_F ; 3
DEF NUM_DAYTIMES EQU const_value
DEF MORN EQU 1 << MORN_F
DEF DAY EQU 1 << DAY_F
DEF NITE EQU 1 << NITE_F
DEF DARKNESS EQU 1 << DARKNESS_F
DEF ANYTIME EQU MORN | DAY | NITE
; wTimeOfDayPalset::
DEF DARKNESS_PALSET EQU (DARKNESS_F << 6) | (DARKNESS_F << 4) | (DARKNESS_F << 2) | DARKNESS_F
; wBattleAnimFlags::
const_def
const BATTLEANIM_STOP_F ; 0
const BATTLEANIM_IN_SUBROUTINE_F ; 1
const BATTLEANIM_IN_LOOP_F ; 2
const BATTLEANIM_KEEPSPRITES_F ; 3
; wPlayerSpriteSetupFlags::
DEF PLAYERSPRITESETUP_FACING_MASK EQU %11
DEF PLAYERSPRITESETUP_FEMALE_TO_MALE_F EQU 2
DEF PLAYERSPRITESETUP_CUSTOM_FACING_F EQU 5
DEF PLAYERSPRITESETUP_SKIP_RELOAD_GFX_F EQU 6
DEF PLAYERSPRITESETUP_RESET_ACTION_F EQU 7
; wPlayerGender::
DEF PLAYERGENDER_FEMALE_F EQU 0
; wMapStatus::
const_def
const MAPSTATUS_START ; 0
const MAPSTATUS_ENTER ; 1
const MAPSTATUS_HANDLE ; 2
const MAPSTATUS_DONE ; 3
; wMapEventStatus::
const_def
const MAPEVENTS_ON ; 0
const MAPEVENTS_OFF ; 1
; wScriptFlags::
DEF SCRIPT_RUNNING EQU 2
; wScriptMode::
const_def
const SCRIPT_OFF
const SCRIPT_READ
const SCRIPT_WAIT_MOVEMENT
const SCRIPT_WAIT
; wSpawnAfterChampion::
DEF SPAWN_LANCE EQU 1
DEF SPAWN_RED EQU 2
; wCurDay::
const_def
const SUNDAY ; 0
const MONDAY ; 1
const TUESDAY ; 2
const WEDNESDAY ; 3
const THURSDAY ; 4
const FRIDAY ; 5
const SATURDAY ; 6
; wStatusFlags::
const_def
const STATUSFLAGS_POKEDEX_F ; 0
const STATUSFLAGS_UNOWN_DEX_F ; 1
const STATUSFLAGS_FLASH_F ; 2
const STATUSFLAGS_CAUGHT_POKERUS_F ; 3
const STATUSFLAGS_ROCKET_SIGNAL_F ; 4
const STATUSFLAGS_NO_WILD_ENCOUNTERS_F ; 5
const STATUSFLAGS_HALL_OF_FAME_F ; 6
const STATUSFLAGS_MAIN_MENU_MOBILE_CHOICES_F ; 7
; wStatusFlags2::
const_def
const STATUSFLAGS2_ROCKETS_IN_RADIO_TOWER_F ; 0
const STATUSFLAGS2_SAFARI_GAME_F ; 1
const STATUSFLAGS2_BUG_CONTEST_TIMER_F ; 2
const STATUSFLAGS2_UNUSED_3_F ; 3
const STATUSFLAGS2_BIKE_SHOP_CALL_F ; 4
const STATUSFLAGS2_UNUSED_5_F ; 5
const STATUSFLAGS2_REACHED_GOLDENROD_F ; 6
const STATUSFLAGS2_ROCKETS_IN_MAHOGANY_F ; 7
; wMomSavingMoney::
DEF MOM_SAVING_SOME_MONEY_F EQU 0
DEF MOM_SAVING_HALF_MONEY_F EQU 1
DEF MOM_SAVING_ALL_MONEY_F EQU 2
DEF MOM_ACTIVE_F EQU 7
DEF MOM_SAVING_MONEY_MASK EQU (1 << MOM_SAVING_SOME_MONEY_F) | (1 << MOM_SAVING_HALF_MONEY_F) | (1 << MOM_SAVING_ALL_MONEY_F)
; wJohtoBadges::
const_def
const ZEPHYRBADGE
const HIVEBADGE
const PLAINBADGE
const FOGBADGE
const MINERALBADGE
const STORMBADGE
const GLACIERBADGE
const RISINGBADGE
DEF NUM_JOHTO_BADGES EQU const_value
; wKantoBadges::
const_def
const BOULDERBADGE
const CASCADEBADGE
const THUNDERBADGE
const RAINBOWBADGE
const SOULBADGE
const MARSHBADGE
const VOLCANOBADGE
const EARTHBADGE
DEF NUM_KANTO_BADGES EQU const_value
DEF NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES
; wPokegearFlags::
const_def
const POKEGEAR_MAP_CARD_F ; 0
const POKEGEAR_RADIO_CARD_F ; 1
const POKEGEAR_PHONE_CARD_F ; 2
const POKEGEAR_EXPN_CARD_F ; 3
const_skip 3
const POKEGEAR_OBTAINED_F ; 7
; wWhichRegisteredItem::
DEF REGISTERED_POCKET EQU %11000000
DEF REGISTERED_NUMBER EQU %00111111
; wPlayerState::
DEF PLAYER_NORMAL EQU 0
DEF PLAYER_BIKE EQU 1
DEF PLAYER_SKATE EQU 2
DEF PLAYER_SURF EQU 4
DEF PLAYER_SURF_PIKA EQU 8
; wCelebiEvent::
DEF CELEBIEVENT_FOREST_IS_RESTLESS_F EQU 2
; wBikeFlags::
const_def
const BIKEFLAGS_STRENGTH_ACTIVE_F ; 0
const BIKEFLAGS_ALWAYS_ON_BIKE_F ; 1
const BIKEFLAGS_DOWNHILL_F ; 2
; wDailyFlags1::
const_def
const DAILYFLAGS1_KURT_MAKING_BALLS_F ; 0
const DAILYFLAGS1_BUG_CONTEST_F ; 1
const DAILYFLAGS1_FISH_SWARM_F ; 2
const DAILYFLAGS1_TIME_CAPSULE_F ; 3
const DAILYFLAGS1_ALL_FRUIT_TREES_F ; 4
const DAILYFLAGS1_GOT_SHUCKIE_TODAY_F ; 5
const DAILYFLAGS1_GOLDENROD_UNDERGROUND_BARGAIN_F ; 6
const DAILYFLAGS1_TRAINER_HOUSE_F ; 7
; wDailyFlags2::
const_def
const DAILYFLAGS2_MT_MOON_SQUARE_CLEFAIRY_F ; 0
const DAILYFLAGS2_UNION_CAVE_LAPRAS_F ; 1
const DAILYFLAGS2_GOLDENROD_UNDERGROUND_GOT_HAIRCUT_F ; 2
const DAILYFLAGS2_GOLDENROD_DEPT_STORE_TM27_RETURN_F ; 3
const DAILYFLAGS2_DAISYS_GROOMING_F ; 4
const DAILYFLAGS2_INDIGO_PLATEAU_RIVAL_FIGHT_F ; 5
const DAILYFLAGS2_MOVE_TUTOR_F ; 6
const DAILYFLAGS2_BUENAS_PASSWORD_F ; 7
; wSwarmFlags::
const_def
const SWARMFLAGS_BUENAS_PASSWORD_F ; 0
const SWARMFLAGS_GOLDENROD_DEPT_STORE_SALE_F ; 1
const SWARMFLAGS_DUNSPARCE_SWARM_F ; 2
const SWARMFLAGS_YANMA_SWARM_F ; 3
const SWARMFLAGS_MOBILE_4_F ; 4
; wLuckyNumberShowFlag::
DEF LUCKYNUMBERSHOW_GAME_OVER_F EQU 0
; wDayCareMan::
DEF DAYCAREMAN_HAS_MON_F EQU 0
DEF DAYCAREMAN_MONS_COMPATIBLE_F EQU 5
DEF DAYCAREMAN_HAS_EGG_F EQU 6
DEF DAYCAREMAN_ACTIVE_F EQU 7
; wDayCareLady::
DEF DAYCARELADY_HAS_MON_F EQU 0
DEF DAYCARELADY_ACTIVE_F EQU 7
; wUnlockedUnowns::
const_def
const UNLOCKED_UNOWNS_A_TO_K_F
const UNLOCKED_UNOWNS_L_TO_R_F
const UNLOCKED_UNOWNS_S_TO_W_F
const UNLOCKED_UNOWNS_X_TO_Z_F
DEF NUM_UNLOCKED_UNOWN_SETS EQU const_value