Identify more bit flags (#1153)

This commit is contained in:
Sylvie
2024-11-29 19:29:30 -05:00
committed by GitHub
parent 8894e29da2
commit 644bd42fb0
78 changed files with 539 additions and 472 deletions

View File

@@ -22,6 +22,8 @@ DEF BATTLEANIMSTRUCT_VAR2 rb ; 10
DEF BATTLEANIMSTRUCT_LENGTH EQU _RS
DEF NUM_BATTLE_ANIM_STRUCTS EQU 10 ; see wActiveAnimObjects
DEF BATTLEANIMSTRUCT_OAMFLAGS_FIX_COORDS_F EQU 0
; wBattleAnimTileDict size (see wram.asm)
DEF NUM_BATTLEANIMTILEDICT_ENTRIES EQU 5

View File

@@ -24,6 +24,11 @@ DEF EFFECTIVE EQU 10
DEF NOT_VERY_EFFECTIVE EQU 05
DEF NO_EFFECT EQU 00
; wTypeModifier
DEF EFFECTIVENESS_MASK EQU %01111111
const_def 7
shift_const STAB_DAMAGE
; enemy AI behavior
DEF BASE_AI_SWITCH_SCORE EQU 10
@@ -218,6 +223,7 @@ DEF ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP_MASK
const SCREENS_SAFEGUARD
const SCREENS_LIGHT_SCREEN
const SCREENS_REFLECT
const SCREENS_UNUSED
; values in wBattleWeather
const_def

View File

@@ -20,9 +20,9 @@ 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)
DEF RTC_DH_HI EQU 0 ; Most significant bit of Day Counter (Bit 8)
DEF RTC_DH_HALT EQU 6 ; Halt (0=Active, 1=Stop Timer)
DEF RTC_DH_OVERFLOW EQU 7 ; Day Counter Carry Bit (1=Counter Overflow)
; interrupt flags
DEF VBLANK EQU 0
@@ -49,6 +49,8 @@ DEF PRIORITY EQU 1 << OAM_PRIORITY ; $80
; Hardware registers
DEF rJOYP EQU $ff00 ; Joypad (R/W)
DEF rJOYP_BUTTONS EQU 4
DEF rJOYP_DPAD EQU 5
DEF rSB EQU $ff01 ; Serial transfer data (R/W)
DEF rSC EQU $ff02 ; Serial Transfer Control (R/W)
DEF rSC_ON EQU 7
@@ -125,6 +127,8 @@ 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 KEY1_PREPARE EQU 0 ; 0=No, 1=Prepare (R/W)
DEF KEY1_DBLSPEED EQU 7 ; 0=Normal Speed, 1=Double Speed (R)
DEF rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank
DEF rBLCK EQU $ff50
DEF rHDMA1 EQU $ff51 ; CGB Mode Only - New DMA Source, High

View File

@@ -1,26 +1,15 @@
; 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
shift_const A_BUTTON ; 0
shift_const B_BUTTON ; 1
shift_const SELECT ; 2
shift_const START ; 3
shift_const D_RIGHT ; 4
shift_const D_LEFT ; 5
shift_const D_UP ; 6
shift_const D_DOWN ; 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 NO_INPUT EQU %00000000
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
DEF BUTTONS EQU A_BUTTON | B_BUTTON | SELECT | START
DEF D_PAD EQU D_RIGHT | D_LEFT | D_UP | D_DOWN

View File

@@ -30,12 +30,11 @@ DEF NUM_ITEM_TYPES EQU const_value - 1
const ITEMMENU_CLOSE ; 6
; item actions
DEF CANT_SELECT_F EQU 6
DEF CANT_TOSS_F EQU 7
const_def 6
shift_const CANT_SELECT ; 6
shift_const CANT_TOSS ; 7
DEF NO_LIMITS EQU 0
DEF CANT_SELECT EQU 1 << CANT_SELECT_F
DEF CANT_TOSS EQU 1 << CANT_TOSS_F
DEF NO_LIMITS EQU 0
; pack pockets
const_def

View File

