Use const_skip and const_next macros for brevity

This commit is contained in:
Rangi 2020-07-08 16:20:15 -04:00
parent 6ca82e5c86
commit c086de0c98
27 changed files with 198 additions and 820 deletions

View File

@ -17,13 +17,7 @@
const BATTLEANIMSTRUCT_ANON_JT_INDEX
const BATTLEANIMSTRUCT_0F
const BATTLEANIMSTRUCT_10
const BATTLEANIMSTRUCT_11
const BATTLEANIMSTRUCT_12
const BATTLEANIMSTRUCT_13
const BATTLEANIMSTRUCT_14
const BATTLEANIMSTRUCT_15
const BATTLEANIMSTRUCT_16
const BATTLEANIMSTRUCT_17
const_skip 7
BATTLEANIMSTRUCT_LENGTH EQU const_value
NUM_ANIM_OBJECTS EQU 10 ; see wActiveAnimObjects

View File

@ -192,7 +192,7 @@ ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP
const SUBSTATUS_X_ACCURACY
const SUBSTATUS_MIST
const SUBSTATUS_FOCUS_ENERGY
const SUBSTATUS_UNKNOWN_1
const_skip
const SUBSTATUS_SUBSTITUTE
const SUBSTATUS_RECHARGE
const SUBSTATUS_RAGE
@ -201,8 +201,8 @@ ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP
; wPlayerSubStatus5 or wEnemySubStatus5 bit flags
const_def
const SUBSTATUS_TOXIC
const SUBSTATUS_UNKNOWN_2
const SUBSTATUS_UNKNOWN_3
const_skip
const_skip
const SUBSTATUS_TRANSFORMED
const SUBSTATUS_ENCORED
const SUBSTATUS_LOCK_ON
@ -212,7 +212,7 @@ ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP
; wPlayerScreens or wEnemyScreens bit flags
const_def
const SCREENS_SPIKES
const SCREENS_UNUSED
const_skip
const SCREENS_SAFEGUARD
const SCREENS_LIGHT_SCREEN
const SCREENS_REFLECT
@ -239,9 +239,9 @@ ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP
const BATTLEACTION_SWITCH4
const BATTLEACTION_SWITCH5
const BATTLEACTION_SWITCH6
const BATTLEACTION_A
const BATTLEACTION_B
const BATTLEACTION_C
const_skip
const_skip
const_skip
const BATTLEACTION_SKIPTURN
const BATTLEACTION_STRUGGLE
const BATTLEACTION_FORFEIT

View File

@ -105,11 +105,11 @@
const PAAD_TESTING
; CreditsScript indexes (see data/credits_script.asm)
const_def -7
const CREDITS_THEEND
const CREDITS_WAIT2
const CREDITS_MUSIC
const CREDITS_CLEAR
const CREDITS_SCENE
const CREDITS_WAIT
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

