diff options
author | vulcandth <vulcandth@gmail.com> | 2022-03-26 21:05:06 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-26 22:05:06 -0400 |
commit | fbaa5c9d4b48c000a52860a8392fc423c4e312f9 (patch) | |
tree | 80c5d8b0458ab6a2c2f1995ed0addd1f6cb5570f /engine/menus | |
parent | a178c57f021692e442febfff4e592a9be8687a33 (diff) |
Build the Virtual Console patch with `make yellow_vc` (#80)
Diffstat (limited to 'engine/menus')
-rw-r--r-- | engine/menus/link_menu.asm | 2 | ||||
-rw-r--r-- | engine/menus/pokedex.asm | 6 | ||||
-rw-r--r-- | engine/menus/save.asm | 43 |
3 files changed, 31 insertions, 20 deletions
diff --git a/engine/menus/link_menu.asm b/engine/menus/link_menu.asm index 2f2db573..6d9021e4 100644 --- a/engine/menus/link_menu.asm +++ b/engine/menus/link_menu.asm @@ -794,9 +794,11 @@ LinkMenu: call Delay3 callfar CloseLinkConnection ld hl, ColosseumCanceledText + vc_hook Network_STOP call PrintText ld hl, wd72e res 6, [hl] + vc_hook Network_END ret .asm_f5963 diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 7b1a204a..d0e8cf2b 100644 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -111,7 +111,13 @@ HandlePokedexSideMenu: dec a jr z, .choseArea dec a + vc_patch disable_print +IF DEF (_YELLOW_VC) + jr z, .handleMenuInput +ELSE jr z, .chosePrint +ENDC + vc_patch_end .choseQuit ld b, 1 .exitSideMenu diff --git a/engine/menus/save.asm b/engine/menus/save.asm index 55ae9e47..a623ee1a 100644 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -35,20 +35,23 @@ LoadSAV0: call EnableSRAMAndLatchClockData ld a, $1 ld [MBC1SRamBank], a - ld hl, sPlayerName ; hero name located in SRAM - ld bc, sMainDataCheckSum - sPlayerName ; but here checks the full SAV +; This vc_hook does not have to be in any particular location. +; It is defined here because it refers to the same labels as the two lines below. + vc_hook SaveLimit + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld c, a - ld a, [sMainDataCheckSum] ; SAV's checksum + ld a, [sMainDataCheckSum] cp c jp z, .checkSumsMatched ; If the computed checksum didn't match the saved on, try again. - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld c, a - ld a, [sMainDataCheckSum] ; SAV's checksum + ld a, [sMainDataCheckSum] cp c jp nz, SAVBadCheckSum @@ -80,11 +83,11 @@ LoadSAV1: call EnableSRAMAndLatchClockData ld a, $1 ld [MBC1SRamBank], a - ld hl, sPlayerName ; hero name located in SRAM - ld bc, sMainDataCheckSum - sPlayerName ; but here checks the full SAV + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld c, a - ld a, [sMainDataCheckSum] ; SAV's checksum + ld a, [sMainDataCheckSum] cp c jr nz, SAVBadCheckSum ld hl, sCurBoxData @@ -98,11 +101,11 @@ LoadSAV2: call EnableSRAMAndLatchClockData ld a, $1 ld [MBC1SRamBank], a - ld hl, sPlayerName ; hero name located in SRAM - ld bc, sMainDataCheckSum - sPlayerName ; but here checks the full SAV + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld c, a - ld a, [sMainDataCheckSum] ; SAV's checksum + ld a, [sMainDataCheckSum] cp c jp nz, SAVBadCheckSum ld hl, sPartyData @@ -213,8 +216,8 @@ SaveSAVtoSRAM0: call CopyData ldh a, [hTileAnimations] ld [sTileAnimations], a - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld [sMainDataCheckSum], a call DisableSRAMAndPrepareClockData @@ -229,8 +232,8 @@ SaveSAVtoSRAM1: ld de, sCurBoxData ld bc, wBoxDataEnd - wBoxDataStart call CopyData - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld [sMainDataCheckSum], a call DisableSRAMAndPrepareClockData @@ -255,8 +258,8 @@ SaveSAVtoSRAM2: inc de ld a, [hl] ld [de], a - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld [sMainDataCheckSum], a call DisableSRAMAndPrepareClockData @@ -584,8 +587,8 @@ SAVCheckRandomID: ld a, [sPlayerName] and a jr z, .next - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld c, a ld a, [sMainDataCheckSum] |