@@ -56,14 +56,8 @@ DEF NUM_MAP_PALETTES EQU const_value
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
; connection directions (see data/maps/data.asm)
const_def
shift_const EAST
shift_const WEST

View File

@@ -45,56 +45,36 @@ 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
shift_const INVISIBLE ; 0
shift_const WONT_DELETE ; 1
shift_const FIXED_FACING ; 2
shift_const SLIDING ; 3
shift_const NOCLIP_TILES ; 4
shift_const MOVE_ANYWHERE ; 5
shift_const NOCLIP_OBJS ; 6
shift_const EMOTE_OBJECT ; 7
; 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
shift_const LOW_PRIORITY ; 0
shift_const HIGH_PRIORITY ; 1
shift_const BOULDER_MOVING ; 2
shift_const OVERHEAD ; 3
shift_const USE_OBP1 ; 4
shift_const FROZEN ; 5
shift_const OFF_SCREEN ; 6
shift_const OBJ_FLAGS2_7 ; 7
; 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
shift_const SWIMMING ; 5
shift_const STRENGTH_BOULDER ; 6
shift_const BIG_OBJECT ; 7
; 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
const_def 1
shift_const RELATIVE_ATTRIBUTES ; 1
shift_const ABSOLUTE_TILE_ID ; 2
; map_object struct members (see macros/ram.asm)
; struct initialized by object_event macro (see macros/scripts/maps.asm)

View File

@@ -22,3 +22,6 @@ DEF NUM_MAPSETUP_SCRIPTS EQU const_value - $f1
const MAPCALLBACK_CMDQUEUE
const MAPCALLBACK_SPRITES
const MAPCALLBACK_NEWMAP
; see data/maps/setup_script_pointers.asm
DEF MAPSETUPSCRIPT_HAS_PARAM_F EQU 7

View File

@@ -1,41 +1,56 @@
; 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
shift_const MENU_RESTORE_TILES ; 0
const_skip 2
shift_const MENU_NO_CLICK_SFX ; 3
shift_const MENU_SPRITE_ANIMS ; 4
shift_const MENU_UNUSED ; 5
shift_const MENU_BACKUP_TILES ; 6
shift_const MENU_BACKUP_TILES_2 ; 7
; 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
shift_const STATICMENU_DISABLE_B ; 0 ; VerticalMenu/_2DMenu
shift_const STATICMENU_ENABLE_SELECT ; 1 ; VerticalMenu/_2DMenu
shift_const STATICMENU_ENABLE_LEFT_RIGHT ; 2 ; DoNthMenu/SetUpMenu
shift_const STATICMENU_ENABLE_START ; 3 ; DoNthMenu/SetUpMenu
shift_const STATICMENU_PLACE_TITLE ; 4 ; VerticalMenu
shift_const STATICMENU_WRAP ; 5 ; All
shift_const STATICMENU_NO_TOP_SPACING ; 6 ; VerticalMenu/_2DMenu
shift_const STATICMENU_CURSOR ; 7 ; 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
shift_const SCROLLINGMENU_CALL_FUNCTION1_CANCEL ; 0
shift_const SCROLLINGMENU_CALL_FUNCTION3_NO_SWITCH ; 1
shift_const SCROLLINGMENU_ENABLE_RIGHT ; 2
shift_const SCROLLINGMENU_ENABLE_LEFT ; 3
shift_const SCROLLINGMENU_DISPLAY_ARROWS ; 4
shift_const SCROLLINGMENU_ENABLE_FUNCTION3 ; 5
shift_const SCROLLINGMENU_ENABLE_START ; 6
shift_const SCROLLINGMENU_ENABLE_SELECT ; 7
; ScrollingMenu items structure format
const_def 1
const SCROLLINGMENU_ITEMS_NORMAL
const SCROLLINGMENU_ITEMS_QUANTITY
const SCROLLINGMENU_ITEMS_NORMAL ; 1
const SCROLLINGMENU_ITEMS_QUANTITY ; 2
; _2DMenu more flags
const_def
shift_const _2DMENU_EXIT_RIGHT ; 0
shift_const _2DMENU_EXIT_LEFT ; 1
shift_const _2DMENU_EXIT_UP ; 2
shift_const _2DMENU_EXIT_DOWN ; 3
shift_const _2DMENU_WRAP_LEFT_RIGHT ; 4
shift_const _2DMENU_WRAP_UP_DOWN ; 5
shift_const _2DMENU_ENABLE_SPRITE_ANIMS ; 6
shift_const _2DMENU_DISABLE_JOYPAD_FILTER ; 7
; _2DMenu more flags 2
const_def
const_skip 7
shift_const _2DMENU_EXITING ; 7
; MonMenuOptions indexes (see data/mon_menu.asm)
; used by PokemonActionSubmenu (see engine/pokemon/mon_menu.asm)

