Merge pull request #281 from Rangi42/master

Add comments associating constants with data, and identify some more data
This commit is contained in:
Rangi 2020-07-20 13:22:32 -04:00 committed by GitHub
commit 3e554e1d52
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
45 changed files with 318 additions and 299 deletions

View file

@ -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

View file

@ -1,3 +1,4 @@
; CreditsTextPointers indexes (see data/credits/credits_text.asm)
const_def
const CRED_VERSION ; $00
const CRED_TAJIRI ; $01

View file

@ -1,3 +1,5 @@
; wEventFlags bit flags
; Pallet Town events
const_def
const EVENT_FOLLOWED_OAK_INTO_LAB

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,3 +1,4 @@
; joypad buttons
const_def
const BIT_A_BUTTON
const BIT_B_BUTTON

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)"

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,4 +1,5 @@
; overworld sprites
; SpriteSheetPointerTable indexes (see data/sprites/sprites.asm)
const_def
const SPRITE_NONE ; $00
const SPRITE_RED ; $01

View file

@ -1,3 +1,5 @@
; tileset ids
; Tilesets indexes (see data/tilesets/tileset_headers.asm)
const_def
const OVERWORLD ; 0
const REDS_HOUSE_1 ; 1

View file

@ -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

View file

@ -1,3 +1,4 @@
; TypeNames indexes (see data/types/names.asm)
const_def
PHYSICAL EQU const_value

View file

@ -1,4 +1,5 @@
CreditsTextPointers:
; entries correspond to CRED_* constants
dw CredVersion
dw CredTajiri
dw CredTaOota

View file

@ -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@@@@@"

View file

@ -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

View file

@ -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:

View file

@ -1,4 +1,5 @@
MoveEffectPointerTable:
; entries correspond to *_EFFECT constants
dw SleepEffect ; EFFECT_01
dw PoisonEffect ; POISON_SIDE_EFFECT1
dw DrainHPEffect ; DRAIN_HP_EFFECT

View file

@ -0,0 +1,10 @@
FieldMoveNames:
db "CUT@"
db "FLY@"
db "@"
db "SURF@"
db "STRENGTH@"
db "FLASH@"
db "DIG@"
db "TELEPORT@"
db "SOFTBOILED@"

View file

@ -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

View file

@ -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

88
data/text_boxes.asm Normal file
View file

@ -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 <PK><MN>"
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 "キャンセル@"

View file

@ -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@"

View file

@ -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

View file

@ -233,6 +233,7 @@ InGameTrade_TrainerString:
db "<TRAINER>@@@@@@@@@@"
InGameTradeTextPointers:
; entries correspond to TRADE_DIALOGSET_* constants
dw TradeTextPointers1
dw TradeTextPointers2
dw TradeTextPointers3

View file

@ -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

View file

@ -241,6 +241,7 @@ SetPal_TrainerCard:
ret
SetPalFunctions:
; entries correspond to SET_PAL_* constants
dw SetPal_BattleBlack
dw SetPal_Battle
dw SetPal_TownMap

View file

@ -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

View file

@ -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

View file

@ -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]

View file

@ -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 <PK><MN>"
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"

View file

@ -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:

View file

@ -62,6 +62,7 @@ EmotionBubble:
jp UpdateSprites
EmotionBubblesPointerTable:
; entries correspond to *_BUBBLE constants
dw ShockEmote
dw QuestionEmote
dw HappyEmote

View file

@ -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]

View file

@ -1,4 +1,5 @@
NamePointers::
; entries correspond to *_NAME constants
dw MonsterNames
dw MoveNames
dw UnusedNames