summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--constants/predef_constants.asm2
-rw-r--r--engine/bank3d/main.asm14
-rwxr-xr-xengine/battle/animations.asm2
-rwxr-xr-xengine/hall_of_fame.asm4
-rwxr-xr-xengine/intro.asm8
-rwxr-xr-xengine/menu/diploma.asm2
-rwxr-xr-xengine/menu/main_menu.asm4
-rwxr-xr-xengine/menu/start_menu.asm1
-rwxr-xr-xengine/menu/start_sub_menus.asm107
-rwxr-xr-xengine/overworld/map_sprites.asm6
-rwxr-xr-xengine/predefs.asm2
-rwxr-xr-xengine/slot_machine.asm6
-rwxr-xr-xengine/trade.asm4
-rw-r--r--home/play_time.asm32
-rw-r--r--home/vblank.asm11
-rwxr-xr-xwram.asm8
-rwxr-xr-xyellow/main.asm19
17 files changed, 115 insertions, 117 deletions
diff --git a/constants/predef_constants.asm b/constants/predef_constants.asm
index 425c7b67..0adba76a 100644
--- a/constants/predef_constants.asm
+++ b/constants/predef_constants.asm
@@ -59,7 +59,7 @@ const_value = 0
predef_const InternalClockTradeAnim
predef_const TrainerEngage
predef_const IndexToPokedex
- predef_const Predef3B; 3B display pic?
+ predef_const DisplayPicCenteredOrUpperRight; 3B display pic?
predef_const UsedCut
predef_const ShowPokedexData
predef_const WriteMonMoves
diff --git a/engine/bank3d/main.asm b/engine/bank3d/main.asm
index c64dd26f..0c4c3544 100644
--- a/engine/bank3d/main.asm
+++ b/engine/bank3d/main.asm
@@ -455,7 +455,7 @@ Text_f5b28:: ; f5b28 (3d:5b28)
TX_FAR _CanMoveBouldersText ; 2d:4193
db "@"
-Func_f5b2d:: ; f5b2d (3d:5b2d)
+CheckForForcedBikeSurf:: ; f5b2d (3d:5b2d)
ld hl,wd728
set 1,[hl]
ld a,[wd732]
@@ -464,32 +464,30 @@ Func_f5b2d:: ; f5b2d (3d:5b2d)
ld a,[wCurMap]
cp SEAFOAM_ISLANDS_5
ret nz
- ld a,[wd881]
- and $3
- cp $3
+ CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE
ret z
ld hl,CoordsData_f5b64
call ArePlayerCoordsInArray
ret nc
ld hl,wd728
res 1,[hl]
- ld hl,Text_f5b67
+ ld hl,CurrentTooFastText
jp PrintText
.asm_f5b59
ld hl,wd728
res 1,[hl]
- ld hl,Text_f5b6c
+ ld hl,CyclingIsFunText
jp PrintText
CoordsData_f5b64:: ; f5b64 (3d:5b64)
db 11,07
db $ff
-Text_f5b67:: ; f5b67 (3d:5b67)
+CurrentTooFastText:: ; f5b67 (3d:5b67)
TX_FAR _CurrentTooFastText ; 2d:41ab
db "@"
-Text_f5b6c:: ; f5b6c (3d:5b6c)
+CyclingIsFunText:: ; f5b6c (3d:5b6c)
TX_FAR _CyclingIsFunText ; 2d:41ca
db "@"
diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm
index f0f5c6d3..ab518c77 100755
--- a/engine/battle/animations.asm
+++ b/engine/battle/animations.asm
@@ -2082,7 +2082,7 @@ AnimationSubstitute: ; 796e0 (1e:56e0)
CopySlowbroSpriteData: ; 7973f (1e:573f)
ld bc, $0010
ld a, BANK(SlowbroSprite)
- jp FarCopyData2
+ jp FarCopyData
HideSubstituteShowMonAnim: ; 79747 (1e:5747)
ld a, [H_WHOSETURN]
diff --git a/engine/hall_of_fame.asm b/engine/hall_of_fame.asm
index 3db51e05..485ab182 100755
--- a/engine/hall_of_fame.asm
+++ b/engine/hall_of_fame.asm
@@ -239,12 +239,12 @@ HoFDisplayPlayerStats: ; 703d1 (1c:43d1)
ld de, HoFPlayTimeText
call PlaceString
coord hl, 5, 7
- ld de, W_PLAYTIMEHOURS + 1
+ ld de, wPlayTimeHours + 1
lb bc, 1, 3
call PrintNumber
ld [hl], $6d
inc hl
- ld de, W_PLAYTIMEMINUTES + 1
+ ld de, wPlayTimeMinutes + 1
lb bc, LEADING_ZEROES | 1, 2
call PrintNumber
coord hl, 1, 9
diff --git a/engine/intro.asm b/engine/intro.asm
index 5a14dca7..bc795d5d 100755
--- a/engine/intro.asm
+++ b/engine/intro.asm
@@ -284,22 +284,22 @@ LoadIntroGraphics: ; 41852 (10:5852)
ld de, vChars2
ld bc, FightIntroBackMonEnd - FightIntroBackMon
ld a, BANK(FightIntroBackMon)
- call FarCopyData2
+ call FarCopyData
ld hl, GameFreakIntro
ld de, vChars2 + $600
ld bc, GameFreakIntroEnd - GameFreakIntro
ld a, BANK(GameFreakIntro)
- call FarCopyData2
+ call FarCopyData
ld hl, GameFreakIntro
ld de, vChars1
ld bc, GameFreakIntroEnd - GameFreakIntro
ld a, BANK(GameFreakIntro)
- call FarCopyData2
+ call FarCopyData
ld hl, FightIntroFrontMon
ld de, vChars0
ld bc, FightIntroFrontMonEnd - FightIntroFrontMon
ld a, BANK(FightIntroFrontMon)
- jp FarCopyData2
+ jp FarCopyData
PlayShootingStar: ; 4188a (10:588a)
ld b, SET_PAL_GAME_FREAK_INTRO
diff --git a/engine/menu/diploma.asm b/engine/menu/diploma.asm
index 630c6c23..cb6e6e03 100755
--- a/engine/menu/diploma.asm
+++ b/engine/menu/diploma.asm
@@ -11,7 +11,7 @@ DisplayDiploma: ; 566e2 (15:66e2)
ld de, vChars2 + $700
ld bc, $0010
ld a, BANK(CircleTile)
- call FarCopyData2
+ call FarCopyData
coord hl, 0, 0
lb bc, 16, 18
predef Diploma_TextBoxBorder
diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm
index 9a32ff74..9a7b8de7 100755
--- a/engine/menu/main_menu.asm
+++ b/engine/menu/main_menu.asm
@@ -247,12 +247,12 @@ PrintNumOwnedMons: ; 5daa (1:5daa)
jp PrintNumber
PrintPlayTime: ; 5dbd (1:5dbd)
- ld de, W_PLAYTIMEHOURS + 1
+ ld de, wPlayTimeHours + 1
lb bc, 1, 3
call PrintNumber
ld [hl], $6d
inc hl
- ld de, W_PLAYTIMEMINUTES + 1
+ ld de, wPlayTimeMinutes + 1
lb bc, LEADING_ZEROES | 1, 2
jp PrintNumber
diff --git a/engine/menu/start_menu.asm b/engine/menu/start_menu.asm
index adedc263..8a9ad229 100755
--- a/engine/menu/start_menu.asm
+++ b/engine/menu/start_menu.asm
@@ -7,6 +7,7 @@ DisplayStartMenu:: ; 29d1 (0:29d1)
RedisplayStartMenu:: ; 29e1 (0:29e1)
callba DrawStartMenu
+RedisplayStartMenu_DoNotDrawStartMenu: ; 29e9 (0:29e9)
callba PrintSafariZoneSteps ; print Safari Zone info, if in Safari Zone
call UpdateSprites
.loop
diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm
index dcbee277..e2491253 100755
--- a/engine/menu/start_sub_menus.asm
+++ b/engine/menu/start_sub_menus.asm
@@ -1,4 +1,4 @@
-StartMenu_Pokedex: ; 13095 (4:7095)
+StartMenu_Pokedex: ; 11c22 (4:5c22)
predef ShowPokedexMenu
call LoadScreenTilesFromBuffer2 ; restore saved screen
call Delay3
@@ -6,7 +6,7 @@ StartMenu_Pokedex: ; 13095 (4:7095)
call UpdateSprites
jp RedisplayStartMenu
-StartMenu_Pokemon: ; 130a9 (4:70a9)
+StartMenu_Pokemon: ; 11c36 (4:5c36)
ld a,[wPartyCount]
and a
jp z,RedisplayStartMenu
@@ -34,7 +34,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
ld [wTextBoxID],a
call DisplayTextBoxID ; display pokemon menu options
ld hl,wFieldMoves
- lb bc, $02, $0c ; max menu item ID, top menu item Y
+ lb bc, 2, 12 ; max menu item ID, top menu item Y
ld e,5
.adjustMenuVariablesLoop
dec e
@@ -129,7 +129,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
dw .dig
dw .teleport
dw .softboiled
-.fly
+.fly ; 11d1b (4:5d1b)
bit 2,a ; does the player have the Thunder Badge?
jp z,.newBadgeRequired
call CheckIfInOutsideMap
@@ -144,12 +144,15 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
call ChooseFlyDestination
ld a,[wd732]
bit 3,a ; did the player decide to fly?
- jp nz,.goBackToMap
+ jr nz,.asm_5d4c
call LoadFontTilePatterns
ld hl,wd72e
set 1,[hl]
jp StartMenu_Pokemon
-.cut
+.asm_5d4c
+ call Func_1510
+ jp .goBackToMap
+.cut ; 11d52 (4:5d52)
bit 1,a ; does the player have the Cascade Badge?
jp z,.newBadgeRequired
predef UsedCut
@@ -157,7 +160,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
and a
jp z,.loop
jp CloseTextDisplay
-.surf
+.surf ; 11d66 (4:5d66)
bit 4,a ; does the player have the Soul Badge?
jp z,.newBadgeRequired
callba CheckForForcedBikeSurf
@@ -165,22 +168,35 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
bit 1,[hl]
res 1,[hl]
jp z,.loop
+ ld a, [wcf91]
+ cp PIKACHU ; is this surfing pikachu?
+ jr z, .surfingPikachu
+ ld a, $1
+ jr .continue
+.surfingPikachu
+ ld a, $2
+.continue
+ ld [wd473], a
ld a,SURFBOARD
ld [wcf91],a
ld [wPseudoItemID],a
call UseItem
ld a,[wActionResultOrTookBattleTurn]
and a
- jp z,.loop
+ jr z,.reloadNormalSprite
call GBPalWhiteOutWithDelay3
jp .goBackToMap
-.strength
+.reloadNormalSprite
+ xor a
+ ld [wd473], a
+ jp .loop
+.strength ; 11dab (4:5dab)
bit 3,a ; does the player have the Rainbow Badge?
jp z,.newBadgeRequired
predef PrintStrengthTxt
call GBPalWhiteOutWithDelay3
jp .goBackToMap
-.flash
+.flash ; 11dbb (4:5dbb)
bit 0,a ; does the player have the Boulder Badge?
jp z,.newBadgeRequired
xor a
@@ -192,7 +208,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
.flashLightsAreaText
TX_FAR _FlashLightsAreaText
db "@"
-.dig
+.dig ; 11dd5 (4:5dd5)
ld a,ESCAPE_ROPE
ld [wcf91],a
ld [wPseudoItemID],a
@@ -202,7 +218,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
jp z,.loop
call GBPalWhiteOutWithDelay3
jp .goBackToMap
-.teleport
+.teleport ; 11ded (4:5ded)
call CheckIfInOutsideMap
jr z,.canTeleport
ld a,[wWhichPokemon]
@@ -217,12 +233,13 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
ld hl,wd732
set 3,[hl]
set 6,[hl]
+ call Func_1510
ld hl,wd72e
set 1,[hl]
res 4,[hl]
ld c,60
call DelayFrames
- call GBPalWhiteOutWithDelay3 ; zero all three palettes and wait 3 V-blanks
+ call GBPalWhiteOutWithDelay3 ; zero all three palettes and wait 3 frames
jp .goBackToMap
.warpToLastPokemonCenterText
TX_FAR _WarpToLastPokemonCenterText
@@ -233,7 +250,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
.cannotFlyHereText
TX_FAR _CannotFlyHereText
db "@"
-.softboiled
+.softboiled ; 11e35 (4:5e35)
ld hl,wPartyMon1MaxHP
ld a,[wWhichPokemon]
ld bc,wPartyMon2 - wPartyMon1
@@ -284,7 +301,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
db "@"
; writes a blank tile to all possible menu cursor positions on the party menu
-ErasePartyMenuCursors: ; 132ed (4:72ed)
+ErasePartyMenuCursors: ; 11e98 (4:5e98)
coord hl, 0, 1
ld bc,2 * 20 ; menu cursor positions are 2 rows apart
ld a,6 ; 6 menu cursor positions
@@ -295,11 +312,11 @@ ErasePartyMenuCursors: ; 132ed (4:72ed)
jr nz,.loop
ret
-ItemMenuLoop: ; 132fc (4:72fc)
+ItemMenuLoop: ; 11ea7 (4:5ea7)
call LoadScreenTilesFromBuffer2DisableBGTransfer ; restore saved screen
call RunDefaultPaletteCommand
-StartMenu_Item: ; 13302 (4:7302)
+StartMenu_Item: ; 11ead (4:5ead)
ld a,[wLinkState]
dec a ; is the player in the Colosseum or Trade Centre?
jr nz,.notInCableClubRoom
@@ -307,11 +324,10 @@ StartMenu_Item: ; 13302 (4:7302)
call PrintText
jr .exitMenu
.notInCableClubRoom
- ld bc,wNumBagItems
ld hl,wListPointer
- ld a,c
- ld [hli],a
- ld [hl],b ; store item bag pointer in wListPointer (for DisplayListMenuID)
+ ld [hl], wNumBagItems & $ff
+ inc hl
+ ld [hl], wNumBagItems / $100 ; store item bag pointer in wListPointer (for DisplayListMenuID)
xor a
ld [wPrintItemPrices],a
ld a,ITEMLISTMENU
@@ -438,16 +454,16 @@ StartMenu_Item: ; 13302 (4:7302)
.tossZeroItems
jp ItemMenuLoop
-CannotUseItemsHereText: ; 1342a (4:742a)
+CannotUseItemsHereText: ; 11fd4 (4:5fd4)
TX_FAR _CannotUseItemsHereText
db "@"
-CannotGetOffHereText: ; 1342f (4:742f)
+CannotGetOffHereText: ; 11fd9 (4:5fd9)
TX_FAR _CannotGetOffHereText
db "@"
; items which bring up the party menu when used
-UsableItems_PartyMenu: ; 13434 (4:7434)
+UsableItems_PartyMenu: ; 11fde (4:5fde)
db MOON_STONE
db ANTIDOTE
db BURN_HEAL
@@ -487,7 +503,7 @@ UsableItems_PartyMenu: ; 13434 (4:7434)
db $ff
; items which close the item menu when used
-UsableItems_CloseMenu: ; 13459 (4:7459)
+UsableItems_CloseMenu: ; 12003 (4:6003)
db ESCAPE_ROPE
db ITEMFINDER
db POKE_FLUTE
@@ -496,7 +512,7 @@ UsableItems_CloseMenu: ; 13459 (4:7459)
db SUPER_ROD
db $ff
-StartMenu_TrainerInfo: ; 13460 (4:7460)
+StartMenu_TrainerInfo: ; 1200a (4:600a)
call GBPalWhiteOut
call ClearScreen
call UpdateSprites
@@ -515,13 +531,14 @@ StartMenu_TrainerInfo: ; 13460 (4:7460)
call LoadScreenTilesFromBuffer2 ; restore saved screen
call RunDefaultPaletteCommand
call ReloadMapData
+ callba DrawStartMenu ; XXX what difference does this make?
call LoadGBPal
pop af
ld [hTilesetType],a
- jp RedisplayStartMenu
+ jp RedisplayStartMenu_DoNotDrawStartMenu
; loads tile patterns and draws everything except for gym leader faces / badges
-DrawTrainerInfo: ; 1349a (4:749a)
+DrawTrainerInfo: ; 1204c (4:604c)
ld de,RedPicFront
lb bc, BANK(RedPicFront), $01
predef DisplayPicCenteredOrUpperRight
@@ -552,7 +569,7 @@ DrawTrainerInfo: ; 1349a (4:749a)
ld de,vChars2 + $200
ld bc,$0400
ld a,$03
- call FarCopyData2
+ call FarCopyData
ld hl,TextBoxGraphics
ld de,$00d0
add hl,de ; hl = colon tile pattern
@@ -560,7 +577,7 @@ DrawTrainerInfo: ; 1349a (4:749a)
ld bc,$0010
ld a,$04
push bc
- call FarCopyData2
+ call FarCopyData
pop bc
ld hl,TrainerInfoTextBoxTileGraphics + $80 ; background tile pattern
ld de,vChars1 + $570
@@ -601,26 +618,26 @@ DrawTrainerInfo: ; 1349a (4:749a)
ld c,$e3
call PrintBCDNumber
coord hl, 9, 6
- ld de,W_PLAYTIMEHOURS + 1 ; hours
+ ld de,wPlayTimeHours + 1 ; hours
lb bc, LEFT_ALIGN | 1, 3
call PrintNumber
ld [hl],$d6 ; colon tile ID
inc hl
- ld de,W_PLAYTIMEMINUTES + 1 ; minutes
+ ld de,wPlayTimeMinutes + 1 ; minutes
lb bc, LEADING_ZEROES | 1, 2
jp PrintNumber
-TrainerInfo_FarCopyData: ; 1357f (4:757f)
+TrainerInfo_FarCopyData: ; 12131 (4:6131)
ld a,BANK(TrainerInfoTextBoxTileGraphics)
- jp FarCopyData2
+ jp FarCopyData
-TrainerInfo_NameMoneyTimeText: ; 13584 (4:7584)
+TrainerInfo_NameMoneyTimeText: ; 12136 (4:6136)
db "NAME/"
next "MONEY/"
next "TIME/@"
; $76 is a circle tile
-TrainerInfo_BadgesText: ; 13597 (4:7597)
+TrainerInfo_BadgesText: ; 12149 (4:6149)
db $76,"BADGES",$76,"@"
; draws a text box on the trainer info screen
@@ -630,7 +647,7 @@ TrainerInfo_BadgesText: ; 13597 (4:7597)
; [wTrainerInfoTextBoxWidthPlus1] = width
; [wTrainerInfoTextBoxWidth] = width - 1
; [wTrainerInfoTextBoxNextRowOffset] = distance from the end of a text box row to the start of the next
-TrainerInfo_DrawTextBox: ; 135a0 (4:75a0)
+TrainerInfo_DrawTextBox: ; 12152 (4:6152)
ld a,$79 ; upper left corner tile ID
lb de, $7a, $7b ; top edge and upper right corner tile ID's
call TrainerInfo_DrawHorizontalEdge ; draw top edge
@@ -649,7 +666,7 @@ TrainerInfo_DrawTextBox: ; 135a0 (4:75a0)
ld a,$7d ; lower left corner tile ID
lb de,$77, $7e ; bottom edge and lower right corner tile ID's
-TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3)
+TrainerInfo_DrawHorizontalEdge: ; 12175 (4:6175)
ld [hli],a ; place left corner tile
ld a,[wTrainerInfoTextBoxWidth]
ld c,a
@@ -662,7 +679,7 @@ TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3)
ld [hl],a ; place right corner tile
ret
-TrainerInfo_NextTextBoxRow: ; 135d0 (4:75d0)
+TrainerInfo_NextTextBoxRow: ; 12182 (4:6182)
ld a,[wTrainerInfoTextBoxNextRowOffset] ; distance to the start of the next row
.loop
inc hl
@@ -674,7 +691,7 @@ TrainerInfo_NextTextBoxRow: ; 135d0 (4:75d0)
; INPUT:
; hl = address of top tile in the line
; a = tile ID
-TrainerInfo_DrawVerticalLine: ; 135d8 (4:75d8)
+TrainerInfo_DrawVerticalLine: ; 1218a (4:618a)
ld de,20
ld c,8
.loop
@@ -684,7 +701,7 @@ TrainerInfo_DrawVerticalLine: ; 135d8 (4:75d8)
jr nz,.loop
ret
-StartMenu_SaveReset: ; 135e3 (4:75e3)
+StartMenu_SaveReset: ; 12195 (4:6195)
ld a,[wd72e]
bit 6,a ; is the player using the link feature?
jp nz,Init
@@ -692,7 +709,7 @@ StartMenu_SaveReset: ; 135e3 (4:75e3)
call LoadScreenTilesFromBuffer2 ; restore saved screen
jp HoldTextDisplayOpen
-StartMenu_Option: ; 135f6 (4:75f6)
+StartMenu_Option: ; 121a9 (4:61a9)
xor a
ld [H_AUTOBGTRANSFERENABLED],a
call ClearScreen
@@ -703,7 +720,7 @@ StartMenu_Option: ; 135f6 (4:75f6)
call UpdateSprites
jp RedisplayStartMenu
-SwitchPartyMon: ; 13613 (4:7613)
+SwitchPartyMon: ; 121c5 (4:61c5)
call SwitchPartyMon_InitVarOrSwapData ; swap data
ld a, [wSwappedMenuItem]
call SwitchPartyMon_ClearGfx
@@ -711,7 +728,7 @@ SwitchPartyMon: ; 13613 (4:7613)
call SwitchPartyMon_ClearGfx
jp RedrawPartyMenu_
-SwitchPartyMon_ClearGfx: ; 13625 (4:7625)
+SwitchPartyMon_ClearGfx: ; 121d7 (4:61d7)
push af
coord hl, 0, 0
ld bc, SCREEN_WIDTH * 2
@@ -737,7 +754,7 @@ SwitchPartyMon_ClearGfx: ; 13625 (4:7625)
ld a, SFX_SWAP
jp PlaySound
-SwitchPartyMon_InitVarOrSwapData: ; 13653 (4:7653)
+SwitchPartyMon_InitVarOrSwapData: ; 12205 (4:6205)
; This is used to initialise [wMenuItemToSwap] and to actually swap the data.
ld a, [wMenuItemToSwap]
and a ; has [wMenuItemToSwap] been initialised yet?
diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm
index eb4e2c03..c5658dc0 100755
--- a/engine/overworld/map_sprites.asm
+++ b/engine/overworld/map_sprites.asm
@@ -164,7 +164,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
jr nz,.skipFirstLoad ; if so, skip loading data into the lower half
ld a,b
ld b,0
- call FarCopyData2 ; load tile pattern data for sprite when standing still
+ call FarCopyData ; load tile pattern data for sprite when standing still
.skipFirstLoad
pop de
pop hl
@@ -190,11 +190,11 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
ld h,d
ld l,e
pop de
- call FarCopyData2 ; load tile pattern data for sprite when walking
+ call FarCopyData ; load tile pattern data for sprite when walking
jr .skipSecondLoad
; When reloading the upper half of tile patterns after diplaying text, the LCD
; will be on, so CopyVideoData (which writes to VRAM only during V-blank) must
-; be used instead of FarCopyData2.
+; be used instead of FarCopyData.
.loadWhileLCDOn
pop af
pop hl
diff --git a/engine/predefs.asm b/engine/predefs.asm
index 4a04b45d..b385b217 100755
--- a/engine/predefs.asm
+++ b/engine/predefs.asm
@@ -112,7 +112,7 @@ PredefPointers:: ; f681d (3d:681d)
;add_predef InternalClockTradeAnim
;add_predef TrainerEngage
;add_predef IndexToPokedex
- ;add_predef Predef3B; 3B display pic?
+ ;add_predef DisplayPicCenteredOrUpperRight; 3B display pic?
;add_predef UsedCut
;add_predef ShowPokedexData
;add_predef WriteMonMoves
diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm
index 0b72d7e5..f6b7c029 100755
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -851,17 +851,17 @@ LoadSlotMachineTiles: ; 378a8 (d:78a8)
ld de, vChars0
ld bc, $1c0
ld a, BANK(SlotMachineTiles2)
- call FarCopyData2
+ call FarCopyData
ld hl, SlotMachineTiles1
ld de, vChars2
ld bc, $250
ld a, BANK(SlotMachineTiles1)
- call FarCopyData2
+ call FarCopyData
ld hl, SlotMachineTiles2
ld de, vChars2 + $250
ld bc, $1c0
ld a, BANK(SlotMachineTiles2)
- call FarCopyData2
+ call FarCopyData
ld hl, SlotMachineMap
coord de, 0, 0
ld bc, $00f0
diff --git a/engine/trade.asm b/engine/trade.asm
index 4bf90f8a..8887877b 100755
--- a/engine/trade.asm
+++ b/engine/trade.asm
@@ -160,12 +160,12 @@ LoadTradingGFXAndMonNames: ; 411a1 (10:51a1)
ld de, vChars2 + $310
ld bc, TradingAnimationGraphicsEnd - TradingAnimationGraphics
ld a, BANK(TradingAnimationGraphics)
- call FarCopyData2
+ call FarCopyData
ld hl, TradingAnimationGraphics2
ld de, vSprites + $7c0
ld bc, TradingAnimationGraphics2End - TradingAnimationGraphics2
ld a, BANK(TradingAnimationGraphics2)
- call FarCopyData2
+ call FarCopyData
ld hl, vBGMap0
ld bc, $800
ld a, " "
diff --git a/home/play_time.asm b/home/play_time.asm
index 7b34491e..09c894fc 100644
--- a/home/play_time.asm
+++ b/home/play_time.asm
@@ -6,44 +6,44 @@ TrackPlayTime: ; 1ef5 (0:1ef5)
ld a,[wd732]
bit 0,a
ret z
- ld a, [W_PLAYTIMEMINUTES]
+ ld a, [wPlayTimeMinutes]
and a
ret nz
- ld a, [W_PLAYTIMEFRAMES]
+ ld a, [wPlayTimeFrames]
inc a
- ld [W_PLAYTIMEFRAMES], a
+ ld [wPlayTimeFrames], a
cp 60
ret nz
xor a
- ld [W_PLAYTIMEFRAMES], a
- ld a, [W_PLAYTIMESECONDS]
+ ld [wPlayTimeFrames], a
+ ld a, [wPlayTimeSeconds]
inc a
- ld [W_PLAYTIMESECONDS], a
+ ld [wPlayTimeSeconds], a
cp 60
ret nz
xor a
- ld [W_PLAYTIMESECONDS], a
- ld a, [W_PLAYTIMEMINUTES + 1]
+ ld [wPlayTimeSeconds], a
+ ld a, [wPlayTimeMinutes + 1]
inc a
- ld [W_PLAYTIMEMINUTES + 1], a
+ ld [wPlayTimeMinutes + 1], a
cp 60
ret nz
xor a
- ld [W_PLAYTIMEMINUTES + 1], a
- ld a, [W_PLAYTIMEHOURS + 1]
+ ld [wPlayTimeMinutes + 1], a
+ ld a, [wPlayTimeHours + 1]
inc a
- ld [W_PLAYTIMEHOURS + 1], a
+ ld [wPlayTimeHours + 1], a
cp $ff
ret nz
ld hl, wd47a
set 0, [hl]
.maxIGT
ld a, 59
- ld [W_PLAYTIMESECONDS], a
- ld [W_PLAYTIMEMINUTES + 1], a
+ ld [wPlayTimeSeconds], a
+ ld [wPlayTimeMinutes + 1], a
ld a, $ff
- ld [W_PLAYTIMEHOURS + 1], a
- ld [W_PLAYTIMEMINUTES], a
+ ld [wPlayTimeHours + 1], a
+ ld [wPlayTimeMinutes], a
ret
CountDownIgnoreInputBitReset: ; 1f54 (0:1f54)
diff --git a/home/vblank.asm b/home/vblank.asm
index 0e529dd0..cab6f944 100644
--- a/home/vblank.asm
+++ b/home/vblank.asm
@@ -59,15 +59,10 @@ VBlank:: ; 1de5 (0:1de5)
call FadeOutAudio
- ld a, $8
- call BankswitchCommon
- call Music_DoLowHealthAlarm
+ callbs Music_DoLowHealthAlarm
+ callbs Audio1_UpdateMusic
- ld a, $2
- call BankswitchCommon
- call Audio1_UpdateMusic
-
- call SerialFunction ; add this
+ call SerialFunction
ld a, [wVBlankSavedROMBank]
ld [H_LOADEDROMBANK], a
diff --git a/wram.asm b/wram.asm
index ebcc559b..1e3a00cb 100755
--- a/wram.asm
+++ b/wram.asm
@@ -3250,13 +3250,13 @@ W_CURMAPSCRIPT:: ; da39
ds 6
-W_PLAYTIMEHOURS:: ; da40
+wPlayTimeHours:: ; da40
ds 2
-W_PLAYTIMEMINUTES:: ; da42
+wPlayTimeMinutes:: ; da42
ds 2
-W_PLAYTIMESECONDS:: ; da44
+wPlayTimeSeconds:: ; da44
ds 1
-W_PLAYTIMEFRAMES:: ; da45
+wPlayTimeFrames:: ; da45
ds 1
wSafariZoneGameOver:: ; da46
diff --git a/yellow/main.asm b/yellow/main.asm
index a29bdd41..0243415d 100755
--- a/yellow/main.asm
+++ b/yellow/main.asm
@@ -3533,22 +3533,9 @@ RedPicFront: INCBIN "pic/ytrainer/red.pic"
ShrinkPic1: INCBIN "pic/trainer/shrink1.pic"
ShrinkPic2: INCBIN "pic/trainer/shrink2.pic"
-StartMenu_Pokedex: ; 11c22 (4:5c22)
- dr $11c22,$11c36
-StartMenu_Pokemon: ; 11c36 (4:5c36)
- dr $11c36,$11e98
-ErasePartyMenuCursors: ; 11e98 (4:5e98)
- dr $11e98,$11ead
-StartMenu_Item: ; 11ead (4:5ead)
- dr $11ead,$1200a
-StartMenu_TrainerInfo: ; 1200a (4:600a)
- dr $1200a,$12195
-StartMenu_SaveReset: ; 12195 (4:6195)
- dr $12195,$121a8
-StartMenu_Option: ; 121a8 (4:61a8)
- dr $121a8,$121c5
-SwitchPartyMon: ; 121c5 (4:61c5)
- dr $121c5,$12365
+INCLUDE "engine/menu/start_sub_menus.asm"
+
+ dr $122f0,$12365
SECTION "NPC Sprites 1", ROMX, BANK[NPC_SPRITES_1]