View File

@@ -108,12 +108,14 @@
DEF NUM_MUSIC_SONGS EQU const_value
; GetMapMusic picks music for this value (see home/map.asm)
DEF MUSIC_MAHOGANY_MART EQU $64
; this overlaps with a Crystal song ID, but not one that is used for map music
DEF MUSIC_MAHOGANY_MART EQU MUSIC_SUICUNE_BATTLE
; 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
const_def 7
shift_const RADIO_TOWER_MUSIC
assert NUM_MUSIC_SONGS <= RADIO_TOWER_MUSIC, "song IDs overlap RADIO_TOWER_MUSIC"

View File

@@ -1,9 +1,20 @@
; 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
const PRINTER_STATUS_CHECKING ; 1
const PRINTER_STATUS_TRANSMITTING ; 2
const PRINTER_STATUS_PRINTING ; 3
const PRINTER_ERROR_1 ; 4
const PRINTER_ERROR_2 ; 5
const PRINTER_ERROR_3 ; 6
const PRINTER_ERROR_4 ; 7
; wPrinterStatusFlags
const_def 5
shift_const PRINTER_STATUS_ERROR_3 ; 5
shift_const PRINTER_STATUS_ERROR_4 ; 6
shift_const PRINTER_STATUS_ERROR_1 ; 7
; wPrinterConnectionOpen
const_def
const PRINTER_CONNECTION_OPEN
const PRINTER_CONNECTION_SUCCESS

View File