@ -1,5 +1,5 @@
; decoration types
const_value = 1
const_def 1
const DECO_PLANT
const DECO_BED
const DECO_CARPET
@ -8,7 +8,7 @@ const_value = 1
const DECO_BIGDOLL
; DecorationNames indexes (see data/decorations/names.asm)
const_value = 1
const_def 1
const PUT_IT_AWAY
const MAGNAPLANT
const TROPICPLANT
@ -36,7 +36,7 @@ const_value = 1
const GREEN_CARPET
; DoDecorationAction2.DecoActions indexes (see engine/overworld/decorations.asm)
const_value = 1
const_def 1
const SET_UP_BED
const PUT_AWAY_BED
const SET_UP_CARPET

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
; item_attributes struct members (see data/items/attributes.asm)
const_def
const ITEMATTR_PRICE
const ITEMATTR_PRICE_LO
const ITEMATTR_PRICE_HI
const ITEMATTR_EFFECT
const ITEMATTR_PARAM
@ -19,10 +19,12 @@ ITEMATTR_STRUCT_LENGTH EQU const_value
; item menu types
; UseItem.dw indexes (see engine/items/pack.asm)
; UseRegisteredItem.SwitchTo indexes (see engine/overworld/select_menu.asm)
ITEMMENU_NOUSE EQU 0
ITEMMENU_CURRENT EQU 4
ITEMMENU_PARTY EQU 5
ITEMMENU_CLOSE EQU 6
const_def
const ITEMMENU_NOUSE ; 0
const_skip 3
const ITEMMENU_CURRENT ; 4
const ITEMMENU_PARTY ; 5
const ITEMMENU_CLOSE ; 6
; item actions
CANT_SELECT_F EQU 6
@ -57,13 +59,13 @@ MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
const HELD_BERRY
const HELD_2
const HELD_LEFTOVERS
const HELD_4
const_skip
const HELD_5
const HELD_RESTORE_PP
const HELD_7
const_skip
const HELD_CLEANSE_TAG
const_def 10
const_next 10
const HELD_HEAL_POISON
const HELD_HEAL_FREEZE
const HELD_HEAL_BURN
@ -72,7 +74,7 @@ MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
const HELD_HEAL_STATUS
const HELD_HEAL_CONFUSION
const_def 20
const_next 20
const HELD_PREVENT_POISON
const HELD_PREVENT_BURN
const HELD_PREVENT_FREEZE
@ -80,7 +82,7 @@ MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
const HELD_PREVENT_PARALYZE
const HELD_PREVENT_CONFUSE
const_def 30
const_next 30
const HELD_30
const HELD_ATTACK_UP
const HELD_DEFENSE_UP
@ -91,12 +93,12 @@ MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
const HELD_EVASION_UP
const HELD_38
const_def 40
const HELD_40
const HELD_41
const_next 40
const_skip
const_skip
const HELD_METAL_POWDER
const_def 50
const_next 50
const HELD_NORMAL_BOOST
const HELD_FIGHTING_BOOST
const HELD_FLYING_BOOST
@ -115,7 +117,7 @@ MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
const HELD_DARK_BOOST
const HELD_STEEL_BOOST
const_def 70
const_next 70
const HELD_CATCH_CHANCE
const HELD_71
const HELD_ESCAPE
@ -124,5 +126,5 @@ MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
const HELD_FLINCH
const HELD_AMULET_COIN
const HELD_BRIGHTPOWDER
const HELD_78
const_skip
const HELD_FOCUS_BAND

View File

@ -33,8 +33,8 @@
const OBJECT_1E ; 1e
const OBJECT_1F ; 1f
const OBJECT_RANGE ; 20
; 21-27 are not used
OBJECT_LENGTH EQU 40
const_skip 7
OBJECT_LENGTH EQU const_value
NUM_OBJECT_STRUCTS EQU 13 ; see wObjectStructs
; object_struct OBJECT_FACING values
@ -99,21 +99,20 @@ ABSOLUTE_TILE_ID EQU 1 << ABSOLUTE_TILE_ID_F
; map_object struct members (see macros/wram.asm)
const_def
const MAPOBJECT_OBJECT_STRUCT_ID ; 0
const MAPOBJECT_SPRITE ; 1
const MAPOBJECT_Y_COORD ; 2
const MAPOBJECT_X_COORD ; 3
const MAPOBJECT_MOVEMENT ; 4
const MAPOBJECT_RADIUS ; 5
const MAPOBJECT_HOUR ; 6
const MAPOBJECT_TIMEOFDAY ; 7
const MAPOBJECT_COLOR ; 8
const MAPOBJECT_RANGE ; 9
const MAPOBJECT_SCRIPT_POINTER ; a
const MAPOBJECT_POINTER_HI ; b
const MAPOBJECT_EVENT_FLAG ; c
const MAPOBJECT_FLAG_HI ; d
const MAPOBJECT_E ; unused
const MAPOBJECT_F ; unused
const MAPOBJECT_SPRITE ; 1
const MAPOBJECT_Y_COORD ; 2
const MAPOBJECT_X_COORD ; 3
const MAPOBJECT_MOVEMENT ; 4
const MAPOBJECT_RADIUS ; 5
const MAPOBJECT_HOUR ; 6
const MAPOBJECT_TIMEOFDAY ; 7
const MAPOBJECT_COLOR ; 8
const MAPOBJECT_RANGE ; 9
const MAPOBJECT_SCRIPT_POINTER ; a
const_skip ; high MAPOBJECT_SCRIPT_POINTER byte
const MAPOBJECT_EVENT_FLAG ; c
const_skip ; high MAPOBJECT_EVENT_FLAG byte
const_skip 2 ; unused
MAPOBJECT_LENGTH EQU const_value
; SpriteMovementData struct members (see data/sprites/map_objects.asm)

View File

