mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-01-09 18:44:02 +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 "charmap.asm"
|
||||||
|
|
||||||
|
INCLUDE "macros.asm"
|
||||||
|
|
||||||
INCLUDE "hram.asm"
|
INCLUDE "hram.asm"
|
||||||
INCLUDE "vram.asm"
|
INCLUDE "vram.asm"
|
||||||
|
|
||||||
INCLUDE "constants/hardware_constants.asm"
|
INCLUDE "constants/hardware_constants.asm"
|
||||||
INCLUDE "constants/oam_constants.asm"
|
INCLUDE "constants/oam_constants.asm"
|
||||||
INCLUDE "constants/misc_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/pokemon_constants.asm"
|
||||||
INCLUDE "constants/pokedex_constants.asm"
|
INCLUDE "constants/pokedex_constants.asm"
|
||||||
|
INCLUDE "constants/pokemon_data_constants.asm"
|
||||||
INCLUDE "constants/trainer_constants.asm"
|
INCLUDE "constants/trainer_constants.asm"
|
||||||
INCLUDE "constants/item_constants.asm"
|
INCLUDE "constants/item_constants.asm"
|
||||||
INCLUDE "constants/type_constants.asm"
|
INCLUDE "constants/type_constants.asm"
|
||||||
INCLUDE "constants/move_constants.asm"
|
INCLUDE "constants/move_constants.asm"
|
||||||
INCLUDE "constants/move_animation_constants.asm"
|
INCLUDE "constants/move_animation_constants.asm"
|
||||||
INCLUDE "constants/move_effect_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_constants.asm"
|
||||||
|
INCLUDE "constants/sprite_data_constants.asm"
|
||||||
INCLUDE "constants/palette_constants.asm"
|
INCLUDE "constants/palette_constants.asm"
|
||||||
INCLUDE "constants/evolution_constants.asm"
|
|
||||||
INCLUDE "constants/list_constants.asm"
|
INCLUDE "constants/list_constants.asm"
|
||||||
INCLUDE "constants/map_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/hide_show_constants.asm"
|
||||||
INCLUDE "constants/credits_constants.asm"
|
INCLUDE "constants/credits_constants.asm"
|
||||||
|
INCLUDE "constants/audio_constants.asm"
|
||||||
INCLUDE "constants/music_constants.asm"
|
INCLUDE "constants/music_constants.asm"
|
||||||
INCLUDE "constants/tilesets.asm"
|
INCLUDE "constants/tilesets.asm"
|
||||||
INCLUDE "constants/starter_mons.asm"
|
INCLUDE "constants/starter_mons.asm"
|
||||||
INCLUDE "constants/event_constants.asm"
|
INCLUDE "constants/event_constants.asm"
|
||||||
INCLUDE "constants/text_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
|
; non-volatile statuses
|
||||||
SLP EQU %111 ; sleep counter
|
SLP EQU %111 ; sleep counter
|
||||||
PSN EQU 3
|
PSN EQU 3
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
const_value = 0
|
const_def
|
||||||
|
|
||||||
const CRED_VERSION ; $00
|
const CRED_VERSION ; $00
|
||||||
const CRED_TAJIRI ; $01
|
const CRED_TAJIRI ; $01
|
||||||
const CRED_TA_OOTA ; $02
|
const CRED_TA_OOTA ; $02
|
||||||
|
|
@ -64,4 +63,3 @@ const_value = 0
|
||||||
const CRED_FUKUI ; $3D
|
const CRED_FUKUI ; $3D
|
||||||
const CRED_CLUB ; $3E
|
const CRED_CLUB ; $3E
|
||||||
const CRED_PAAD ; $3F
|
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
|
; (they are either items or sprites that deactivate after battle
|
||||||
; and are detected in wMissableObjectList)
|
; and are detected in wMissableObjectList)
|
||||||
|
|
||||||
const_value = 0
|
const_def
|
||||||
|
|
||||||
const HS_PALLET_TOWN_OAK ; 00
|
const HS_PALLET_TOWN_OAK ; 00
|
||||||
const HS_LYING_OLD_MAN ; 01
|
const HS_LYING_OLD_MAN ; 01
|
||||||
const HS_OLD_MAN ; 02
|
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 MASTER_BALL ; $01
|
||||||
const ULTRA_BALL ; $02
|
const ULTRA_BALL ; $02
|
||||||
const GREAT_BALL ; $03
|
const GREAT_BALL ; $03
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,23 @@
|
||||||
; list menu ID's
|
; list menu IDs
|
||||||
PCPOKEMONLISTMENU EQU $00 ; PC pokemon withdraw/deposit lists
|
const_def
|
||||||
MOVESLISTMENU EQU $01 ; XXX where is this used?
|
const PCPOKEMONLISTMENU ; $00 ; PC pokemon withdraw/deposit lists
|
||||||
PRICEDITEMLISTMENU EQU $02 ; Pokemart buy menu / Pokemart buy/sell choose quantity menu
|
const MOVESLISTMENU ; $01 ; XXX where is this used?
|
||||||
ITEMLISTMENU EQU $03 ; Start menu Item menu / Pokemart sell menu
|
const PRICEDITEMLISTMENU ; $02 ; Pokemart buy menu / Pokemart buy/sell choose quantity menu
|
||||||
SPECIALLISTMENU EQU $04 ; list of special "items" e.g. floor list in elevators / list of badges
|
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
|
const_def 1
|
||||||
MOVE_NAME EQU 2
|
const MONSTER_NAME ; 1
|
||||||
; ???_NAME EQU 3
|
const MOVE_NAME ; 2
|
||||||
ITEM_NAME EQU 4
|
const UNUSED_NAME ; 3
|
||||||
PLAYEROT_NAME EQU 5
|
const ITEM_NAME ; 4
|
||||||
ENEMYOT_NAME EQU 6
|
const PLAYEROT_NAME ; 5
|
||||||
TRAINER_NAME EQU 7
|
const ENEMYOT_NAME ; 6
|
||||||
|
const TRAINER_NAME ; 7
|
||||||
|
|
||||||
INIT_ENEMYOT_LIST EQU 1
|
const_def 1
|
||||||
INIT_BAG_ITEM_LIST EQU 2
|
const INIT_ENEMYOT_LIST ; 1
|
||||||
INIT_OTHER_ITEM_LIST EQU 3
|
const INIT_BAG_ITEM_LIST ; 2
|
||||||
INIT_PLAYEROT_LIST EQU 4
|
const INIT_OTHER_ITEM_LIST ; 3
|
||||||
INIT_MON_LIST EQU 5
|
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
|
; Boolean checks
|
||||||
|
FALSE EQU 0
|
||||||
NUM_MOVES EQU 4
|
TRUE EQU 1
|
||||||
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)
|
|
||||||
|
|
||||||
; flag operations
|
; flag operations
|
||||||
|
|
||||||
FLAG_RESET EQU 0
|
FLAG_RESET EQU 0
|
||||||
FLAG_SET EQU 1
|
FLAG_SET EQU 1
|
||||||
FLAG_TEST EQU 2
|
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
|
const_def $D8
|
||||||
|
|
||||||
; special effects, prefaced with "SE" for "Special Effect"
|
|
||||||
const SE_WAVY_SCREEN ; $D8 used in Psywave/Night Shade/Psychic etc.
|
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_SUBSTITUTE_MON ; $D9 used in Substitute (turns the pokemon into a mini sprite)
|
||||||
const SE_SHAKE_BACK_AND_FORTH ; $DA used in Double Team
|
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 POUND ; 01
|
||||||
const KARATE_CHOP ; 02
|
const KARATE_CHOP ; 02
|
||||||
const DOUBLESLAP ; 03
|
const DOUBLESLAP ; 03
|
||||||
|
|
@ -167,7 +167,7 @@ const_value = 1
|
||||||
|
|
||||||
NUM_ATTACKS EQU const_value + -1
|
NUM_ATTACKS EQU const_value + -1
|
||||||
|
|
||||||
const STRUGGLE
|
const STRUGGLE ; a5
|
||||||
|
|
||||||
; Moves do double duty as animation identifiers.
|
; 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
|
; {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}_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
|
; {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 NO_ADDITIONAL_EFFECT ; $00
|
||||||
const UNUSED_EFFECT_01 ; $01
|
const UNUSED_EFFECT_01 ; $01
|
||||||
const POISON_SIDE_EFFECT1 ; $02
|
const POISON_SIDE_EFFECT1 ; $02
|
||||||
|
|
@ -91,7 +91,3 @@ const_value = 0
|
||||||
const LEECH_SEED_EFFECT ; $54
|
const LEECH_SEED_EFFECT ; $54
|
||||||
const SPLASH_EFFECT ; $55
|
const SPLASH_EFFECT ; $55
|
||||||
const DISABLE_EFFECT ; $56
|
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.
|
; Song ids are calculated by address to save space.
|
||||||
|
|
||||||
music_const: MACRO
|
music_const: MACRO
|
||||||
|
|
|
||||||
|
|
@ -5,25 +5,27 @@
|
||||||
const DARK_GRAY
|
const DARK_GRAY
|
||||||
const BLACK
|
const BLACK
|
||||||
|
|
||||||
SET_PAL_BATTLE_BLACK EQU $00
|
; pal/blk packets
|
||||||
SET_PAL_BATTLE EQU $01
|
const_def
|
||||||
SET_PAL_TOWN_MAP EQU $02
|
const SET_PAL_BATTLE_BLACK ; $00
|
||||||
SET_PAL_STATUS_SCREEN EQU $03
|
const SET_PAL_BATTLE ; $01
|
||||||
SET_PAL_POKEDEX EQU $04
|
const SET_PAL_TOWN_MAP ; $02
|
||||||
SET_PAL_SLOTS EQU $05
|
const SET_PAL_STATUS_SCREEN ; $03
|
||||||
SET_PAL_TITLE_SCREEN EQU $06
|
const SET_PAL_POKEDEX ; $04
|
||||||
SET_PAL_NIDORINO_INTRO EQU $07
|
const SET_PAL_SLOTS ; $05
|
||||||
SET_PAL_GENERIC EQU $08
|
const SET_PAL_TITLE_SCREEN ; $06
|
||||||
SET_PAL_OVERWORLD EQU $09
|
const SET_PAL_NIDORINO_INTRO ; $07
|
||||||
SET_PAL_PARTY_MENU EQU $0A
|
const SET_PAL_GENERIC ; $08
|
||||||
SET_PAL_POKEMON_WHOLE_SCREEN EQU $0B
|
const SET_PAL_OVERWORLD ; $09
|
||||||
SET_PAL_GAME_FREAK_INTRO EQU $0C
|
const SET_PAL_PARTY_MENU ; $0A
|
||||||
SET_PAL_TRAINER_CARD EQU $0D
|
const SET_PAL_POKEMON_WHOLE_SCREEN ; $0B
|
||||||
UPDATE_PARTY_MENU_BLK_PACKET EQU $FC
|
const SET_PAL_GAME_FREAK_INTRO ; $0C
|
||||||
|
const SET_PAL_TRAINER_CARD ; $0D
|
||||||
; super game boy palettes
|
const_value = -4
|
||||||
const_value = 0
|
const UPDATE_PARTY_MENU_BLK_PACKET ; $FC
|
||||||
|
|
||||||
|
; sgb palettes
|
||||||
|
const_def
|
||||||
const PAL_ROUTE ; $00
|
const PAL_ROUTE ; $00
|
||||||
const PAL_PALLET ; $01
|
const PAL_PALLET ; $01
|
||||||
const PAL_VIRIDIAN ; $02
|
const PAL_VIRIDIAN ; $02
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
const_value = 1
|
const_def 1
|
||||||
|
|
||||||
const DEX_BULBASAUR ; 1
|
const DEX_BULBASAUR ; 1
|
||||||
const DEX_IVYSAUR ; 2
|
const DEX_IVYSAUR ; 2
|
||||||
const DEX_VENUSAUR ; 3
|
const DEX_VENUSAUR ; 3
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
const_value = 1
|
const_def
|
||||||
|
const NO_MON ; $00
|
||||||
const RHYDON ; $01
|
const RHYDON ; $01
|
||||||
const KANGASKHAN ; $02
|
const KANGASKHAN ; $02
|
||||||
const NIDORAN_M ; $03
|
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
|
; overworld sprites
|
||||||
const_value = 1
|
const_def
|
||||||
|
const SPRITE_NONE ; $00
|
||||||
const SPRITE_RED ; $01
|
const SPRITE_RED ; $01
|
||||||
const SPRITE_BLUE ; $02
|
const SPRITE_BLUE ; $02
|
||||||
const SPRITE_OAK ; $03
|
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_1 ; $46
|
||||||
const SPRITE_LYING_OLD_MAN_UNUSED_2 ; $47
|
const SPRITE_LYING_OLD_MAN_UNUSED_2 ; $47
|
||||||
const SPRITE_LYING_OLD_MAN ; $48
|
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
|
; special text IDs
|
||||||
TEXT_MON_FAINTED EQU $d0
|
TEXT_MON_FAINTED EQU $d0
|
||||||
TEXT_BLACKED_OUT EQU $d1
|
TEXT_BLACKED_OUT EQU $d1
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
const_value = 0
|
const_def
|
||||||
|
|
||||||
const OVERWORLD ; 0
|
const OVERWORLD ; 0
|
||||||
const REDS_HOUSE_1 ; 1
|
const REDS_HOUSE_1 ; 1
|
||||||
const MART ; 2
|
const MART ; 2
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@ OPP_\1 EQU const_value + OPP_ID_OFFSET
|
||||||
const_value = const_value + 1
|
const_value = const_value + 1
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
const_value = 1
|
const_def
|
||||||
|
trainer_const NOBODY ; $00
|
||||||
trainer_const YOUNGSTER ; $01
|
trainer_const YOUNGSTER ; $01
|
||||||
trainer_const BUG_CATCHER ; $02
|
trainer_const BUG_CATCHER ; $02
|
||||||
trainer_const LASS ; $03
|
trainer_const LASS ; $03
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,23 @@
|
||||||
; Elemental types
|
const_def
|
||||||
NORMAL EQU $00
|
|
||||||
FIGHTING EQU $01
|
PHYSICAL EQU const_value
|
||||||
FLYING EQU $02
|
const NORMAL ; $00
|
||||||
POISON EQU $03
|
const FIGHTING ; $01
|
||||||
GROUND EQU $04
|
const FLYING ; $02
|
||||||
ROCK EQU $05
|
const POISON ; $03
|
||||||
BUG EQU $07
|
const GROUND ; $04
|
||||||
GHOST EQU $08
|
const ROCK ; $05
|
||||||
FIRE EQU $14
|
const BIRD ; $06
|
||||||
WATER EQU $15
|
const BUG ; $07
|
||||||
GRASS EQU $16
|
const GHOST ; $08
|
||||||
ELECTRIC EQU $17
|
|
||||||
PSYCHIC EQU $18
|
const_value = $14
|
||||||
ICE EQU $19
|
|
||||||
DRAGON EQU $1A
|
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
|
; The max number of evolutions per monster is MAX_EVOLUTIONS
|
||||||
|
|
||||||
EvosMovesPointerTable:
|
EvosMovesPointerTable:
|
||||||
|
|
|
||||||
|
|
@ -4139,7 +4139,7 @@ GetDamageVarsForPlayerAttack:
|
||||||
ld d, a ; d = move power
|
ld d, a ; d = move power
|
||||||
ret z ; return if move power is zero
|
ret z ; return if move power is zero
|
||||||
ld a, [hl] ; a = [wPlayerMoveType]
|
ld a, [hl] ; a = [wPlayerMoveType]
|
||||||
cp FIRE ; types >= FIRE are all special
|
cp SPECIAL ; types >= SPECIAL are all special
|
||||||
jr nc, .specialAttack
|
jr nc, .specialAttack
|
||||||
.physicalAttack
|
.physicalAttack
|
||||||
ld hl, wEnemyMonDefense
|
ld hl, wEnemyMonDefense
|
||||||
|
|
@ -4252,7 +4252,7 @@ GetDamageVarsForEnemyAttack:
|
||||||
and a
|
and a
|
||||||
ret z ; return if move power is zero
|
ret z ; return if move power is zero
|
||||||
ld a, [hl] ; a = [wEnemyMoveType]
|
ld a, [hl] ; a = [wEnemyMoveType]
|
||||||
cp FIRE ; types >= FIRE are all special
|
cp SPECIAL ; types >= SPECIAL are all special
|
||||||
jr nc, .specialAttack
|
jr nc, .specialAttack
|
||||||
.physicalAttack
|
.physicalAttack
|
||||||
ld hl, wBattleMonDefense
|
ld hl, wBattleMonDefense
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,11 @@
|
||||||
|
|
||||||
; Constant enumeration is useful for monsters, items, moves, etc.
|
; Constant enumeration is useful for monsters, items, moves, etc.
|
||||||
const_def: MACRO
|
const_def: MACRO
|
||||||
|
if _NARG >= 1
|
||||||
|
const_value = \1
|
||||||
|
else
|
||||||
const_value = 0
|
const_value = 0
|
||||||
|
endc
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
const: MACRO
|
const: MACRO
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue