diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index 4a113ca02..99d371b2d 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -8,7 +8,7 @@ NUM_DVS EQU 2 ; D733 flags BIT_TEST_BATTLE EQU 0 -; battle type constants +; battle type constants (wBattleType values) const_def const BATTLE_TYPE_NORMAL ; 0 const BATTLE_TYPE_OLD_MAN ; 1 @@ -43,7 +43,7 @@ MAX_STAT_VALUE EQU 999 ATKDEFDV_TRAINER EQU $98 SPDSPCDV_TRAINER EQU $88 -; volatile statuses 1 +; wPlayerBattleStatus1 or wEnemyBattleStatus1 bit flags const_def const STORING_ENERGY ; 0 ; Bide const THRASHING_ABOUT ; 1 ; e.g. Thrash @@ -54,7 +54,7 @@ SPDSPCDV_TRAINER EQU $88 const INVULNERABLE ; 6 ; charging up Fly/Dig const CONFUSED ; 7 -; volatile statuses 2 +; wPlayerBattleStatus2 or wEnemyBattleStatus2 bit flags const_def const USING_X_ACCURACY ; 0 const PROTECTED_BY_MIST ; 1 @@ -65,7 +65,7 @@ SPDSPCDV_TRAINER EQU $88 const USING_RAGE ; 6 const SEEDED ; 7 -; volatile statuses 3 +; wPlayerBattleStatus3 or wEnemyBattleStatus3 bit flags const_def const BADLY_POISONED ; 0 const HAS_LIGHT_SCREEN_UP ; 1 diff --git a/constants/credits_constants.asm b/constants/credits_constants.asm index 8ad9114b7..dcf782eff 100644 --- a/constants/credits_constants.asm +++ b/constants/credits_constants.asm @@ -1,3 +1,4 @@ +; CreditsTextPointers indexes (see data/credits/credits_text.asm) const_def const CRED_VERSION ; $00 const CRED_TAJIRI ; $01 diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 29c2e5375..4f1698808 100755 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -1,3 +1,5 @@ +; wEventFlags bit flags + ; Pallet Town events const_def const EVENT_FOLLOWED_OAK_INTO_LAB diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index d6d162c7e..912e58357 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -31,6 +31,7 @@ REDRAW_COL EQU 1 REDRAW_ROW EQU 2 ; tile list ids +; TileIDListPointerTable indexes (see data/tilemaps.asm) const_def const TILEMAP_MON_PIC const TILEMAP_SLIDE_DOWN_MON_PIC_7X5 diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 21c83644d..82e80bae2 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -1,6 +1,7 @@ HIDE EQU $11 SHOW EQU $15 +; MissableObjects indexes (see data/maps/hide_show_data.asm) ; this is a list of the sprites that can be enabled/disabled during the game ; sprites marked with an X are constants that are never used ; because those sprites are not (de)activated in a map's script diff --git a/constants/icon_constants.asm b/constants/icon_constants.asm index b96c516d4..14202da3d 100644 --- a/constants/icon_constants.asm +++ b/constants/icon_constants.asm @@ -1,4 +1,5 @@ ; party menu icons +; used in MonPartySpritePointers (see data/icon_pointers.asm) const_def const ICON_MON ; $0 const ICON_BALL ; $1 @@ -10,3 +11,7 @@ const ICON_GRASS ; $7 const ICON_SNAKE ; $8 const ICON_QUADRUPED ; $9 + +ICON_TRADEBUBBLE EQU $e + +ICONOFFSET EQU $40 ; difference between alternating icon frames' tile IDs diff --git a/constants/input_constants.asm b/constants/input_constants.asm index e5bc2a7bf..7984d5a90 100644 --- a/constants/input_constants.asm +++ b/constants/input_constants.asm @@ -1,3 +1,4 @@ +; joypad buttons const_def const BIT_A_BUTTON const BIT_B_BUTTON diff --git a/constants/item_constants.asm b/constants/item_constants.asm index c34269a87..674166002 100755 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -1,3 +1,10 @@ +; item ids +; indexes for: +; - ItemNames (see data/items/names.asm) +; - ItemPrices (see data/items/prices.asm) +; - TechnicalMachinePrices (see data/items/tm_prices.asm) +; - KeyItemBitfield (see data/items/key_items.asm) +; - ItemUsePtrTable (see engine/items/item_effects.asm) const_def const NO_ITEM ; $00 const MASTER_BALL ; $01 diff --git a/constants/list_constants.asm b/constants/list_constants.asm index 380df21c4..840856dfb 100755 --- a/constants/list_constants.asm +++ b/constants/list_constants.asm @@ -6,6 +6,7 @@ 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 +; NamePointers indexes (see home/names2.asm) const_def 1 const MONSTER_NAME ; 1 const MOVE_NAME ; 2 diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 6c7d8d485..b6ec77d52 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -4,6 +4,15 @@ mapconst: MACRO \1_WIDTH EQU \3 ENDM +; map ids +; indexes for: +; - MapHeaderBanks (see data/maps/map_header_banks.asm) +; - MapHeaderPointers (see data/maps/map_header_pointers.asm) +; - MapSongBanks (see data/maps/songs.asm) +; - MapHSPointers (see data/maps/hide_show_data.asm) +; - MapSpriteSets (see data/maps/sprite_sets.asm) +; - ExternalMapEntries (see data/maps/town_map_entries.asm) +; Each map also has associated data in maps.asm. const_def mapconst PALLET_TOWN, 9, 10 ; $00 mapconst VIRIDIAN_CITY, 18, 20 ; $01 diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm index 3a601dc2c..a53adfdc0 100644 --- a/constants/menu_constants.asm +++ b/constants/menu_constants.asm @@ -5,11 +5,11 @@ PC_ITEM_CAPACITY EQU 50 const_def 1 const MESSAGE_BOX ; $01 const_skip ; $02 - const_skip ; $03 + const MENU_TEMPLATE_03 ; $03 unused const FIELD_MOVE_MON_MENU ; $04 const JP_MOCHIMONO_MENU_TEMPLATE ; $05 const USE_TOSS_MENU_TEMPLATE ; $06 - const_skip ; $07 + const MENU_TEMPLATE_07 ; $07 unused const JP_SAVE_MESSAGE_MENU_TEMPLATE ; $08 const JP_SPEED_OPTIONS_MENU_TEMPLATE ; $09 const_skip ; $0a @@ -18,7 +18,7 @@ PC_ITEM_CAPACITY EQU 50 const LIST_MENU_BOX ; $0d const BUY_SELL_QUIT_MENU_TEMPLATE ; $0e const MONEY_BOX_TEMPLATE ; $0f - const_skip ; $10 + const MENU_TEMPLATE_10 ; $10 unused const MON_SPRITE_POPUP ; $11 const JP_AH_MENU_TEMPLATE ; $12 const MONEY_BOX ; $13 @@ -32,6 +32,7 @@ PC_ITEM_CAPACITY EQU 50 const SAFARI_BATTLE_MENU_TEMPLATE ; $1b ; two option menu constants +; TwoOptionMenuStrings indexes (see data/yes_no_menu_strings.asm) const_def const YES_NO_MENU ; 0 const NORTH_WEST_MENU ; 1 @@ -58,7 +59,7 @@ CHOSE_SECOND_ITEM EQU 2 const PARTY_TO_DAYCARE ; 3 ; party menu types -; PartyMenuMessagePointers indexes +; PartyMenuMessagePointers indexes (see engine/menus/party_menu.asm) const_def const NORMAL_PARTY_MENU ; $00 const USE_ITEM_PARTY_MENU ; $01 @@ -67,7 +68,7 @@ CHOSE_SECOND_ITEM EQU 2 const SWAP_MONS_PARTY_MENU ; $04 const EVO_STONE_PARTY_MENU ; $05 ; party menu message IDs -; PartyMenuItemUseMessagePointers indexes +; PartyMenuItemUseMessagePointers indexes (see engine/menus/party_menu.asm) const_next $F0 FIRST_PARTY_MENU_TEXT_ID EQU const_value const ANTIDOTE_MSG ; $F0 diff --git a/constants/move_animation_constants.asm b/constants/move_animation_constants.asm index 6f3839d68..f76175442 100644 --- a/constants/move_animation_constants.asm +++ b/constants/move_animation_constants.asm @@ -1,4 +1,5 @@ ; special effects that are part of move animations +; SpecialEffectPointers associates them with effect routines (see data/battle_anims/special_effect_pointers.asm) const_def $C0 FIRST_SE_ID EQU const_value const_skip $18 @@ -43,6 +44,7 @@ FIRST_SE_ID EQU const_value const SE_DARK_SCREEN_FLASH ; $FE used in Cut/Take Down/etc. ; subanimations that are part of move animations +; SubanimationPointers indexes (see data/battle_anims/subanimations.asm) const_def const SUBANIM_00 const SUBANIM_01 @@ -141,6 +143,7 @@ FIRST_SE_ID EQU const_value const SUBANIMTYPE_ENEMY ; frame blocks that are part of subanimations +; FrameBlockPointers indexes (see data/battle_anims/frame_blocks.asm) const_def const FRAMEBLOCK_00 const FRAMEBLOCK_01 @@ -266,6 +269,7 @@ FIRST_SE_ID EQU const_value const FRAMEBLOCK_79 ; base coordinates that are part of subanimations +; FrameBlockBaseCoords indexes (see data/battle_anims/base_coords.asm) const_def const BASECOORD_00 const BASECOORD_01 diff --git a/constants/move_constants.asm b/constants/move_constants.asm index 5dd06a416..ecc280788 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -1,3 +1,9 @@ +; move ids +; indexes for: +; - Moves (see data/moves/moves.asm) +; - MoveNames (see data/moves/names.asm) +; - AttackAnimationPointers (see data/moves/animations.asm) +; - MoveSoundTable (see data/moves/sfx.asm) const_def const NO_MOVE ; 00 const POUND ; 01 diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm index 8872ac3e3..5b81300ff 100644 --- a/constants/move_effect_constants.asm +++ b/constants/move_effect_constants.asm @@ -1,8 +1,8 @@ -; tentative move effect constants ; {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 +; {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 +; MoveEffectPointerTable indexes (see data/moves/effects_pointers.asm) const_def const NO_ADDITIONAL_EFFECT ; $00 const EFFECT_01 ; $01 unused diff --git a/constants/music_constants.asm b/constants/music_constants.asm index 3f3f111e6..fcca90051 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -1,4 +1,5 @@ ; Song ids are calculated by address to save space. +; SFX_Headers_(1|2|3) indexes (see audio/headers/*.asm) music_const: MACRO \1 EQUS "((\2 - SFX_Headers_1) / 3)" diff --git a/constants/palette_constants.asm b/constants/palette_constants.asm index c0c397ee9..fd5dd24b6 100755 --- a/constants/palette_constants.asm +++ b/constants/palette_constants.asm @@ -6,6 +6,7 @@ const BLACK ; pal/blk packets +; SetPalFunctions indexes (see engine/gfx/palettes.asm) const_def const SET_PAL_BATTLE_BLACK ; $00 const SET_PAL_BATTLE ; $01 @@ -26,6 +27,7 @@ SET_PAL_PARTY_MENU_HP_BARS EQU $fc SET_PAL_DEFAULT EQU $ff ; sgb palettes +; SuperPalettes indexes (see data/sgb/sgb_palettes.asm) const_def const PAL_ROUTE ; $00 const PAL_PALLET ; $01 diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index e462586ea..a805b261f 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -1,3 +1,8 @@ +; pokedex ids +; indexes for: +; - BaseStats (see data/pokemon/base_stats.asm) +; - MonPartyData (see data/pokemon/menu_icons.asm) +; - MonsterPalettes (see data/pokemon/palettes.asm) const_def 1 const DEX_BULBASAUR ; 1 const DEX_IVYSAUR ; 2 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 349e9359b..5a91f0f8a 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -1,3 +1,10 @@ +; pokemon ids +; indexes for: +; - MonsterNames (see data/pokemon/names.asm) +; - EvosMovesPointerTable (see data/pokemon/evos_moves.asm) +; - CryData (see data/pokemon/cries.asm) +; - PokedexOrder (see data/pokemon/dex_order.asm) +; - PokedexEntryPointers (see data/pokemon/dex_entries.asm) const_def const NO_MON ; $00 const RHYDON ; $01 diff --git a/constants/script_constants.asm b/constants/script_constants.asm index 018fb7f28..2b2a9b140 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -1,4 +1,4 @@ -; emotion bubbles +; EmotionBubblesPointerTable indexes (see engine/overworld/emotion_bubbles.asm) const_def const EXCLAMATION_BUBBLE ; 0 const QUESTION_BUBBLE ; 1 @@ -13,6 +13,7 @@ SLOTSBIRD EQU $1210 SLOTSMOUSE EQU $1614 ; in game trades +; TradeMons indexes (see data/events/trades.asm) const_def const TRADE_FOR_TERRY const TRADE_FOR_MARCEL @@ -26,6 +27,7 @@ SLOTSMOUSE EQU $1614 const TRADE_FOR_SPOT ; in game trade dialog sets +; InGameTradeTextPointers indexes (see engine/events/in_game_trades.asm) const_def const TRADE_DIALOGSET_CASUAL const TRADE_DIALOGSET_POLITE diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index dc8352de5..a43549963 100755 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -1,4 +1,5 @@ ; overworld sprites +; SpriteSheetPointerTable indexes (see data/sprites/sprites.asm) const_def const SPRITE_NONE ; $00 const SPRITE_RED ; $01 diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm index 33d59fcbf..954730812 100644 --- a/constants/tileset_constants.asm +++ b/constants/tileset_constants.asm @@ -1,3 +1,5 @@ +; tileset ids +; Tilesets indexes (see data/tilesets/tileset_headers.asm) const_def const OVERWORLD ; 0 const REDS_HOUSE_1 ; 1 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 8e29b7152..6fdc5d4e6 100755 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -5,6 +5,14 @@ trainer_const: MACRO OPP_\1 EQU OPP_ID_OFFSET + \1 ENDM +; trainer class ids +; indexes for: +; - TrainerNames (see data/trainers/names.asm) +; - TrainerNamePointers (see data/trainers/name_pointers.asm) +; - TrainerDataPointers (see data/trainers/parties.asm) +; - TrainerPicAndMoneyPointers (see data/trainers/pic_pointers_money.asm) +; - TrainerAIPointers (see data/trainers/ai_pointers.asm) +; - TrainerClassMoveChoiceModifications (see data/trainers/move_choices.asm) const_def trainer_const NOBODY ; $00 trainer_const YOUNGSTER ; $01 diff --git a/constants/type_constants.asm b/constants/type_constants.asm index 11fb33214..6ae3408dc 100755 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -1,3 +1,4 @@ +; TypeNames indexes (see data/types/names.asm) const_def PHYSICAL EQU const_value diff --git a/data/credits/credits_text.asm b/data/credits/credits_text.asm index a68c33d39..ded7f5d62 100755 --- a/data/credits/credits_text.asm +++ b/data/credits/credits_text.asm @@ -1,4 +1,5 @@ CreditsTextPointers: +; entries correspond to CRED_* constants dw CredVersion dw CredTajiri dw CredTaOota diff --git a/data/events/trades.asm b/data/events/trades.asm index a92ad2faf..7018c22fa 100755 --- a/data/events/trades.asm +++ b/data/events/trades.asm @@ -1,4 +1,5 @@ TradeMons: +; entries correspond to TRADE_FOR_* constants ; give mon, get mon, dialog id, nickname db NIDORINO, NIDORINA, TRADE_DIALOGSET_CASUAL, "TERRY@@@@@@" db ABRA, MR_MIME, TRADE_DIALOGSET_CASUAL, "MARCEL@@@@@" diff --git a/data/icon_pointers.asm b/data/icon_pointers.asm index 305dfcb12..79db936ec 100644 --- a/data/icon_pointers.asm +++ b/data/icon_pointers.asm @@ -2,36 +2,36 @@ mon_icon_header: MACRO dw \1 tile \2 db \3 db BANK(\1) - dw vSprites tile \4 + dw vSprites tile (\4) ENDM MonPartySpritePointers: ; gfx pointer, gfx tile offset, # tiles, vSprites tile offset - mon_icon_header MonsterSprite, 12, 4, $00 - mon_icon_header PokeBallSprite, 0, 8, $04 - mon_icon_header FairySprite, 12, 4, $0c - mon_icon_header BirdSprite, 12, 4, $10 - mon_icon_header SeelSprite, 0, 4, $14 - mon_icon_header BugIconFrame2, 0, 1, $18 - mon_icon_header BugIconFrame2, 1, 1, $1a - mon_icon_header PlantIconFrame2, 0, 1, $1c - mon_icon_header PlantIconFrame2, 1, 1, $1e - mon_icon_header SnakeIconFrame1, 0, 1, $20 - mon_icon_header SnakeIconFrame1, 1, 1, $22 - mon_icon_header QuadrupedIconFrame1, 0, 1, $24 - mon_icon_header QuadrupedIconFrame1, 1, 1, $26 - mon_icon_header TradeBubbleIconGFX, 0, 4, $38 - mon_icon_header MonsterSprite, 0, 4, $40 - mon_icon_header PokeBallSprite, 0, 8, $44 - mon_icon_header FairySprite, 0, 4, $4c - mon_icon_header BirdSprite, 0, 4, $50 - mon_icon_header SeelSprite, 12, 4, $54 - mon_icon_header BugIconFrame1, 0, 1, $58 - mon_icon_header BugIconFrame1, 1, 1, $5a - mon_icon_header PlantIconFrame1, 0, 1, $5c - mon_icon_header PlantIconFrame1, 1, 1, $5e - mon_icon_header SnakeIconFrame2, 0, 1, $60 - mon_icon_header SnakeIconFrame2, 1, 1, $62 - mon_icon_header QuadrupedIconFrame2, 0, 1, $64 - mon_icon_header QuadrupedIconFrame2, 1, 1, $66 - mon_icon_header TradeBubbleIconGFX, 4, 4, $78 + mon_icon_header MonsterSprite, 12, 4, ICON_MON << 2 + mon_icon_header PokeBallSprite, 0, 8, ICON_BALL << 2 + mon_icon_header FairySprite, 12, 4, ICON_FAIRY << 2 + mon_icon_header BirdSprite, 12, 4, ICON_BIRD << 2 + mon_icon_header SeelSprite, 0, 4, ICON_WATER << 2 + mon_icon_header BugIconFrame2, 0, 1, ICON_BUG << 2 + mon_icon_header BugIconFrame2, 1, 1, ICON_BUG << 2 + 2 + mon_icon_header PlantIconFrame2, 0, 1, ICON_GRASS << 2 + mon_icon_header PlantIconFrame2, 1, 1, ICON_GRASS << 2 + 2 + mon_icon_header SnakeIconFrame1, 0, 1, ICON_SNAKE << 2 + mon_icon_header SnakeIconFrame1, 1, 1, ICON_SNAKE << 2 + 2 + mon_icon_header QuadrupedIconFrame1, 0, 1, ICON_QUADRUPED << 2 + mon_icon_header QuadrupedIconFrame1, 1, 1, ICON_QUADRUPED << 2 + 2 + mon_icon_header TradeBubbleIconGFX, 0, 4, ICON_TRADEBUBBLE << 2 + mon_icon_header MonsterSprite, 0, 4, ICONOFFSET + ICON_MON << 2 + mon_icon_header PokeBallSprite, 0, 8, ICONOFFSET + ICON_BALL << 2 + mon_icon_header FairySprite, 0, 4, ICONOFFSET + ICON_FAIRY << 2 + mon_icon_header BirdSprite, 0, 4, ICONOFFSET + ICON_BIRD << 2 + mon_icon_header SeelSprite, 12, 4, ICONOFFSET + ICON_WATER << 2 + mon_icon_header BugIconFrame1, 0, 1, ICONOFFSET + ICON_BUG << 2 + mon_icon_header BugIconFrame1, 1, 1, ICONOFFSET + ICON_BUG << 2 + 2 + mon_icon_header PlantIconFrame1, 0, 1, ICONOFFSET + ICON_GRASS << 2 + mon_icon_header PlantIconFrame1, 1, 1, ICONOFFSET + ICON_GRASS << 2 + 2 + mon_icon_header SnakeIconFrame2, 0, 1, ICONOFFSET + ICON_SNAKE << 2 + mon_icon_header SnakeIconFrame2, 1, 1, ICONOFFSET + ICON_SNAKE << 2 + 2 + mon_icon_header QuadrupedIconFrame2, 0, 1, ICONOFFSET + ICON_QUADRUPED << 2 + mon_icon_header QuadrupedIconFrame2, 1, 1, ICONOFFSET + ICON_QUADRUPED << 2 + 2 + mon_icon_header TradeBubbleIconGFX, 4, 4, ICONOFFSET + ICON_TRADEBUBBLE << 2 diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm index f7276b8d1..fa0599f4e 100755 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -256,7 +256,7 @@ NoHS: db $FF, $FF, $FF MissableObjects: -; entries correspond to HS_* constants +; entries correspond to HS_* constants (see constants/hide_show_constants) ; format: map id, object id, HIDE/SHOW PalletTownHS: diff --git a/data/moves/effects_pointers.asm b/data/moves/effects_pointers.asm index 9858e82e3..a5e3d852f 100644 --- a/data/moves/effects_pointers.asm +++ b/data/moves/effects_pointers.asm @@ -1,4 +1,5 @@ MoveEffectPointerTable: +; entries correspond to *_EFFECT constants dw SleepEffect ; EFFECT_01 dw PoisonEffect ; POISON_SIDE_EFFECT1 dw DrainHPEffect ; DRAIN_HP_EFFECT diff --git a/data/moves/field_move_names.asm b/data/moves/field_move_names.asm new file mode 100644 index 000000000..b68ed828b --- /dev/null +++ b/data/moves/field_move_names.asm @@ -0,0 +1,10 @@ +FieldMoveNames: + db "CUT@" + db "FLY@" + db "@" + db "SURF@" + db "STRENGTH@" + db "FLASH@" + db "DIG@" + db "TELEPORT@" + db "SOFTBOILED@" diff --git a/data/moves/field_moves.asm b/data/moves/field_moves.asm new file mode 100644 index 000000000..d7e9219b4 --- /dev/null +++ b/data/moves/field_moves.asm @@ -0,0 +1,14 @@ +FieldMoveDisplayData: + ; move id, FieldMoveNames index, leftmost tile + ; (leftmost tile = -1 + tile column in which the first + ; letter of the move's name should be displayed) + db CUT, 1, $0C + db FLY, 2, $0C + db ANIM_B4, 3, $0C ; unused + db SURF, 4, $0C + db STRENGTH, 5, $0A + db FLASH, 6, $0C + db DIG, 7, $0C + db TELEPORT, 8, $0A + db SOFTBOILED, 9, $08 + db -1 ; end diff --git a/data/sgb/sgb_palettes.asm b/data/sgb/sgb_palettes.asm index 056ac8b9e..7029b4e8a 100755 --- a/data/sgb/sgb_palettes.asm +++ b/data/sgb/sgb_palettes.asm @@ -1,4 +1,5 @@ SuperPalettes: +; entries correspond to PAL_* constants RGB 31,29,31, 21,28,11, 20,26,31, 03,02,02 ; PAL_ROUTE RGB 31,29,31, 25,28,27, 20,26,31, 03,02,02 ; PAL_PALLET RGB 31,29,31, 17,26,03, 20,26,31, 03,02,02 ; PAL_VIRIDIAN diff --git a/data/text_boxes.asm b/data/text_boxes.asm new file mode 100644 index 000000000..34e6a4147 --- /dev/null +++ b/data/text_boxes.asm @@ -0,0 +1,88 @@ +TextBoxFunctionTable: + ; text box ID, function address + dbw MONEY_BOX, DisplayMoneyBox + dbw BUY_SELL_QUIT_MENU, DoBuySellQuitMenu + dbw FIELD_MOVE_MON_MENU, DisplayFieldMoveMonMenu + db -1 ; end + +TextBoxCoordTable: + ; text box ID, upper-left X, upper-left Y, lower-right X, lower-right Y + db MESSAGE_BOX, 0, 12, 19, 17 + db MENU_TEMPLATE_03, 0, 0, 19, 14 + db MENU_TEMPLATE_07, 0, 0, 11, 6 + db LIST_MENU_BOX, 4, 2, 19, 12 + db MENU_TEMPLATE_10, 7, 0, 19, 17 + db MON_SPRITE_POPUP, 6, 4, 14, 13 + db -1 ; end + +text_box_text: MACRO + db \1 ; text box ID + db \2, \3, \4, \5 ; text box coordinates + dw \6 ; text pointer + db \7, \8 ; text coordinates +ENDM + +TextBoxTextAndCoordTable: + ; text box ID, upper-left X, upper-left Y, lower-right X, lower-right Y, text pointer, text X, text Y + text_box_text JP_MOCHIMONO_MENU_TEMPLATE, 0, 0, 14, 17, JapaneseMochimonoText, 3, 0 + text_box_text USE_TOSS_MENU_TEMPLATE, 13, 10, 19, 14, UseTossText, 15, 11 + text_box_text JP_SAVE_MESSAGE_MENU_TEMPLATE, 0, 0, 7, 5, JapaneseSaveMessageText, 2, 2 + text_box_text JP_SPEED_OPTIONS_MENU_TEMPLATE, 0, 6, 5, 10, JapaneseSpeedOptionsText, 2, 7 + text_box_text BATTLE_MENU_TEMPLATE, 8, 12, 19, 17, BattleMenuText, 10, 14 + text_box_text SAFARI_BATTLE_MENU_TEMPLATE, 0, 12, 19, 17, SafariZoneBattleMenuText, 2, 14 + text_box_text SWITCH_STATS_CANCEL_MENU_TEMPLATE, 11, 11, 19, 17, SwitchStatsCancelText, 13, 12 + text_box_text BUY_SELL_QUIT_MENU_TEMPLATE, 0, 0, 10, 6, BuySellQuitText, 2, 1 + text_box_text MONEY_BOX_TEMPLATE, 11, 0, 19, 2, MoneyText, 13, 0 + text_box_text JP_AH_MENU_TEMPLATE, 7, 6, 11, 10, JapaneseAhText, 8, 8 + text_box_text JP_POKEDEX_MENU_TEMPLATE, 11, 8, 19, 17, JapanesePokedexMenu, 12, 10 + +BuySellQuitText: + db "BUY" + next "SELL" + next "QUIT@" + + db "@" ; unused + +UseTossText: + db "USE" + next "TOSS@" + +JapaneseSaveMessageText: + db "きろく" + next "メッセージ@" + +JapaneseSpeedOptionsText: + db "はやい" + next "おそい@" + +MoneyText: + db "MONEY@" + +JapaneseMochimonoText: + db "もちもの@" + +JapaneseMainMenuText: + db "つづきから" + next "さいしょから@" + +BattleMenuText: + db "FIGHT " + next "ITEM RUN@" + +SafariZoneBattleMenuText: + db "BALL× BAIT" + next "THROW ROCK RUN@" + +SwitchStatsCancelText: + db "SWITCH" + next "STATS" + next "CANCEL@" + +JapaneseAhText: + db "アッ!@" + +JapanesePokedexMenu: + db "データをみる" + next "なきごえ" + next "ぶんぷをみる" + next "キャンセル@" diff --git a/data/yes_no_menu_strings.asm b/data/yes_no_menu_strings.asm new file mode 100644 index 000000000..db2eeb4c6 --- /dev/null +++ b/data/yes_no_menu_strings.asm @@ -0,0 +1,44 @@ +two_option_menu: MACRO + db \1, \2, \3 + dw \4 +ENDM + +TwoOptionMenuStrings: +; entries correspond to *_MENU constants + ; width, height, blank line before first menu item?, text pointer + two_option_menu 4, 3, FALSE, .YesNoMenu + two_option_menu 6, 3, FALSE, .NorthWestMenu + two_option_menu 6, 3, FALSE, .SouthEastMenu + two_option_menu 6, 3, FALSE, .YesNoMenu + two_option_menu 6, 3, FALSE, .NorthEastMenu + two_option_menu 7, 3, FALSE, .TradeCancelMenu + two_option_menu 7, 4, TRUE, .HealCancelMenu + two_option_menu 4, 3, FALSE, .NoYesMenu + +.NoYesMenu: + db "NO" + next "YES@" + +.YesNoMenu: + db "YES" + next "NO@" + +.NorthWestMenu: + db "NORTH" + next "WEST@" + +.SouthEastMenu: + db "SOUTH" + next "EAST@" + +.NorthEastMenu: + db "NORTH" + next "EAST@" + +.TradeCancelMenu: + db "TRADE" + next "CANCEL@" + +.HealCancelMenu: + db "HEAL" + next "CANCEL@" diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 85019fa15..e10b5e0d7 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -848,8 +848,8 @@ TradeShakePokeball: jp PlaySound BallMoveDistances1: - db -12,-12,-8 - db $ff ; terminator + db -12, -12, -8 + db -1 ; end ; function to make the pokeball jump up TradeJumpPokeball: @@ -889,8 +889,8 @@ TradeJumpPokeball: jr .loop BallMoveDistances2: - db 11,12,-12,-7,7,12,-8,8 - db $ff ; terminator + db 11, 12, -12, -7, 7, 12, -8, 8 + db -1 ; end ; this function copies the current musical note graphic ; so that there are two musical notes flying towards the defending pokemon @@ -1522,7 +1522,7 @@ SpiralBallAnimationCoordinates: db $58, $28 db $50, $30 db $50, $28 - db $FF ; list terminator + db -1 ; end AnimationSquishMonPic: ; Squishes the mon's sprite horizontally making it @@ -1677,13 +1677,13 @@ UpwardBallsAnimXCoordinatesPlayerTurn: ; List of x coordinates for each pillar of "energy" balls in the ; AnimationShootManyBallsUpward animation. It's unused in the game. db $10, $40, $28, $18, $38, $30 - db $FF ; list terminator + db -1 ; end UpwardBallsAnimXCoordinatesEnemyTurn: ; List of x coordinates for each pillar of "energy" balls in the ; AnimationShootManyBallsUpward animation. It's unused in the game. db $60, $90, $78, $68, $88, $80 - db $FF ; list terminator + db -1 ; end AnimationMinimizeMon: ; Changes the mon's sprite to a mini black sprite. Used by the diff --git a/engine/events/in_game_trades.asm b/engine/events/in_game_trades.asm index 8a29d6a47..c69516157 100755 --- a/engine/events/in_game_trades.asm +++ b/engine/events/in_game_trades.asm @@ -233,6 +233,7 @@ InGameTrade_TrainerString: db "@@@@@@@@@@" InGameTradeTextPointers: +; entries correspond to TRADE_DIALOGSET_* constants dw TradeTextPointers1 dw TradeTextPointers2 dw TradeTextPointers3 diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm index 8dd6fe758..164096402 100755 --- a/engine/gfx/mon_icons.asm +++ b/engine/gfx/mon_icons.asm @@ -55,11 +55,11 @@ GetAnimationSpeed: ld bc, $10 ld a, [wCurrentMenuItem] call AddNTimes - ld c, $40 ; amount to increase the tile id by + ld c, ICONOFFSET ld a, [hl] - cp $4 ; tile ID for ICON_BALL + cp ICON_BALL << 2 jr z, .editCoords - cp $8 ; tile ID for ICON_HELIX + cp ICON_HELIX << 2 jr nz, .editTileIDS ; ICON_BALL and ICON_HELIX only shake up and down .editCoords @@ -274,7 +274,7 @@ GetPartyMonSpriteID: swap a ; use lower nybble if pokedex num is even .skipSwap and $f0 - srl a + srl a ; value == ICON constant << 2 srl a ret diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index 618e48b30..f2019e85f 100755 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -241,6 +241,7 @@ SetPal_TrainerCard: ret SetPalFunctions: +; entries correspond to SET_PAL_* constants dw SetPal_BattleBlack dw SetPal_Battle dw SetPal_TownMap diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index a8ff1e062..05f8038f3 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -16,6 +16,7 @@ UseItem_:: jp hl ItemUsePtrTable: +; entries correspond to item ids dw ItemUseBall ; MASTER_BALL dw ItemUseBall ; ULTRA_BALL dw ItemUseBall ; GREAT_BALL @@ -1808,23 +1809,17 @@ WakeUpEntireParty: jr nz, .loop ret -; Format: -; 00: Y -; 01: X Route12SnorlaxFluteCoords: - db 62,9 ; one space West of Snorlax - db 61,10 ; one space North of Snorlax - db 63,10 ; one space South of Snorlax - db 62,11 ; one space East of Snorlax - db $ff ; terminator + dbmapcoord 9, 62 ; one space West of Snorlax + dbmapcoord 10, 61 ; one space North of Snorlax + dbmapcoord 10, 63 ; one space South of Snorlax + dbmapcoord 11, 62 ; one space East of Snorlax + db -1 ; end -; Format: -; 00: Y -; 01: X Route16SnorlaxFluteCoords: - db 10,27 ; one space East of Snorlax - db 10,25 ; one space West of Snorlax - db $ff ; terminator + dbmapcoord 27, 10 ; one space East of Snorlax + dbmapcoord 25, 10 ; one space West of Snorlax + db -1 ; end PlayedFluteNoEffectText: text_far _PlayedFluteNoEffectText diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 3ecd99b1c..95404cce8 100755 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -678,11 +678,11 @@ SetCursorPositionsFromOptions: ; 00: X coordinate of menu cursor ; 01: delay after printing a letter (in frames) TextSpeedOptionData: - db 14,5 ; Slow - db 7,3 ; Medium - db 1,1 ; Fast + db 14, 5 ; Slow + db 7, 3 ; Medium + db 1, 1 ; Fast db 7 ; default X coordinate (Medium) - db $ff ; terminator + db -1 ; end CheckForPlayerNameInSRAM: ; Check if the player name data in SRAM has a string terminator character diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index 34c1aad39..9347212eb 100755 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -231,10 +231,10 @@ DisplayNamingScreen: ld [wNamingScreenLetter], a call CalcStringLength ld a, [wNamingScreenLetter] - cp $e5 + cp "゙" ld de, Dakutens jr z, .dakutensAndHandakutens - cp $e4 + cp "゚" ld de, Handakutens jr z, .dakutensAndHandakutens ld a, [wNamingScreenType] diff --git a/engine/menus/text_box.asm b/engine/menus/text_box.asm index 2e69c5a4f..5253ec487 100644 --- a/engine/menus/text_box.asm +++ b/engine/menus/text_box.asm @@ -125,148 +125,7 @@ GetAddressOfScreenCoords: add hl, de ret -; Format: -; 00: text box ID -; 01-02: function address -TextBoxFunctionTable: - dbw MONEY_BOX, DisplayMoneyBox - dbw BUY_SELL_QUIT_MENU, DoBuySellQuitMenu - dbw FIELD_MOVE_MON_MENU, DisplayFieldMoveMonMenu - db $ff ; terminator - -; Format: -; 00: text box ID -; 01: column of upper left corner -; 02: row of upper left corner -; 03: column of lower right corner -; 04: row of lower right corner -TextBoxCoordTable: - db MESSAGE_BOX, 0, 12, 19, 17 - db $03, 0, 0, 19, 14 - db $07, 0, 0, 11, 6 - db LIST_MENU_BOX, 4, 2, 19, 12 - db $10, 7, 0, 19, 17 - db MON_SPRITE_POPUP, 6, 4, 14, 13 - db $ff ; terminator - -; Format: -; 00: text box ID -; 01: column of upper left corner -; 02: row of upper left corner -; 03: column of lower right corner -; 04: row of lower right corner -; 05-06: address of text -; 07: column of beginning of text -; 08: row of beginning of text -; table of window positions and corresponding text [key, start column, start row, end column, end row, text pointer [2 bytes], text column, text row] -TextBoxTextAndCoordTable: - db JP_MOCHIMONO_MENU_TEMPLATE - db 0,0,14,17 ; text box coordinates - dw JapaneseMochimonoText - db 3,0 ; text coordinates - - db USE_TOSS_MENU_TEMPLATE - db 13,10,19,14 ; text box coordinates - dw UseTossText - db 15,11 ; text coordinates - - db JP_SAVE_MESSAGE_MENU_TEMPLATE - db 0,0,7,5 ; text box coordinates - dw JapaneseSaveMessageText - db 2,2 ; text coordinates - - db JP_SPEED_OPTIONS_MENU_TEMPLATE - db 0,6,5,10 ; text box coordinates - dw JapaneseSpeedOptionsText - db 2,7 ; text coordinates - - db BATTLE_MENU_TEMPLATE - db 8,12,19,17 ; text box coordinates - dw BattleMenuText - db 10,14 ; text coordinates - - db SAFARI_BATTLE_MENU_TEMPLATE - db 0,12,19,17 ; text box coordinates - dw SafariZoneBattleMenuText - db 2,14 ; text coordinates - - db SWITCH_STATS_CANCEL_MENU_TEMPLATE - db 11,11,19,17 ; text box coordinates - dw SwitchStatsCancelText - db 13,12 ; text coordinates - - db BUY_SELL_QUIT_MENU_TEMPLATE - db 0,0,10,6 ; text box coordinates - dw BuySellQuitText - db 2,1 ; text coordinates - - db MONEY_BOX_TEMPLATE - db 11,0,19,2 ; text box coordinates - dw MoneyText - db 13,0 ; text coordinates - - db JP_AH_MENU_TEMPLATE - db 7,6,11,10 ; text box coordinates - dw JapaneseAhText - db 8,8 ; text coordinates - - db JP_POKEDEX_MENU_TEMPLATE - db 11,8,19,17 ; text box coordinates - dw JapanesePokedexMenu - db 12,10 ; text coordinates - -; note that there is no terminator - -BuySellQuitText: - db "BUY" - next "SELL" - next "QUIT@" - - db "@" ; unused - -UseTossText: - db "USE" - next "TOSS@" - -JapaneseSaveMessageText: - db "きろく" - next "メッセージ@" - -JapaneseSpeedOptionsText: - db "はやい" - next "おそい@" - -MoneyText: - db "MONEY@" - -JapaneseMochimonoText: - db "もちもの@" - -JapaneseMainMenuText: - db "つづきから" - next "さいしょから@" - -BattleMenuText: - db "FIGHT " - next "ITEM RUN@" - -SafariZoneBattleMenuText: - db "BALL× BAIT" - next "THROW ROCK RUN@" - -SwitchStatsCancelText: - db "SWITCH" - next "STATS" - next "CANCEL@" - -JapaneseAhText: - db "アッ!@" - -JapanesePokedexMenu: - db "データをみる" - next "なきごえ" - next "ぶんぷをみる" - next "キャンセル@" +INCLUDE "data/text_boxes.asm" DisplayMoneyBox: ld hl, wd730 @@ -518,50 +377,7 @@ TwoOptionMenu_RestoreScreenTiles: call UpdateSprites ret -; Format: -; 00: byte width -; 01: byte height -; 02: byte put blank line before first menu item -; 03: word text pointer -TwoOptionMenuStrings: - db 4,3,0 - dw .YesNoMenu - db 6,3,0 - dw .NorthWestMenu - db 6,3,0 - dw .SouthEastMenu - db 6,3,0 - dw .YesNoMenu - db 6,3,0 - dw .NorthEastMenu - db 7,3,0 - dw .TradeCancelMenu - db 7,4,1 - dw .HealCancelMenu - db 4,3,0 - dw .NoYesMenu - -.NoYesMenu - db "NO" - next "YES@" -.YesNoMenu - db "YES" - next "NO@" -.NorthWestMenu - db "NORTH" - next "WEST@" -.SouthEastMenu - db "SOUTH" - next "EAST@" -.NorthEastMenu - db "NORTH" - next "EAST@" -.TradeCancelMenu - db "TRADE" - next "CANCEL@" -.HealCancelMenu - db "HEAL" - next "CANCEL@" +INCLUDE "data/yes_no_menu_strings.asm" DisplayFieldMoveMonMenu: xor a @@ -683,16 +499,7 @@ DisplayFieldMoveMonMenu: ld de, PokemonMenuEntries jp PlaceString -FieldMoveNames: - db "CUT@" - db "FLY@" - db "@" - db "SURF@" - db "STRENGTH@" - db "FLASH@" - db "DIG@" - db "TELEPORT@" - db "SOFTBOILED@" +INCLUDE "data/moves/field_move_names.asm" PokemonMenuEntries: db "STATS" @@ -751,19 +558,4 @@ GetMonFieldMoves: pop hl ret -; Format: [Move id], [name index], [leftmost tile] -; Move id = id of move -; Name index = index of name in FieldMoveNames -; Leftmost tile = -1 + tile column in which the first letter of the move's name should be displayed -; "SOFTBOILED" is $08 because it has 4 more letters than "SURF", for example, whose value is $0C -FieldMoveDisplayData: - db CUT, $01, $0C - db FLY, $02, $0C - db $B4, $03, $0C ; unused field move - db SURF, $04, $0C - db STRENGTH, $05, $0A - db FLASH, $06, $0C - db DIG, $07, $0C - db TELEPORT, $08, $0A - db SOFTBOILED, $09, $08 - db $ff ; list terminator +INCLUDE "data/moves/field_moves.asm" diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index fa84e01da..bb06f231f 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -604,7 +604,7 @@ Trade_AnimCircledMon: ld c, $14 .loop ld a, [hl] - xor $40 + xor ICONOFFSET ld [hl], a add hl, de dec c @@ -710,20 +710,20 @@ Trade_CircleOAMPointers: trade_circle_oam Trade_CircleOAM3, $18, $18 Trade_CircleOAM0: - dbsprite 2, 7, 0, 0, $39, OAM_OBP1 - dbsprite 2, 7, 0, 2, $3b, OAM_OBP1 + dbsprite 2, 7, 0, 0, ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1 + dbsprite 2, 7, 0, 2, ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1 Trade_CircleOAM1: - dbsprite 6, 7, 0, 1, $38, OAM_OBP1 | OAM_HFLIP - dbsprite 6, 7, 0, 3, $3a, OAM_OBP1 | OAM_HFLIP + dbsprite 6, 7, 0, 1, ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1 | OAM_HFLIP + dbsprite 6, 7, 0, 3, ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1 | OAM_HFLIP Trade_CircleOAM2: - dbsprite 10, 7, 0, 2, $3b, OAM_OBP1 | OAM_VFLIP - dbsprite 10, 7, 0, 0, $39, OAM_OBP1 | OAM_VFLIP + dbsprite 10, 7, 0, 2, ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1 | OAM_VFLIP + dbsprite 10, 7, 0, 0, ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1 | OAM_VFLIP Trade_CircleOAM3: - dbsprite 14, 7, 0, 3, $3a, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP - dbsprite 14, 7, 0, 1, $38, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP + dbsprite 14, 7, 0, 3, ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP + dbsprite 14, 7, 0, 1, ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP ; a = species Trade_LoadMonSprite: diff --git a/engine/overworld/emotion_bubbles.asm b/engine/overworld/emotion_bubbles.asm index 0315687d5..5a41c226e 100755 --- a/engine/overworld/emotion_bubbles.asm +++ b/engine/overworld/emotion_bubbles.asm @@ -62,6 +62,7 @@ EmotionBubble: jp UpdateSprites EmotionBubblesPointerTable: +; entries correspond to *_BUBBLE constants dw ShockEmote dw QuestionEmote dw HappyEmote diff --git a/home/list_menu.asm b/home/list_menu.asm index f8ddeeef9..c856e91d6 100644 --- a/home/list_menu.asm +++ b/home/list_menu.asm @@ -34,7 +34,7 @@ DisplayListMenuID:: hlcoord 4, 2 ; coordinates of upper left corner of menu text box lb de, 9, 14 ; height and width of menu text box ld a, [wListMenuID] - and a ; is it a PC pokemon list? + and a ; PCPOKEMONLISTMENU? jr nz, .skipMovingSprites call UpdateSprites .skipMovingSprites @@ -126,7 +126,7 @@ DisplayListMenuIDLoop:: ld a, [hl] ld [wcf91], a ld a, [wListMenuID] - and a ; is it a PC pokemon list? + and a ; PCPOKEMONLISTMENU? jr z, .pokemonList push hl call GetItemPrice @@ -374,7 +374,7 @@ PrintListMenuEntries:: push hl push de ld a, [wListMenuID] - and a + and a ; PCPOKEMONLISTMENU? jr z, .pokemonPCMenu cp MOVESLISTMENU jr z, .movesMenu @@ -422,7 +422,7 @@ PrintListMenuEntries:: call PrintBCDNumber .skipPrintingItemPrice ld a, [wListMenuID] - and a + and a ; PCPOKEMONLISTMENU? jr nz, .skipPrintingPokemonLevel .printPokemonLevel ld a, [wd11e] diff --git a/home/names2.asm b/home/names2.asm index 8f539c311..71f6c6466 100644 --- a/home/names2.asm +++ b/home/names2.asm @@ -1,4 +1,5 @@ NamePointers:: +; entries correspond to *_NAME constants dw MonsterNames dw MoveNames dw UnusedNames