@ -87,7 +87,7 @@ HMENURETURN_ASM EQU %11111111
const PARTYMENUACTION_GIVE_ITEM
const PARTYMENUACTION_MOBILE ; mobile
; PrintPartyMenuActionText arguments (see engine/pokemon/party_menu.asm)
const_def $f0
const_next $f0
const PARTYMENUTEXT_HEAL_PSN
const PARTYMENUTEXT_HEAL_BRN
const PARTYMENUTEXT_HEAL_FRZ

View File

@ -259,11 +259,8 @@
const BEAT_UP ; fb
NUM_ATTACKS EQU const_value - 1
const MOVE_OR_ANIM_FC ; fc
const MOVE_OR_ANIM_FD ; fd
const MOVE_OR_ANIM_FE ; fe
; Battle animations use the same constants as the moves up to this point
const_next $ff
const ANIM_SWEET_SCENT_2 ; ff
const ANIM_THROW_POKE_BALL ; 100
const ANIM_SEND_OUT_MON ; 101

View File

@ -8,9 +8,9 @@
const PHONE_SCHOOLBOY_JACK
const PHONE_POKEFAN_BEVERLY
const PHONE_SAILOR_HUEY
const PHONE_08
const PHONE_09
const PHONE_0A
const_skip
const_skip
const_skip
const PHONE_COOLTRAINERM_GAVEN
const PHONE_COOLTRAINERF_BETH
const PHONE_BIRDKEEPER_JOSE
@ -25,7 +25,7 @@
const PHONE_JUGGLER_IRWIN
const PHONE_BUG_CATCHER_ARNIE
const PHONE_SCHOOLBOY_ALAN
const PHONE_19
const_skip
const PHONE_LASS_DANA
const PHONE_SCHOOLBOY_CHAD
const PHONE_POKEFANM_DEREK
@ -59,12 +59,12 @@
const PHONE_CONTACT_MAP_NUMBER
const PHONE_CONTACT_SCRIPT1_TIME
const PHONE_CONTACT_SCRIPT1_BANK
const PHONE_CONTACT_SCRIPT1_ADDR_LO
const PHONE_CONTACT_SCRIPT1_ADDR_HI
const PHONE_CONTACT_SCRIPT1_ADDR
const_skip ; high PHONE_CONTACT_SCRIPT1_ADDR byte
const PHONE_CONTACT_SCRIPT2_TIME
const PHONE_CONTACT_SCRIPT2_BANK
const PHONE_CONTACT_SCRIPT2_ADDR_LO
const PHONE_CONTACT_SCRIPT2_ADDR_HI
const PHONE_CONTACT_SCRIPT2_ADDR
const_skip ; high PHONE_CONTACT_SCRIPT2_ADDR byte
PHONE_CONTACT_SIZE EQU const_value
; maximum number of pokegear contacts

View File

@ -272,9 +272,8 @@ JOHTO_POKEMON EQU const_value
const HO_OH ; fa
const CELEBI ; fb
NUM_POKEMON EQU const_value - 1
const MON_FC ; fc
const_skip ; fc
const EGG ; fd
const MON_FE ; fe
; Unown forms
; indexes for:

View File

@ -106,7 +106,7 @@
const SPRITE_STANDING_YOUNGSTER ; 66
; SpriteMons indexes (see data/sprites/sprite_mons.asm)
const_def $80
const_next $80
SPRITE_POKEMON EQU const_value
const SPRITE_UNOWN ; 80
const SPRITE_GEODUDE ; 81
@ -145,12 +145,12 @@ SPRITE_POKEMON EQU const_value
const SPRITE_HO_OH ; a2
; special GetMonSprite values (see engine/overworld/overworld.asm)
const_def $e0
const_next $e0
const SPRITE_DAY_CARE_MON_1 ; e0
const SPRITE_DAY_CARE_MON_2 ; e1
; wVariableSprites indexes (see wram.asm)
const_def $f0
const_next $f0
SPRITE_VARS EQU const_value
const SPRITE_CONSOLE ; f0
const SPRITE_DOLL_1 ; f1

View File

@ -1,7 +1,7 @@
; overworld_sprite struct members (see data/sprites.asm)
const_def
const SPRITEDATA_ADDR ; 0
const SPRITEDATA_ADDR_HI ; 1
const_skip ; high SPRITEDATA_ADDR byte
const SPRITEDATA_SIZE ; 2
const SPRITEDATA_BANK ; 3
const SPRITEDATA_TYPE ; 4

View File

