mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-10-16 04:04:19 +13:00
Reorganize constants/
To do: add comments associating constants with data and code
This commit is contained in:
parent
91dc3c9f9c
commit
c9c59dc343
|
@ -1,32 +1,40 @@
|
|||
INCLUDE "macros.asm"
|
||||
INCLUDE "charmap.asm"
|
||||
|
||||
INCLUDE "macros.asm"
|
||||
|
||||
INCLUDE "hram.asm"
|
||||
INCLUDE "vram.asm"
|
||||
|
||||
INCLUDE "constants/hardware_constants.asm"
|
||||
INCLUDE "constants/oam_constants.asm"
|
||||
INCLUDE "constants/misc_constants.asm"
|
||||
|
||||
INCLUDE "constants/gfx_constants.asm"
|
||||
INCLUDE "constants/input_constants.asm"
|
||||
INCLUDE "constants/serial_constants.asm"
|
||||
INCLUDE "constants/script_constants.asm"
|
||||
INCLUDE "constants/pokemon_constants.asm"
|
||||
INCLUDE "constants/pokedex_constants.asm"
|
||||
INCLUDE "constants/pokemon_data_constants.asm"
|
||||
INCLUDE "constants/trainer_constants.asm"
|
||||
INCLUDE "constants/item_constants.asm"
|
||||
INCLUDE "constants/type_constants.asm"
|
||||
INCLUDE "constants/move_constants.asm"
|
||||
INCLUDE "constants/move_animation_constants.asm"
|
||||
INCLUDE "constants/move_effect_constants.asm"
|
||||
INCLUDE "constants/status_constants.asm"
|
||||
INCLUDE "constants/battle_constants.asm"
|
||||
INCLUDE "constants/icon_constants.asm"
|
||||
INCLUDE "constants/sprite_constants.asm"
|
||||
INCLUDE "constants/sprite_data_constants.asm"
|
||||
INCLUDE "constants/palette_constants.asm"
|
||||
INCLUDE "constants/evolution_constants.asm"
|
||||
INCLUDE "constants/list_constants.asm"
|
||||
INCLUDE "constants/map_constants.asm"
|
||||
INCLUDE "constants/connection_constants.asm"
|
||||
INCLUDE "constants/map_data_constants.asm"
|
||||
INCLUDE "constants/hide_show_constants.asm"
|
||||
INCLUDE "constants/credits_constants.asm"
|
||||
INCLUDE "constants/audio_constants.asm"
|
||||
INCLUDE "constants/music_constants.asm"
|
||||
INCLUDE "constants/tilesets.asm"
|
||||
INCLUDE "constants/starter_mons.asm"
|
||||
INCLUDE "constants/event_constants.asm"
|
||||
INCLUDE "constants/text_constants.asm"
|
||||
INCLUDE "constants/menu_constants.asm"
|
||||
|
|
46
constants/audio_constants.asm
Normal file
46
constants/audio_constants.asm
Normal file
|
@ -0,0 +1,46 @@
|
|||
; HW sound channel register base addresses
|
||||
HW_CH1_BASE EQU (rNR10 % $100)
|
||||
HW_CH2_BASE EQU ((rNR21 % $100) - 1)
|
||||
HW_CH3_BASE EQU (rNR30 % $100)
|
||||
HW_CH4_BASE EQU ((rNR41 % $100) - 1)
|
||||
|
||||
; HW sound channel enable bit masks
|
||||
HW_CH1_ENABLE_MASK EQU %00010001
|
||||
HW_CH2_ENABLE_MASK EQU %00100010
|
||||
HW_CH3_ENABLE_MASK EQU %01000100
|
||||
HW_CH4_ENABLE_MASK EQU %10001000
|
||||
|
||||
; HW sound channel disable bit masks
|
||||
HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff)
|
||||
HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff)
|
||||
HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff)
|
||||
HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff)
|
||||
|
||||
REG_DUTY_SOUND_LEN EQU 1
|
||||
REG_VOLUME_ENVELOPE EQU 2
|
||||
REG_FREQUENCY_LO EQU 3
|
||||
|
||||
MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA"
|
||||
MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE"
|
||||
MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR"
|
||||
|
||||
NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01"
|
||||
NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1"
|
||||
|
||||
CRY_SFX_START EQUS "SFX_CRY_00"
|
||||
CRY_SFX_END EQUS "SFX_CRY_25 + 3"
|
||||
|
||||
BATTLE_SFX_START EQUS "SFX_PECK"
|
||||
BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1"
|
||||
|
||||
; wChannelFlags1 constants
|
||||
BIT_PERFECT_PITCH EQU 0 ; controlled by toggle_perfect_pitch command
|
||||
BIT_SOUND_CALL EQU 1 ; if in sound call
|
||||
BIT_NOISE_OR_SFX EQU 2 ; if channel is the music noise channel or an SFX channel
|
||||
BIT_VIBRATO_DIRECTION EQU 3 ; if the pitch is above or below normal (cycles)
|
||||
BIT_PITCH_SLIDE_ON EQU 4 ; if pitch slide is active
|
||||
BIT_PITCH_SLIDE_DECREASING EQU 5 ; if the pitch slide frequency is decreasing (instead of increasing)
|
||||
BIT_ROTATE_DUTY_CYCLE EQU 6 ; if rotating duty cycle
|
||||
|
||||
; wChannelFlags2 constant (only has one flag)
|
||||
BIT_EXECUTE_MUSIC EQU 0 ; if in execute music
|
19
constants/status_constants.asm → constants/battle_constants.asm
Executable file → Normal file
19
constants/status_constants.asm → constants/battle_constants.asm
Executable file → Normal file
|
@ -1,3 +1,22 @@
|
|||
MAX_LEVEL EQU 100
|
||||
|
||||
NUM_MOVES EQU 4
|
||||
NUM_STATS EQU 5
|
||||
NUM_STAT_MODS EQU 8
|
||||
NUM_DVS EQU 2
|
||||
|
||||
; D733 flags
|
||||
BIT_TEST_BATTLE EQU 0
|
||||
|
||||
; battle type constants
|
||||
BATTLE_TYPE_NORMAL EQU 0
|
||||
BATTLE_TYPE_OLD_MAN EQU 1
|
||||
BATTLE_TYPE_SAFARI EQU 2
|
||||
|
||||
; fixed damage constants
|
||||
SONICBOOM_DAMAGE EQU 20
|
||||
DRAGON_RAGE_DAMAGE EQU 40
|
||||
|
||||
; non-volatile statuses
|
||||
SLP EQU %111 ; sleep counter
|
||||
PSN EQU 3
|
|
@ -1,5 +1,4 @@
|
|||
const_value = 0
|
||||
|
||||
const_def
|
||||
const CRED_VERSION ; $00
|
||||
const CRED_TAJIRI ; $01
|
||||
const CRED_TA_OOTA ; $02
|
||||
|
@ -64,4 +63,3 @@ const_value = 0
|
|||
const CRED_FUKUI ; $3D
|
||||
const CRED_CLUB ; $3E
|
||||
const CRED_PAAD ; $3F
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,9 +0,0 @@
|
|||
; See data/pokemon/evos_moves.asm
|
||||
|
||||
; Evolution types
|
||||
EV_LEVEL EQU 1
|
||||
EV_ITEM EQU 2
|
||||
EV_TRADE EQU 3
|
||||
|
||||
MAX_EVOLUTIONS EQU 3
|
||||
EVOLUTION_SIZE EQU 4
|
17
constants/gfx_constants.asm
Normal file
17
constants/gfx_constants.asm
Normal file
|
@ -0,0 +1,17 @@
|
|||
SCREEN_WIDTH EQU 20
|
||||
SCREEN_HEIGHT EQU 18
|
||||
|
||||
SCREEN_WIDTH_PIXELS EQU SCREEN_WIDTH * 8
|
||||
SCREEN_HEIGHT_PIXELS EQU SCREEN_HEIGHT * 8
|
||||
|
||||
BYTES_PER_TILE EQU 16
|
||||
|
||||
BG_MAP_WIDTH EQU 32
|
||||
BG_MAP_HEIGHT EQU 32
|
||||
|
||||
SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile)
|
||||
|
||||
; HP bar
|
||||
HP_BAR_GREEN EQU 0
|
||||
HP_BAR_YELLOW EQU 1
|
||||
HP_BAR_RED EQU 2
|
|
@ -4,8 +4,7 @@
|
|||
; (they are either items or sprites that deactivate after battle
|
||||
; and are detected in wMissableObjectList)
|
||||
|
||||
const_value = 0
|
||||
|
||||
const_def
|
||||
const HS_PALLET_TOWN_OAK ; 00
|
||||
const HS_LYING_OLD_MAN ; 01
|
||||
const HS_OLD_MAN ; 02
|
||||
|
|
12
constants/icon_constants.asm
Normal file
12
constants/icon_constants.asm
Normal file
|
@ -0,0 +1,12 @@
|
|||
; party menu icons
|
||||
const_def
|
||||
const ICON_MON ; $0
|
||||
const ICON_BALL ; $1
|
||||
const ICON_HELIX ; $2
|
||||
const ICON_FAIRY ; $3
|
||||
const ICON_BIRD ; $4
|
||||
const ICON_WATER ; $5
|
||||
const ICON_BUG ; $6
|
||||
const ICON_GRASS ; $7
|
||||
const ICON_SNAKE ; $8
|
||||
const ICON_QUADRUPED ; $9
|
18
constants/input_constants.asm
Normal file
18
constants/input_constants.asm
Normal file
|
@ -0,0 +1,18 @@
|
|||
A_BUTTON EQU %00000001
|
||||
B_BUTTON EQU %00000010
|
||||
SELECT EQU %00000100
|
||||
START EQU %00001000
|
||||
D_RIGHT EQU %00010000
|
||||
D_LEFT EQU %00100000
|
||||
D_UP EQU %01000000
|
||||
D_DOWN EQU %10000000
|
||||
|
||||
const_def
|
||||
const BIT_A_BUTTON
|
||||
const BIT_B_BUTTON
|
||||
const BIT_SELECT
|
||||
const BIT_START
|
||||
const BIT_D_RIGHT
|
||||
const BIT_D_LEFT
|
||||
const BIT_D_UP
|
||||
const BIT_D_DOWN
|
|
@ -1,5 +1,5 @@
|
|||
const_value = 1
|
||||
|
||||
const_def
|
||||
const NO_ITEM ; $00
|
||||
const MASTER_BALL ; $01
|
||||
const ULTRA_BALL ; $02
|
||||
const GREAT_BALL ; $03
|
||||
|
|
|
@ -1,20 +1,23 @@
|
|||
; list menu ID's
|
||||
PCPOKEMONLISTMENU EQU $00 ; PC pokemon withdraw/deposit lists
|
||||
MOVESLISTMENU EQU $01 ; XXX where is this used?
|
||||
PRICEDITEMLISTMENU EQU $02 ; Pokemart buy menu / Pokemart buy/sell choose quantity menu
|
||||
ITEMLISTMENU EQU $03 ; Start menu Item menu / Pokemart sell menu
|
||||
SPECIALLISTMENU EQU $04 ; list of special "items" e.g. floor list in elevators / list of badges
|
||||
; list menu IDs
|
||||
const_def
|
||||
const PCPOKEMONLISTMENU ; $00 ; PC pokemon withdraw/deposit lists
|
||||
const MOVESLISTMENU ; $01 ; XXX where is this used?
|
||||
const PRICEDITEMLISTMENU ; $02 ; Pokemart buy menu / Pokemart buy/sell choose quantity menu
|
||||
const ITEMLISTMENU ; $03 ; Start menu Item menu / Pokemart sell menu
|
||||
const SPECIALLISTMENU ; $04 ; list of special "items" e.g. floor list in elevators / list of badges
|
||||
|
||||
MONSTER_NAME EQU 1
|
||||
MOVE_NAME EQU 2
|
||||
; ???_NAME EQU 3
|
||||
ITEM_NAME EQU 4
|
||||
PLAYEROT_NAME EQU 5
|
||||
ENEMYOT_NAME EQU 6
|
||||
TRAINER_NAME EQU 7
|
||||
const_def 1
|
||||
const MONSTER_NAME ; 1
|
||||
const MOVE_NAME ; 2
|
||||
const UNUSED_NAME ; 3
|
||||
const ITEM_NAME ; 4
|
||||
const PLAYEROT_NAME ; 5
|
||||
const ENEMYOT_NAME ; 6
|
||||
const TRAINER_NAME ; 7
|
||||
|
||||
INIT_ENEMYOT_LIST EQU 1
|
||||
INIT_BAG_ITEM_LIST EQU 2
|
||||
INIT_OTHER_ITEM_LIST EQU 3
|
||||
INIT_PLAYEROT_LIST EQU 4
|
||||
INIT_MON_LIST EQU 5
|
||||
const_def 1
|
||||
const INIT_ENEMYOT_LIST ; 1
|
||||
const INIT_BAG_ITEM_LIST ; 2
|
||||
const INIT_OTHER_ITEM_LIST ; 3
|
||||
const INIT_PLAYEROT_LIST ; 4
|
||||
const INIT_MON_LIST ; 5
|
||||
|
|
70
constants/menu_constants.asm
Normal file
70
constants/menu_constants.asm
Normal file
|
@ -0,0 +1,70 @@
|
|||
BAG_ITEM_CAPACITY EQU 20
|
||||
PC_ITEM_CAPACITY EQU 50
|
||||
|
||||
; text box IDs
|
||||
MESSAGE_BOX EQU $01
|
||||
FIELD_MOVE_MON_MENU EQU $04
|
||||
JP_MOCHIMONO_MENU_TEMPLATE EQU $05
|
||||
USE_TOSS_MENU_TEMPLATE EQU $06
|
||||
JP_SAVE_MESSAGE_MENU_TEMPLATE EQU $08
|
||||
JP_SPEED_OPTIONS_MENU_TEMPLATE EQU $09
|
||||
BATTLE_MENU_TEMPLATE EQU $0b
|
||||
SWITCH_STATS_CANCEL_MENU_TEMPLATE EQU $0c
|
||||
LIST_MENU_BOX EQU $0d
|
||||
BUY_SELL_QUIT_MENU_TEMPLATE EQU $0e
|
||||
MONEY_BOX_TEMPLATE EQU $0f
|
||||
MON_SPRITE_POPUP EQU $11
|
||||
JP_AH_MENU_TEMPLATE EQU $12
|
||||
MONEY_BOX EQU $13
|
||||
TWO_OPTION_MENU EQU $14
|
||||
BUY_SELL_QUIT_MENU EQU $15
|
||||
JP_POKEDEX_MENU_TEMPLATE EQU $1a
|
||||
SAFARI_BATTLE_MENU_TEMPLATE EQU $1b
|
||||
|
||||
; two option menu constants
|
||||
YES_NO_MENU EQU 0
|
||||
NORTH_WEST_MENU EQU 1
|
||||
SOUTH_EAST_MENU EQU 2
|
||||
WIDE_YES_NO_MENU EQU 3
|
||||
NORTH_EAST_MENU EQU 4
|
||||
TRADE_CANCEL_MENU EQU 5
|
||||
HEAL_CANCEL_MENU EQU 6
|
||||
NO_YES_MENU EQU 7
|
||||
|
||||
; menu exit method constants for list menus and the buy/sell/quit menu
|
||||
CHOSE_MENU_ITEM EQU 1 ; pressed A
|
||||
CANCELLED_MENU EQU 2 ; pressed B
|
||||
|
||||
; menu exit method constants for two-option menus
|
||||
CHOSE_FIRST_ITEM EQU 1
|
||||
CHOSE_SECOND_ITEM EQU 2
|
||||
|
||||
; move mon constants
|
||||
BOX_TO_PARTY EQU 0
|
||||
PARTY_TO_BOX EQU 1
|
||||
DAYCARE_TO_PARTY EQU 2
|
||||
PARTY_TO_DAYCARE EQU 3
|
||||
|
||||
; party menu types
|
||||
NORMAL_PARTY_MENU EQU 0
|
||||
USE_ITEM_PARTY_MENU EQU 1
|
||||
BATTLE_PARTY_MENU EQU 2
|
||||
TMHM_PARTY_MENU EQU 3
|
||||
SWAP_MONS_PARTY_MENU EQU 4
|
||||
EVO_STONE_PARTY_MENU EQU 5
|
||||
|
||||
; party menu message IDs
|
||||
ANTIDOTE_MSG EQU $F0
|
||||
BURN_HEAL_MSG EQU $F1
|
||||
ICE_HEAL_MSG EQU $F2
|
||||
AWAKENING_MSG EQU $F3
|
||||
PARALYZ_HEAL_MSG EQU $F4
|
||||
POTION_MSG EQU $F5
|
||||
FULL_HEAL_MSG EQU $F6
|
||||
REVIVE_MSG EQU $F7
|
||||
RARE_CANDY_MSG EQU $F8
|
||||
|
||||
; naming screen types
|
||||
NAME_PLAYER_SCREEN EQU 0
|
||||
NAME_RIVAL_SCREEN EQU 1
|
||||
NAME_MON_SCREEN EQU 2
|
|
@ -1,208 +1,8 @@
|
|||
MAX_LEVEL EQU 100
|
||||
|
||||
NUM_MOVES EQU 4
|
||||
NUM_STATS EQU 5
|
||||
NUM_STAT_MODS EQU 8
|
||||
NUM_DVS EQU 2
|
||||
|
||||
PARTY_LENGTH EQU 6
|
||||
|
||||
MONS_PER_BOX EQU 20
|
||||
NUM_BOXES EQU 12
|
||||
|
||||
BAG_ITEM_CAPACITY EQU 20
|
||||
PC_ITEM_CAPACITY EQU 50
|
||||
|
||||
HOF_MON EQU $10
|
||||
HOF_TEAM EQU PARTY_LENGTH * HOF_MON
|
||||
HOF_TEAM_CAPACITY EQU 50
|
||||
|
||||
NAME_LENGTH EQU 11
|
||||
ITEM_NAME_LENGTH EQU 13
|
||||
|
||||
A_BUTTON EQU %00000001
|
||||
B_BUTTON EQU %00000010
|
||||
SELECT EQU %00000100
|
||||
START EQU %00001000
|
||||
D_RIGHT EQU %00010000
|
||||
D_LEFT EQU %00100000
|
||||
D_UP EQU %01000000
|
||||
D_DOWN EQU %10000000
|
||||
|
||||
const_value set 0
|
||||
const BIT_A_BUTTON
|
||||
const BIT_B_BUTTON
|
||||
const BIT_SELECT
|
||||
const BIT_START
|
||||
const BIT_D_RIGHT
|
||||
const BIT_D_LEFT
|
||||
const BIT_D_UP
|
||||
const BIT_D_DOWN
|
||||
|
||||
SCREEN_WIDTH EQU 20
|
||||
SCREEN_HEIGHT EQU 18
|
||||
|
||||
SCREEN_WIDTH_PIXELS EQU SCREEN_WIDTH * 8
|
||||
SCREEN_HEIGHT_PIXELS EQU SCREEN_HEIGHT * 8
|
||||
|
||||
BYTES_PER_TILE EQU 16
|
||||
|
||||
BG_MAP_WIDTH EQU 32
|
||||
BG_MAP_HEIGHT EQU 32
|
||||
|
||||
SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile)
|
||||
|
||||
NPC_MOVEMENT_DOWN EQU $00
|
||||
NPC_MOVEMENT_UP EQU $40
|
||||
NPC_MOVEMENT_LEFT EQU $80
|
||||
NPC_MOVEMENT_RIGHT EQU $C0
|
||||
|
||||
; text box IDs
|
||||
MESSAGE_BOX EQU $01
|
||||
FIELD_MOVE_MON_MENU EQU $04
|
||||
JP_MOCHIMONO_MENU_TEMPLATE EQU $05
|
||||
USE_TOSS_MENU_TEMPLATE EQU $06
|
||||
JP_SAVE_MESSAGE_MENU_TEMPLATE EQU $08
|
||||
JP_SPEED_OPTIONS_MENU_TEMPLATE EQU $09
|
||||
BATTLE_MENU_TEMPLATE EQU $0b
|
||||
SWITCH_STATS_CANCEL_MENU_TEMPLATE EQU $0c
|
||||
LIST_MENU_BOX EQU $0d
|
||||
BUY_SELL_QUIT_MENU_TEMPLATE EQU $0e
|
||||
MONEY_BOX_TEMPLATE EQU $0f
|
||||
MON_SPRITE_POPUP EQU $11
|
||||
JP_AH_MENU_TEMPLATE EQU $12
|
||||
MONEY_BOX EQU $13
|
||||
TWO_OPTION_MENU EQU $14
|
||||
BUY_SELL_QUIT_MENU EQU $15
|
||||
JP_POKEDEX_MENU_TEMPLATE EQU $1a
|
||||
SAFARI_BATTLE_MENU_TEMPLATE EQU $1b
|
||||
|
||||
; two option menu constants
|
||||
YES_NO_MENU EQU 0
|
||||
NORTH_WEST_MENU EQU 1
|
||||
SOUTH_EAST_MENU EQU 2
|
||||
WIDE_YES_NO_MENU EQU 3
|
||||
NORTH_EAST_MENU EQU 4
|
||||
TRADE_CANCEL_MENU EQU 5
|
||||
HEAL_CANCEL_MENU EQU 6
|
||||
NO_YES_MENU EQU 7
|
||||
|
||||
; menu exit method constants for list menus and the buy/sell/quit menu
|
||||
CHOSE_MENU_ITEM EQU 1 ; pressed A
|
||||
CANCELLED_MENU EQU 2 ; pressed B
|
||||
|
||||
; menu exit method constants for two-option menus
|
||||
CHOSE_FIRST_ITEM EQU 1
|
||||
CHOSE_SECOND_ITEM EQU 2
|
||||
|
||||
; move mon constants
|
||||
BOX_TO_PARTY EQU 0
|
||||
PARTY_TO_BOX EQU 1
|
||||
DAYCARE_TO_PARTY EQU 2
|
||||
PARTY_TO_DAYCARE EQU 3
|
||||
|
||||
; emotion bubbles
|
||||
EXCLAMATION_BUBBLE EQU 0
|
||||
QUESTION_BUBBLE EQU 1
|
||||
SMILE_BUBBLE EQU 2
|
||||
|
||||
; slot symbols
|
||||
SLOTS7 EQU $0200
|
||||
SLOTSBAR EQU $0604
|
||||
SLOTSCHERRY EQU $0A08
|
||||
SLOTSFISH EQU $0E0C
|
||||
SLOTSBIRD EQU $1210
|
||||
SLOTSMOUSE EQU $1614
|
||||
|
||||
; party menu types
|
||||
NORMAL_PARTY_MENU EQU 0
|
||||
USE_ITEM_PARTY_MENU EQU 1
|
||||
BATTLE_PARTY_MENU EQU 2
|
||||
TMHM_PARTY_MENU EQU 3
|
||||
SWAP_MONS_PARTY_MENU EQU 4
|
||||
EVO_STONE_PARTY_MENU EQU 5
|
||||
|
||||
; party menu message IDs
|
||||
ANTIDOTE_MSG EQU $F0
|
||||
BURN_HEAL_MSG EQU $F1
|
||||
ICE_HEAL_MSG EQU $F2
|
||||
AWAKENING_MSG EQU $F3
|
||||
PARALYZ_HEAL_MSG EQU $F4
|
||||
POTION_MSG EQU $F5
|
||||
FULL_HEAL_MSG EQU $F6
|
||||
REVIVE_MSG EQU $F7
|
||||
RARE_CANDY_MSG EQU $F8
|
||||
|
||||
; naming screen types
|
||||
NAME_PLAYER_SCREEN EQU 0
|
||||
NAME_RIVAL_SCREEN EQU 1
|
||||
NAME_MON_SCREEN EQU 2
|
||||
|
||||
; mon data locations
|
||||
; Note that some values are not supported by all functions that use these values.
|
||||
PLAYER_PARTY_DATA EQU 0
|
||||
ENEMY_PARTY_DATA EQU 1
|
||||
BOX_DATA EQU 2
|
||||
DAYCARE_DATA EQU 3
|
||||
BATTLE_MON_DATA EQU 4
|
||||
|
||||
; player direction constants
|
||||
|
||||
PLAYER_DIR_BIT_RIGHT EQU 0
|
||||
PLAYER_DIR_BIT_LEFT EQU 1
|
||||
PLAYER_DIR_BIT_DOWN EQU 2
|
||||
PLAYER_DIR_BIT_UP EQU 3
|
||||
|
||||
PLAYER_DIR_RIGHT EQU (1 << PLAYER_DIR_BIT_RIGHT)
|
||||
PLAYER_DIR_LEFT EQU (1 << PLAYER_DIR_BIT_LEFT)
|
||||
PLAYER_DIR_DOWN EQU (1 << PLAYER_DIR_BIT_DOWN)
|
||||
PLAYER_DIR_UP EQU (1 << PLAYER_DIR_BIT_UP)
|
||||
; Boolean checks
|
||||
FALSE EQU 0
|
||||
TRUE EQU 1
|
||||
|
||||
; flag operations
|
||||
|
||||
FLAG_RESET EQU 0
|
||||
FLAG_SET EQU 1
|
||||
FLAG_TEST EQU 2
|
||||
|
||||
; HP bar
|
||||
HP_BAR_GREEN EQU 0
|
||||
HP_BAR_YELLOW EQU 1
|
||||
HP_BAR_RED EQU 2
|
||||
|
||||
; D733 flags
|
||||
BIT_TEST_BATTLE EQU 0
|
||||
|
||||
; battle type constants
|
||||
BATTLE_TYPE_NORMAL EQU 0
|
||||
BATTLE_TYPE_OLD_MAN EQU 1
|
||||
BATTLE_TYPE_SAFARI EQU 2
|
||||
|
||||
; serial
|
||||
|
||||
ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01
|
||||
ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02
|
||||
|
||||
USING_EXTERNAL_CLOCK EQU $01
|
||||
USING_INTERNAL_CLOCK EQU $02
|
||||
CONNECTION_NOT_ESTABLISHED EQU $ff
|
||||
|
||||
; signals the start of an array of bytes transferred over the link cable
|
||||
SERIAL_PREAMBLE_BYTE EQU $FD
|
||||
|
||||
; this byte is used when there is no data to send
|
||||
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
|
||||
SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF
|
||||
|
||||
LINK_STATE_NONE EQU $00 ; not using link
|
||||
LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre)
|
||||
LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation
|
||||
LINK_STATE_START_BATTLE EQU $03 ; pre-battle initialisation
|
||||
LINK_STATE_BATTLING EQU $04 ; in a link battle
|
||||
LINK_STATE_RESET EQU $05 ; reset game (unused)
|
||||
LINK_STATE_TRADING EQU $32 ; in a link trade
|
||||
|
||||
LINKBATTLE_RUN EQU $F
|
||||
LINKBATTLE_STRUGGLE EQU $E
|
||||
LINKBATTLE_NO_ACTION EQU $D
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
; subanimations
|
||||
; special effects that are part of move animations
|
||||
|
||||
const_value = $D8
|
||||
|
||||
; special effects, prefaced with "SE" for "Special Effect"
|
||||
const_def $D8
|
||||
const SE_WAVY_SCREEN ; $D8 used in Psywave/Night Shade/Psychic etc.
|
||||
const SE_SUBSTITUTE_MON ; $D9 used in Substitute (turns the pokemon into a mini sprite)
|
||||
const SE_SHAKE_BACK_AND_FORTH ; $DA used in Double Team
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const_value = 1
|
||||
|
||||
const_def
|
||||
const NO_MOVE ; 00
|
||||
const POUND ; 01
|
||||
const KARATE_CHOP ; 02
|
||||
const DOUBLESLAP ; 03
|
||||
|
@ -167,7 +167,7 @@ const_value = 1
|
|||
|
||||
NUM_ATTACKS EQU const_value + -1
|
||||
|
||||
const STRUGGLE
|
||||
const STRUGGLE ; a5
|
||||
|
||||
; Moves do double duty as animation identifiers.
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
; {stat}_(UP|DOWN)(1|2) means that the move raises the user's (or lowers the target's) corresponding stat modifier by 1 (or 2) stages
|
||||
; {status condition}_side_effect means that the move has a side chance of causing that condition
|
||||
; {status condition}_effect means that the move causes the status condition every time it hits the target
|
||||
const_value = 0
|
||||
|
||||
const_def
|
||||
const NO_ADDITIONAL_EFFECT ; $00
|
||||
const UNUSED_EFFECT_01 ; $01
|
||||
const POISON_SIDE_EFFECT1 ; $02
|
||||
|
@ -91,7 +91,3 @@ const_value = 0
|
|||
const LEECH_SEED_EFFECT ; $54
|
||||
const SPLASH_EFFECT ; $55
|
||||
const DISABLE_EFFECT ; $56
|
||||
|
||||
; fixed damage constants
|
||||
SONICBOOM_DAMAGE EQU 20
|
||||
DRAGON_RAGE_DAMAGE EQU 40
|
||||
|
|
|
@ -1,50 +1,3 @@
|
|||
; HW sound channel register base addresses
|
||||
HW_CH1_BASE EQU (rNR10 % $100)
|
||||
HW_CH2_BASE EQU ((rNR21 % $100) - 1)
|
||||
HW_CH3_BASE EQU (rNR30 % $100)
|
||||
HW_CH4_BASE EQU ((rNR41 % $100) - 1)
|
||||
|
||||
; HW sound channel enable bit masks
|
||||
HW_CH1_ENABLE_MASK EQU %00010001
|
||||
HW_CH2_ENABLE_MASK EQU %00100010
|
||||
HW_CH3_ENABLE_MASK EQU %01000100
|
||||
HW_CH4_ENABLE_MASK EQU %10001000
|
||||
|
||||
; HW sound channel disable bit masks
|
||||
HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff)
|
||||
HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff)
|
||||
HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff)
|
||||
HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff)
|
||||
|
||||
REG_DUTY_SOUND_LEN EQU 1
|
||||
REG_VOLUME_ENVELOPE EQU 2
|
||||
REG_FREQUENCY_LO EQU 3
|
||||
|
||||
MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA"
|
||||
MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE"
|
||||
MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR"
|
||||
|
||||
NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01"
|
||||
NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1"
|
||||
|
||||
CRY_SFX_START EQUS "SFX_CRY_00"
|
||||
CRY_SFX_END EQUS "SFX_CRY_25 + 3"
|
||||
|
||||
BATTLE_SFX_START EQUS "SFX_PECK"
|
||||
BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1"
|
||||
|
||||
; wChannelFlags1 constants
|
||||
BIT_PERFECT_PITCH EQU 0 ; controlled by toggle_perfect_pitch command
|
||||
BIT_SOUND_CALL EQU 1 ; if in sound call
|
||||
BIT_NOISE_OR_SFX EQU 2 ; if channel is the music noise channel or an SFX channel
|
||||
BIT_VIBRATO_DIRECTION EQU 3 ; if the pitch is above or below normal (cycles)
|
||||
BIT_PITCH_SLIDE_ON EQU 4 ; if pitch slide is active
|
||||
BIT_PITCH_SLIDE_DECREASING EQU 5 ; if the pitch slide frequency is decreasing (instead of increasing)
|
||||
BIT_ROTATE_DUTY_CYCLE EQU 6 ; if rotating duty cycle
|
||||
|
||||
; wChannelFlags2 constant (only has one flag)
|
||||
BIT_EXECUTE_MUSIC EQU 0 ; if in execute music
|
||||
|
||||
; Song ids are calculated by address to save space.
|
||||
|
||||
music_const: MACRO
|
||||
|
|
|
@ -5,25 +5,27 @@
|
|||
const DARK_GRAY
|
||||
const BLACK
|
||||
|
||||
SET_PAL_BATTLE_BLACK EQU $00
|
||||
SET_PAL_BATTLE EQU $01
|
||||
SET_PAL_TOWN_MAP EQU $02
|
||||
SET_PAL_STATUS_SCREEN EQU $03
|
||||
SET_PAL_POKEDEX EQU $04
|
||||
SET_PAL_SLOTS EQU $05
|
||||
SET_PAL_TITLE_SCREEN EQU $06
|
||||
SET_PAL_NIDORINO_INTRO EQU $07
|
||||
SET_PAL_GENERIC EQU $08
|
||||
SET_PAL_OVERWORLD EQU $09
|
||||
SET_PAL_PARTY_MENU EQU $0A
|
||||
SET_PAL_POKEMON_WHOLE_SCREEN EQU $0B
|
||||
SET_PAL_GAME_FREAK_INTRO EQU $0C
|
||||
SET_PAL_TRAINER_CARD EQU $0D
|
||||
UPDATE_PARTY_MENU_BLK_PACKET EQU $FC
|
||||
|
||||
; super game boy palettes
|
||||
const_value = 0
|
||||
; pal/blk packets
|
||||
const_def
|
||||
const SET_PAL_BATTLE_BLACK ; $00
|
||||
const SET_PAL_BATTLE ; $01
|
||||
const SET_PAL_TOWN_MAP ; $02
|
||||
const SET_PAL_STATUS_SCREEN ; $03
|
||||
const SET_PAL_POKEDEX ; $04
|
||||
const SET_PAL_SLOTS ; $05
|
||||
const SET_PAL_TITLE_SCREEN ; $06
|
||||
const SET_PAL_NIDORINO_INTRO ; $07
|
||||
const SET_PAL_GENERIC ; $08
|
||||
const SET_PAL_OVERWORLD ; $09
|
||||
const SET_PAL_PARTY_MENU ; $0A
|
||||
const SET_PAL_POKEMON_WHOLE_SCREEN ; $0B
|
||||
const SET_PAL_GAME_FREAK_INTRO ; $0C
|
||||
const SET_PAL_TRAINER_CARD ; $0D
|
||||
const_value = -4
|
||||
const UPDATE_PARTY_MENU_BLK_PACKET ; $FC
|
||||
|
||||
; sgb palettes
|
||||
const_def
|
||||
const PAL_ROUTE ; $00
|
||||
const PAL_PALLET ; $01
|
||||
const PAL_VIRIDIAN ; $02
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
const_value = 1
|
||||
|
||||
const_def 1
|
||||
const DEX_BULBASAUR ; 1
|
||||
const DEX_IVYSAUR ; 2
|
||||
const DEX_VENUSAUR ; 3
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const_value = 1
|
||||
|
||||
const_def
|
||||
const NO_MON ; $00
|
||||
const RHYDON ; $01
|
||||
const KANGASKHAN ; $02
|
||||
const NIDORAN_M ; $03
|
||||
|
|
28
constants/pokemon_data_constants.asm
Executable file
28
constants/pokemon_data_constants.asm
Executable file
|
@ -0,0 +1,28 @@
|
|||
PARTY_LENGTH EQU 6
|
||||
|
||||
MONS_PER_BOX EQU 20
|
||||
NUM_BOXES EQU 12
|
||||
|
||||
HOF_MON EQU $10
|
||||
HOF_TEAM EQU PARTY_LENGTH * HOF_MON
|
||||
HOF_TEAM_CAPACITY EQU 50
|
||||
|
||||
|
||||
; mon data locations
|
||||
; Note that some values are not supported by all functions that use these values.
|
||||
PLAYER_PARTY_DATA EQU 0
|
||||
ENEMY_PARTY_DATA EQU 1
|
||||
BOX_DATA EQU 2
|
||||
DAYCARE_DATA EQU 3
|
||||
BATTLE_MON_DATA EQU 4
|
||||
|
||||
|
||||
; See data/pokemon/evos_moves.asm
|
||||
|
||||
; Evolution types
|
||||
EV_LEVEL EQU 1
|
||||
EV_ITEM EQU 2
|
||||
EV_TRADE EQU 3
|
||||
|
||||
MAX_EVOLUTIONS EQU 3
|
||||
EVOLUTION_SIZE EQU 4
|
12
constants/script_constants.asm
Normal file
12
constants/script_constants.asm
Normal file
|
@ -0,0 +1,12 @@
|
|||
; emotion bubbles
|
||||
EXCLAMATION_BUBBLE EQU 0
|
||||
QUESTION_BUBBLE EQU 1
|
||||
SMILE_BUBBLE EQU 2
|
||||
|
||||
; slot symbols
|
||||
SLOTS7 EQU $0200
|
||||
SLOTSBAR EQU $0604
|
||||
SLOTSCHERRY EQU $0A08
|
||||
SLOTSFISH EQU $0E0C
|
||||
SLOTSBIRD EQU $1210
|
||||
SLOTSMOUSE EQU $1614
|
27
constants/serial_constants.asm
Normal file
27
constants/serial_constants.asm
Normal file
|
@ -0,0 +1,27 @@
|
|||
ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01
|
||||
ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02
|
||||
|
||||
USING_EXTERNAL_CLOCK EQU $01
|
||||
USING_INTERNAL_CLOCK EQU $02
|
||||
CONNECTION_NOT_ESTABLISHED EQU $ff
|
||||
|
||||
; signals the start of an array of bytes transferred over the link cable
|
||||
SERIAL_PREAMBLE_BYTE EQU $FD
|
||||
|
||||
; this byte is used when there is no data to send
|
||||
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
|
||||
SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF
|
||||
|
||||
LINK_STATE_NONE EQU $00 ; not using link
|
||||
LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre)
|
||||
LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation
|
||||
LINK_STATE_START_BATTLE EQU $03 ; pre-battle initialisation
|
||||
LINK_STATE_BATTLING EQU $04 ; in a link battle
|
||||
LINK_STATE_RESET EQU $05 ; reset game (unused)
|
||||
LINK_STATE_TRADING EQU $32 ; in a link trade
|
||||
|
||||
LINKBATTLE_RUN EQU $F
|
||||
LINKBATTLE_STRUGGLE EQU $E
|
||||
LINKBATTLE_NO_ACTION EQU $D
|
|
@ -1,20 +1,6 @@
|
|||
; pokemon's overworld sprites
|
||||
const_value = 0
|
||||
|
||||
const ICON_MON ; $0
|
||||
const ICON_BALL ; $1
|
||||
const ICON_HELIX ; $2
|
||||
const ICON_FAIRY ; $3
|
||||
const ICON_BIRD ; $4
|
||||
const ICON_WATER ; $5
|
||||
const ICON_BUG ; $6
|
||||
const ICON_GRASS ; $7
|
||||
const ICON_SNAKE ; $8
|
||||
const ICON_QUADRUPED ; $9
|
||||
|
||||
; overworld sprites
|
||||
const_value = 1
|
||||
|
||||
const_def
|
||||
const SPRITE_NONE ; $00
|
||||
const SPRITE_RED ; $01
|
||||
const SPRITE_BLUE ; $02
|
||||
const SPRITE_OAK ; $03
|
||||
|
@ -87,15 +73,3 @@ const_value = 1
|
|||
const SPRITE_LYING_OLD_MAN_UNUSED_1 ; $46
|
||||
const SPRITE_LYING_OLD_MAN_UNUSED_2 ; $47
|
||||
const SPRITE_LYING_OLD_MAN ; $48
|
||||
|
||||
; different kinds of people events
|
||||
ITEM EQU $80
|
||||
TRAINER EQU $40
|
||||
|
||||
BOULDER_MOVEMENT_BYTE_2 EQU $10
|
||||
|
||||
; sprite facing directions
|
||||
SPRITE_FACING_DOWN EQU $00
|
||||
SPRITE_FACING_UP EQU $04
|
||||
SPRITE_FACING_LEFT EQU $08
|
||||
SPRITE_FACING_RIGHT EQU $0C
|
||||
|
|
28
constants/sprite_data_constants.asm
Normal file
28
constants/sprite_data_constants.asm
Normal file
|
@ -0,0 +1,28 @@
|
|||
; different kinds of people events
|
||||
ITEM EQU $80
|
||||
TRAINER EQU $40
|
||||
|
||||
BOULDER_MOVEMENT_BYTE_2 EQU $10
|
||||
|
||||
; sprite facing directions
|
||||
SPRITE_FACING_DOWN EQU $00
|
||||
SPRITE_FACING_UP EQU $04
|
||||
SPRITE_FACING_LEFT EQU $08
|
||||
SPRITE_FACING_RIGHT EQU $0C
|
||||
|
||||
NPC_MOVEMENT_DOWN EQU $00
|
||||
NPC_MOVEMENT_UP EQU $40
|
||||
NPC_MOVEMENT_LEFT EQU $80
|
||||
NPC_MOVEMENT_RIGHT EQU $C0
|
||||
|
||||
; player direction constants
|
||||
|
||||
PLAYER_DIR_BIT_RIGHT EQU 0
|
||||
PLAYER_DIR_BIT_LEFT EQU 1
|
||||
PLAYER_DIR_BIT_DOWN EQU 2
|
||||
PLAYER_DIR_BIT_UP EQU 3
|
||||
|
||||
PLAYER_DIR_RIGHT EQU (1 << PLAYER_DIR_BIT_RIGHT)
|
||||
PLAYER_DIR_LEFT EQU (1 << PLAYER_DIR_BIT_LEFT)
|
||||
PLAYER_DIR_DOWN EQU (1 << PLAYER_DIR_BIT_DOWN)
|
||||
PLAYER_DIR_UP EQU (1 << PLAYER_DIR_BIT_UP)
|
|
@ -1,3 +1,6 @@
|
|||
NAME_LENGTH EQU 11
|
||||
ITEM_NAME_LENGTH EQU 13
|
||||
|
||||
; special text IDs
|
||||
TEXT_MON_FAINTED EQU $d0
|
||||
TEXT_BLACKED_OUT EQU $d1
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
const_value = 0
|
||||
|
||||
const_def
|
||||
const OVERWORLD ; 0
|
||||
const REDS_HOUSE_1 ; 1
|
||||
const MART ; 2
|
||||
|
|
|
@ -6,8 +6,8 @@ OPP_\1 EQU const_value + OPP_ID_OFFSET
|
|||
const_value = const_value + 1
|
||||
ENDM
|
||||
|
||||
const_value = 1
|
||||
|
||||
const_def
|
||||
trainer_const NOBODY ; $00
|
||||
trainer_const YOUNGSTER ; $01
|
||||
trainer_const BUG_CATCHER ; $02
|
||||
trainer_const LASS ; $03
|
||||
|
|
|
@ -1,16 +1,23 @@
|
|||
; Elemental types
|
||||
NORMAL EQU $00
|
||||
FIGHTING EQU $01
|
||||
FLYING EQU $02
|
||||
POISON EQU $03
|
||||
GROUND EQU $04
|
||||
ROCK EQU $05
|
||||
BUG EQU $07
|
||||
GHOST EQU $08
|
||||
FIRE EQU $14
|
||||
WATER EQU $15
|
||||
GRASS EQU $16
|
||||
ELECTRIC EQU $17
|
||||
PSYCHIC EQU $18
|
||||
ICE EQU $19
|
||||
DRAGON EQU $1A
|
||||
const_def
|
||||
|
||||
PHYSICAL EQU const_value
|
||||
const NORMAL ; $00
|
||||
const FIGHTING ; $01
|
||||
const FLYING ; $02
|
||||
const POISON ; $03
|
||||
const GROUND ; $04
|
||||
const ROCK ; $05
|
||||
const BIRD ; $06
|
||||
const BUG ; $07
|
||||
const GHOST ; $08
|
||||
|
||||
const_value = $14
|
||||
|
||||
SPECIAL EQU const_value
|
||||
const FIRE ; $14
|
||||
const WATER ; $15
|
||||
const GRASS ; $16
|
||||
const ELECTRIC ; $17
|
||||
const PSYCHIC ; $18
|
||||
const ICE ; $19
|
||||
const DRAGON ; $1A
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; See constants/evolution_constants.asm
|
||||
; See constants/pokemon_data_constants.asm
|
||||
; The max number of evolutions per monster is MAX_EVOLUTIONS
|
||||
|
||||
EvosMovesPointerTable:
|
||||
|
|
|
@ -4139,7 +4139,7 @@ GetDamageVarsForPlayerAttack:
|
|||
ld d, a ; d = move power
|
||||
ret z ; return if move power is zero
|
||||
ld a, [hl] ; a = [wPlayerMoveType]
|
||||
cp FIRE ; types >= FIRE are all special
|
||||
cp SPECIAL ; types >= SPECIAL are all special
|
||||
jr nc, .specialAttack
|
||||
.physicalAttack
|
||||
ld hl, wEnemyMonDefense
|
||||
|
@ -4252,7 +4252,7 @@ GetDamageVarsForEnemyAttack:
|
|||
and a
|
||||
ret z ; return if move power is zero
|
||||
ld a, [hl] ; a = [wEnemyMoveType]
|
||||
cp FIRE ; types >= FIRE are all special
|
||||
cp SPECIAL ; types >= SPECIAL are all special
|
||||
jr nc, .specialAttack
|
||||
.physicalAttack
|
||||
ld hl, wBattleMonDefense
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
|
||||
; Constant enumeration is useful for monsters, items, moves, etc.
|
||||
const_def: MACRO
|
||||
if _NARG >= 1
|
||||
const_value = \1
|
||||
else
|
||||
const_value = 0
|
||||
endc
|
||||
ENDM
|
||||
|
||||
const: MACRO
|
||||
|
|
Loading…
Reference in a new issue