@@ -29,6 +29,9 @@ DEF GAME_TIMER_MOBILE_F EQU 7
DEF JOYPAD_DISABLE_MON_FAINT_F EQU 6
DEF JOYPAD_DISABLE_SGB_TRANSFER_F EQU 7
; wInBattleTowerBattle::
DEF IN_BATTLE_TOWER_BATTLE_F EQU 0
; wOptions1::
DEF TEXT_DELAY_MASK EQU %111
const_def 4
@@ -69,6 +72,9 @@ DEF GBPRINTER_DARKEST EQU $7f
const_def
const MENU_ACCOUNT ; 0
; wDST::
DEF DST_F EQU 7
; wWalkingDirection::
const_def -1
const STANDING ; -1
@@ -97,6 +103,11 @@ DEF LAST_12_SPRITE_OAM_STRUCTS_RESERVED_F EQU 1
DEF TEXT_STATE_F EQU 6
DEF SCRIPTED_MOVEMENT_STATE_F EQU 7
; wSpriteFlags::
DEF SPRITES_VRAM_BANK_0_F EQU 5
DEF SPRITES_SKIP_WALKING_GFX_F EQU 6
DEF SPRITES_SKIP_STANDING_GFX_F EQU 7
; wPokemonWithdrawDepositParameter::
DEF PC_WITHDRAW EQU 0
DEF PC_DEPOSIT EQU 1
@@ -119,21 +130,23 @@ DEF INIT_OTHER_ITEM_LIST EQU 3
DEF INIT_PLAYEROT_LIST EQU 4
DEF INIT_MON_LIST EQU 5
; wMapNameSignFlags::
const_def 1
const SHOWN_MAP_NAME_SIGN ; 1
; wTimeOfDay::
const_def
const MORN_F ; 0
const DAY_F ; 1
const NITE_F ; 2
const DARKNESS_F ; 3
shift_const MORN ; 0
shift_const DAY ; 1
shift_const NITE ; 2
shift_const DARKNESS ; 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
; wTimeOfDayPalFlags::
DEF FORCED_PALSET_F EQU 7
; wTimeOfDayPalset::
DEF DARKNESS_PALSET EQU (DARKNESS_F << 6) | (DARKNESS_F << 4) | (DARKNESS_F << 2) | DARKNESS_F
@@ -144,6 +157,10 @@ DEF DARKNESS_PALSET EQU (DARKNESS_F << 6) | (DARKNESS_F << 4) | (DARKNESS_F << 2
const BATTLEANIM_IN_LOOP_F ; 2
const BATTLEANIM_KEEPSPRITES_F ; 3
; wBattleScriptFlags::
DEF BATTLESCRIPT_WILD_F EQU 0
DEF BATTLESCRIPT_SCRIPTED_F EQU 7
; wPlayerSpriteSetupFlags::
DEF PLAYERSPRITESETUP_FACING_MASK EQU %11
DEF PLAYERSPRITESETUP_FEMALE_TO_MALE_F EQU 2
@@ -167,7 +184,20 @@ DEF PLAYERGENDER_FEMALE_F EQU 0
const MAPEVENTS_OFF ; 1
; wScriptFlags::
DEF SCRIPT_RUNNING EQU 2
const_def
const UNUSED_SCRIPT_FLAG_0 ; 0
const UNUSED_SCRIPT_FLAG_1 ; 1
const SCRIPT_RUNNING ; 2
const RUN_DEFERRED_SCRIPT ; 3
; wEnabledPlayerEvents::
const_def
const PLAYEREVENTS_COUNT_STEPS ; 0
const PLAYEREVENTS_COORD_EVENTS ; 1
const PLAYEREVENTS_WARPS_AND_CONNECTIONS ; 2
const_skip
const PLAYEREVENTS_WILD_ENCOUNTERS ; 4
const PLAYEREVENTS_UNUSED ; 5
; wScriptMode::
const_def
@@ -180,6 +210,9 @@ DEF SCRIPT_RUNNING EQU 2
DEF SPAWN_LANCE EQU 1
DEF SPAWN_RED EQU 2
; wGameTimeCap::
DEF GAME_TIME_CAPPED EQU 0
; wCurDay::
const_def
const SUNDAY ; 0
@@ -325,6 +358,12 @@ DEF DAYCARELADY_ACTIVE_F EQU 7
const UNLOCKED_UNOWNS_X_TO_Z_F
DEF NUM_UNLOCKED_UNOWN_SETS EQU const_value
; sRTCStatusFlags::
const_def 5
shift_const RTC_DAYS_EXCEED_139 ; 5
shift_const RTC_DAYS_EXCEED_255 ; 6
shift_const RTC_RESET ; 7
; hVBlank::
; VBlankHandlers indexes (see home/vblank.asm)
const_def

View File

@@ -33,16 +33,11 @@ DEF TEXTBOX_INNERY EQU TEXTBOX_Y + 2
; see gfx/frames/*.png
DEF TEXTBOX_FRAME_TILES EQU 6
; PrintNum bit flags
; PrintNum bit flags (see engine/math/print_num.asm)
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
shift_const PRINTNUM_MONEY ; 5
shift_const PRINTNUM_LEFTALIGN ; 6
shift_const PRINTNUM_LEADINGZEROS ; 7
; character sets (see charmap.asm)
DEF FIRST_REGULAR_TEXT_CHAR EQU $60

View File

@@ -24,20 +24,13 @@ 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
shift_const SWITCH_OFTEN ; 0
shift_const SWITCH_RARELY ; 1
shift_const SWITCH_SOMETIMES ; 2
const_skip
shift_const ALWAYS_USE ; 4
shift_const UNKNOWN_USE ; 5
shift_const CONTEXT_USE ; 6
; TrainerTypes indexes (see engine/battle/read_trainer_party.asm)
const_def