@ -4,16 +4,14 @@
const TRNATTR_ITEM2 ; 1
const TRNATTR_BASEMONEY ; 2
const TRNATTR_AI_MOVE_WEIGHTS ; 3
const TRNATTR_AI2 ; 4
const_skip ; high TRNATTR_AI_MOVE_WEIGHTS byte
const TRNATTR_AI_ITEM_SWITCH ; 5
const TRNATTR_AI4 ; 6
const_skip ; high TRNATTR_AI_ITEM_SWITCH byte
NUM_TRAINER_ATTRIBUTES EQU const_value
; TRNATTR_AI_MOVE_WEIGHTS bit flags (wEnemyTrainerAIFlags)
; AIScoringPointers indexes (see engine/battle/ai/move.asm)
const_def
const NO_AI
const_value = 0
shift_const AI_BASIC
shift_const AI_SETUP
shift_const AI_TYPES
@ -24,27 +22,24 @@ const_value = 0
shift_const AI_CAUTIOUS
shift_const AI_STATUS
shift_const AI_RISKY
shift_const AI_10
shift_const AI_11
shift_const AI_12
shift_const AI_13
shift_const AI_14
shift_const AI_15
NO_AI EQU 0
; TRNATTR_AI_ITEM_SWITCH bit flags
CONTEXT_USE_F EQU 6
UNKNOWN_USE_F EQU 5
ALWAYS_USE_F EQU 4
SWITCH_SOMETIMES_F EQU 2
SWITCH_RARELY_F EQU 1
SWITCH_OFTEN_F EQU 0
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
CONTEXT_USE EQU 1 << CONTEXT_USE_F
UNKNOWN_USE EQU 1 << UNKNOWN_USE_F
ALWAYS_USE EQU 1 << ALWAYS_USE_F
SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F
SWITCH_RARELY EQU 1 << SWITCH_RARELY_F
SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F
SWITCH_RARELY EQU 1 << SWITCH_RARELY_F
SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F
ALWAYS_USE EQU 1 << ALWAYS_USE_F
UNKNOWN_USE EQU 1 << UNKNOWN_USE_F
CONTEXT_USE EQU 1 << CONTEXT_USE_F
; TrainerTypes indexes (see engine/battle/read_trainer_party.asm)
const_def

View File

@ -19,15 +19,7 @@ PHYSICAL EQU const_value
const STEEL
UNUSED_TYPES EQU const_value
const TYPE_10
const TYPE_11
const TYPE_12
const TYPE_13
const TYPE_14
const TYPE_15
const TYPE_16
const TYPE_17
const TYPE_18
const_next 19
const CURSE_TYPE
UNUSED_TYPES_END EQU const_value

View File

@ -570,7 +570,7 @@ GetItemPrice:
; Return the price of wCurItem in de.
push hl
push bc
ld a, ITEMATTR_PRICE
ld a, ITEMATTR_PRICE_LO
call GetItemAttr
ld e, a
ld a, ITEMATTR_PRICE_HI

View File

@ -353,7 +353,7 @@ Function90199:
ld hl, PHONE_CONTACT_SCRIPT1_BANK
add hl, de
ld b, [hl]
ld hl, PHONE_CONTACT_SCRIPT1_ADDR_LO
ld hl, PHONE_CONTACT_SCRIPT1_ADDR
add hl, de
ld a, [hli]
ld h, [hl]

View File

@ -22,3 +22,19 @@ shift_const: MACRO
\1 EQU (1 << const_value)
const_value = const_value + const_inc
ENDM
const_skip: MACRO
if _NARG >= 1
const_value = const_value + const_inc * (\1)
else
const_value = const_value + const_inc
endc
ENDM
const_next: MACRO
if (const_value > 0 && \1 < const_value) || (const_value < 0 && \1 > const_value)
fail "const_next cannot go backwards from {const_value} to \1"
else
const_value = \1
endc
ENDM

View File

@ -41,7 +41,7 @@ noise_note: MACRO
ENDM
; MusicCommands indexes (see audio/engine.asm)
const_def $d0, 8
const_def $d0
FIRST_MUSIC_CMD EQU const_value
const octave_cmd ; $d0
@ -49,7 +49,7 @@ octave: MACRO
db octave_cmd | 8 - (\1) ; octave
ENDM
const_inc = 1
const_skip 7 ; all octave values
const note_type_cmd ; $d8
note_type: MACRO

View File

@ -181,6 +181,6 @@ ENDM
command startloop ; ae
command curl ; af
const_def $fe
command endturn ; fe
const_def -1, -1
command endmove ; ff
command endturn ; fe

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