mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-06 15:45:24 +13:00
misc
This commit is contained in:
parent
b96ef8d2d4
commit
c169073eed
61 changed files with 743 additions and 612 deletions
|
|
@ -12,7 +12,7 @@ PKMNLeaguePC: ; 0x7657e
|
|||
ld [hTilesetType], a
|
||||
ld [W_SPRITEFLIPPED], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
ld [wTrainerScreenX], a
|
||||
ld [wHoFTeamIndex2], a
|
||||
ld [wHoFTeamNo], a
|
||||
ld a, [wNumHoFTeams]
|
||||
ld b, a
|
||||
|
|
@ -27,13 +27,13 @@ PKMNLeaguePC: ; 0x7657e
|
|||
ld hl, wHoFTeamNo
|
||||
inc [hl]
|
||||
push bc
|
||||
ld a, [wTrainerScreenX]
|
||||
ld [wHoFMonSpecies], a
|
||||
ld a, [wHoFTeamIndex2]
|
||||
ld [wHoFTeamIndex], a
|
||||
callba LoadHallOfFameTeams
|
||||
call LeaguePCShowTeam
|
||||
pop bc
|
||||
jr c, .doneShowingTeams
|
||||
ld hl, wTrainerScreenX
|
||||
ld hl, wHoFTeamIndex2
|
||||
inc [hl]
|
||||
ld a, [hl]
|
||||
cp b
|
||||
|
|
|
|||
|
|
@ -1,17 +1,16 @@
|
|||
MainMenu: ; 5af2 (1:5af2)
|
||||
; Check save file
|
||||
call Func_5bff
|
||||
call InitOptions
|
||||
xor a
|
||||
ld [wd08a],a
|
||||
ld [wOptionsInitialized],a
|
||||
inc a
|
||||
ld [wd088],a
|
||||
call Func_609e
|
||||
jr nc,.next0
|
||||
ld [wSaveFileStatus],a
|
||||
call CheckForPlayerNameInSRAM
|
||||
jr nc,.mainMenuLoop
|
||||
|
||||
; Predef 52 loads the save from SRAM to RAM
|
||||
predef LoadSAV
|
||||
|
||||
.next0
|
||||
.mainMenuLoop
|
||||
ld c,20
|
||||
call DelayFrames
|
||||
xor a ; LINK_STATE_NONE
|
||||
|
|
@ -30,9 +29,10 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
call LoadFontTilePatterns
|
||||
ld hl,wd730
|
||||
set 6,[hl]
|
||||
ld a,[wd088]
|
||||
ld a,[wSaveFileStatus]
|
||||
cp a,1
|
||||
jr z,.next1
|
||||
jr z,.noSaveFile
|
||||
; there's a save file
|
||||
coord hl, 0, 0
|
||||
ld b,6
|
||||
ld c,13
|
||||
|
|
@ -41,7 +41,7 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
ld de,ContinueText
|
||||
call PlaceString
|
||||
jr .next2
|
||||
.next1
|
||||
.noSaveFile
|
||||
coord hl, 0, 0
|
||||
ld b,4
|
||||
ld c,13
|
||||
|
|
@ -63,31 +63,33 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
ld [wTopMenuItemY],a
|
||||
ld a,$B
|
||||
ld [wMenuWatchedKeys],a
|
||||
ld a,[wd088]
|
||||
ld a,[wSaveFileStatus]
|
||||
ld [wMaxMenuItem],a
|
||||
call HandleMenuInput
|
||||
bit 1,a
|
||||
jp nz,LoadTitlescreenGraphics ; load title screen (gfx and arrangement)
|
||||
bit 1,a ; pressed B?
|
||||
jp nz,DisplayTitleScreen ; if so, go back to the title screen
|
||||
ld c,20
|
||||
call DelayFrames
|
||||
ld a,[wCurrentMenuItem]
|
||||
ld b,a
|
||||
ld a,[wd088]
|
||||
ld a,[wSaveFileStatus]
|
||||
cp a,2
|
||||
jp z,.next3
|
||||
inc b ; adjust MenuArrow_Counter
|
||||
.next3
|
||||
jp z,.skipInc
|
||||
; If there's no save file, increment the current menu item so that the numbers
|
||||
; are the same whether or not there's a save file.
|
||||
inc b
|
||||
.skipInc
|
||||
ld a,b
|
||||
and a
|
||||
jr z,.next4 ; if press_A on Continue
|
||||
jr z,.choseContinue
|
||||
cp a,1
|
||||
jp z,Func_5d52 ; if press_A on NewGame
|
||||
call DisplayOptionMenu ; if press_a on Options
|
||||
jp z,StartNewGame
|
||||
call DisplayOptionMenu
|
||||
ld a,1
|
||||
ld [wd08a],a
|
||||
jp .next0
|
||||
.next4
|
||||
call ContinueGame
|
||||
ld [wOptionsInitialized],a
|
||||
jp .mainMenuLoop
|
||||
.choseContinue
|
||||
call DisplayContinueGameInfo
|
||||
ld hl,wd126
|
||||
set 5,[hl]
|
||||
.inputLoop
|
||||
|
|
@ -100,7 +102,7 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
bit 0,a
|
||||
jr nz,.pressedA
|
||||
bit 1,a
|
||||
jp nz,.next0 ; pressedB
|
||||
jp nz,.mainMenuLoop ; pressed B
|
||||
jr .inputLoop
|
||||
.pressedA
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
|
@ -122,10 +124,10 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
call SpecialWarpIn
|
||||
jp SpecialEnterMap
|
||||
|
||||
Func_5bff: ; 5bff (1:5bff)
|
||||
ld a,1
|
||||
InitOptions: ; 5bff (1:5bff)
|
||||
ld a,1 ; no delay
|
||||
ld [wLetterPrintingDelayFlags],a
|
||||
ld a,3
|
||||
ld a,3 ; medium speed
|
||||
ld [W_OPTIONS],a
|
||||
ret
|
||||
|
||||
|
|
@ -301,7 +303,7 @@ LinkCanceledText: ; 5d4d (1:5d4d)
|
|||
TX_FAR _LinkCanceledText
|
||||
db "@"
|
||||
|
||||
Func_5d52: ; 5d52 (1:5d52)
|
||||
StartNewGame: ; 5d52 (1:5d52)
|
||||
ld hl, wd732
|
||||
res 1, [hl]
|
||||
call OakSpeech
|
||||
|
|
@ -337,12 +339,12 @@ CableClubOptionsText: ; 5d97 (1:5d97)
|
|||
db "COLOSSEUM", $4e
|
||||
db "CANCEL@"
|
||||
|
||||
ContinueGame: ; 5db5 (1:5db5)
|
||||
DisplayContinueGameInfo: ; 5db5 (1:5db5)
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
coord hl, 4, 7
|
||||
ld b, $8
|
||||
ld c, $e
|
||||
ld b, 8
|
||||
ld c, 14
|
||||
call TextBoxBorder
|
||||
coord hl, 5, 9
|
||||
ld de, SaveScreenInfoText
|
||||
|
|
@ -351,12 +353,12 @@ ContinueGame: ; 5db5 (1:5db5)
|
|||
ld de, wPlayerName
|
||||
call PlaceString
|
||||
coord hl, 17, 11
|
||||
call Func_5e2f
|
||||
call PrintNumBadges
|
||||
coord hl, 16, 13
|
||||
call Func_5e42
|
||||
call PrintNumOwnedMons
|
||||
coord hl, 13, 15
|
||||
call Func_5e55
|
||||
ld a, $1
|
||||
call PrintPlayTime
|
||||
ld a, 1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld c, 30
|
||||
jp DelayFrames
|
||||
|
|
@ -377,17 +379,17 @@ PrintSaveScreenText: ; 5def (1:5def)
|
|||
ld de, wPlayerName
|
||||
call PlaceString
|
||||
coord hl, 17, 4
|
||||
call Func_5e2f
|
||||
call PrintNumBadges
|
||||
coord hl, 16, 6
|
||||
call Func_5e42
|
||||
call PrintNumOwnedMons
|
||||
coord hl, 13, 8
|
||||
call Func_5e55
|
||||
call PrintPlayTime
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld c, 30
|
||||
jp DelayFrames
|
||||
|
||||
Func_5e2f: ; 5e2f (1:5e2f)
|
||||
PrintNumBadges: ; 5e2f (1:5e2f)
|
||||
push hl
|
||||
ld hl, W_OBTAINEDBADGES
|
||||
ld b, $1
|
||||
|
|
@ -397,7 +399,7 @@ Func_5e2f: ; 5e2f (1:5e2f)
|
|||
ld bc, $102
|
||||
jp PrintNumber
|
||||
|
||||
Func_5e42: ; 5e42 (1:5e42)
|
||||
PrintNumOwnedMons: ; 5e42 (1:5e42)
|
||||
push hl
|
||||
ld hl, wPokedexOwned
|
||||
ld b, wPokedexOwnedEnd - wPokedexOwned
|
||||
|
|
@ -407,7 +409,7 @@ Func_5e42: ; 5e42 (1:5e42)
|
|||
ld bc, $103
|
||||
jp PrintNumber
|
||||
|
||||
Func_5e55: ; 5e55 (1:5e55)
|
||||
PrintPlayTime: ; 5e55 (1:5e55)
|
||||
ld de, W_PLAYTIMEHOURS + 1
|
||||
ld bc, $103
|
||||
call PrintNumber
|
||||
|
|
@ -678,28 +680,32 @@ TextSpeedOptionData: ; 6096 (1:6096)
|
|||
db 7 ; default X coordinate (Medium)
|
||||
db $ff ; terminator
|
||||
|
||||
Func_609e: ; 609e (1:609e)
|
||||
ld a, $a
|
||||
ld [$0], a
|
||||
CheckForPlayerNameInSRAM: ; 609e (1:609e)
|
||||
; Check if the player name data in SRAM has a string terminator character
|
||||
; (indicating that a name may have been saved there) and return whether it does
|
||||
; in carry.
|
||||
ld a, SRAM_ENABLE
|
||||
ld [MBC1SRamEnable], a
|
||||
ld a, $1
|
||||
ld [$6000], a
|
||||
ld [$4000], a
|
||||
ld [MBC1SRamBankingMode], a
|
||||
ld [MBC1SRamBank], a
|
||||
ld b, $b
|
||||
ld hl, $a598
|
||||
.asm_60b0
|
||||
ld hl, sPlayerName
|
||||
.loop
|
||||
ld a, [hli]
|
||||
cp $50
|
||||
jr z, .asm_60c1
|
||||
cp "@"
|
||||
jr z, .found
|
||||
dec b
|
||||
jr nz, .asm_60b0
|
||||
jr nz, .loop
|
||||
; not found
|
||||
xor a
|
||||
ld [$0], a
|
||||
ld [$6000], a
|
||||
ld [MBC1SRamEnable], a
|
||||
ld [MBC1SRamBankingMode], a
|
||||
and a
|
||||
ret
|
||||
.asm_60c1
|
||||
.found
|
||||
xor a
|
||||
ld [$0], a
|
||||
ld [$6000], a
|
||||
ld [MBC1SRamEnable], a
|
||||
ld [MBC1SRamBankingMode], a
|
||||
scf
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -71,8 +71,8 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
|
|||
ld [wd11e],a
|
||||
ld a,[wd11e]
|
||||
push af
|
||||
ld a,[wWhichTrade]
|
||||
push af
|
||||
ld a,[wDexMaxSeenMon]
|
||||
push af ; this doesn't need to be preserved
|
||||
ld hl,wPokedexSeen
|
||||
call IsPokemonBitSet
|
||||
ld b,2
|
||||
|
|
@ -108,7 +108,7 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
|
|||
ld b,1
|
||||
.exitSideMenu
|
||||
pop af
|
||||
ld [wWhichTrade],a
|
||||
ld [wDexMaxSeenMon],a
|
||||
pop af
|
||||
ld [wd11e],a
|
||||
pop af
|
||||
|
|
@ -207,7 +207,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
|
|||
jr .maxSeenPokemonLoop
|
||||
.storeMaxSeenPokemon
|
||||
ld a,b
|
||||
ld [wWhichTrade],a ; max seen pokemon
|
||||
ld [wDexMaxSeenMon],a
|
||||
.loop
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED],a
|
||||
|
|
@ -218,7 +218,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
|
|||
ld a,[wListScrollOffset]
|
||||
ld [wd11e],a
|
||||
ld d,7
|
||||
ld a,[wWhichTrade]
|
||||
ld a,[wDexMaxSeenMon]
|
||||
cp a,7
|
||||
jr nc,.printPokemonLoop
|
||||
ld d,a
|
||||
|
|
@ -294,9 +294,9 @@ HandlePokedexListMenu: ; 40111 (10:4111)
|
|||
bit 7,a ; was Down pressed?
|
||||
jr z,.checkIfRightPressed
|
||||
.downPressed ; scroll down one row
|
||||
ld a,[wWhichTrade]
|
||||
ld a,[wDexMaxSeenMon]
|
||||
cp a,7
|
||||
jp c,.loop
|
||||
jp c,.loop ; can't if the list is shorter than 7
|
||||
sub a,7
|
||||
ld b,a
|
||||
ld a,[wListScrollOffset]
|
||||
|
|
@ -309,9 +309,9 @@ HandlePokedexListMenu: ; 40111 (10:4111)
|
|||
bit 4,a ; was Right pressed?
|
||||
jr z,.checkIfLeftPressed
|
||||
.rightPressed ; scroll down 7 rows
|
||||
ld a,[wWhichTrade]
|
||||
ld a,[wDexMaxSeenMon]
|
||||
cp a,7
|
||||
jp c,.loop
|
||||
jp c,.loop ; can't if the list is shorter than 7
|
||||
sub a,6
|
||||
ld b,a
|
||||
ld a,[wListScrollOffset]
|
||||
|
|
|
|||
|
|
@ -231,18 +231,24 @@ HandlePrizeChoice: ; 528c6 (14:68c6)
|
|||
pop af
|
||||
ld b,a
|
||||
call GivePokemon
|
||||
|
||||
; If either the party or box was full, wait after displaying message.
|
||||
push af
|
||||
ld a,[wccd3] ; XXX is there room?
|
||||
ld a,[wAddedToParty]
|
||||
and a
|
||||
call z,WaitForTextScrollButtonPress
|
||||
pop af
|
||||
|
||||
; If the mon couldn't be given to the player (because both the party and box
|
||||
; were full), return without subtracting coins.
|
||||
ret nc
|
||||
|
||||
.SubtractCoins
|
||||
call LoadCoinsToSubtract
|
||||
ld hl,hCoins + 1
|
||||
ld de,wPlayerCoins + 1
|
||||
ld c,$02 ; how many bytes
|
||||
predef SubBCDPredef ; subtract coins (BCD daa operations)
|
||||
predef SubBCDPredef
|
||||
jp PrintPrizePrice
|
||||
.BagFull
|
||||
ld hl,PrizeRoomBagIsFullTextPtr
|
||||
|
|
|
|||
|
|
@ -297,8 +297,8 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
push af
|
||||
xor a
|
||||
ld [hTilesetType], a
|
||||
ld [$ffba], a
|
||||
ld bc, $0005
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld bc, NUM_MOVES + 1
|
||||
ld hl, wMoves
|
||||
call FillMemory
|
||||
ld hl, wLoadedMonMoves
|
||||
|
|
@ -307,13 +307,13 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
call CopyData
|
||||
callab FormatMovesString
|
||||
coord hl, 9, 2
|
||||
ld bc, $050a
|
||||
lb bc, 5, 10
|
||||
call ClearScreenArea ; Clear under name
|
||||
coord hl, 19, 3
|
||||
ld [hl], $78
|
||||
coord hl, 0, 8
|
||||
ld b, $8
|
||||
ld c, $12
|
||||
ld b, 8
|
||||
ld c, 18
|
||||
call TextBoxBorder ; Draw move container
|
||||
coord hl, 2, 9
|
||||
ld de, wMovesString
|
||||
|
|
@ -387,9 +387,9 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
jr nz, .PrintPP
|
||||
.PPDone
|
||||
coord hl, 9, 3
|
||||
ld de, EXPPointsText
|
||||
ld de, StatusScreenExpText
|
||||
call PlaceString
|
||||
ld a, [wLoadedMonLevel] ; level
|
||||
ld a, [wLoadedMonLevel]
|
||||
push af
|
||||
cp MAX_LEVEL
|
||||
jr z, .Level100
|
||||
|
|
@ -407,11 +407,11 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
coord hl, 12, 4
|
||||
ld bc, $0307
|
||||
call PrintNumber ; exp
|
||||
call .asm_12c86
|
||||
call CalcExpToLevelUp
|
||||
ld de, wLoadedMonExp
|
||||
coord hl, 7, 6
|
||||
ld bc, $0307
|
||||
call PrintNumber
|
||||
call PrintNumber ; exp needed to level up
|
||||
coord hl, 9, 0
|
||||
call StatusScreen_ClearName
|
||||
coord hl, 9, 1
|
||||
|
|
@ -422,7 +422,7 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
coord hl, 9, 1
|
||||
call PlaceString
|
||||
ld a, $1
|
||||
ld [$ffba], a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
call Delay3
|
||||
call WaitForTextScrollButtonPress ; wait for button
|
||||
pop af
|
||||
|
|
@ -433,25 +433,26 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
ld [$ff24], a
|
||||
call GBPalWhiteOut
|
||||
jp ClearScreen
|
||||
.asm_12c86 ; This does some magic with lvl/exp?
|
||||
ld a, [wLoadedMonLevel] ; Load level
|
||||
|
||||
CalcExpToLevelUp: ; 12c86 (4:6c86)
|
||||
ld a, [wLoadedMonLevel]
|
||||
cp MAX_LEVEL
|
||||
jr z, .asm_12ca7 ; If 100
|
||||
jr z, .atMaxLevel
|
||||
inc a
|
||||
ld d, a
|
||||
callab CalcExperience
|
||||
ld hl, wLoadedMonExp + 2
|
||||
ld a, [$ff98]
|
||||
ld a, [hExperience + 2]
|
||||
sub [hl]
|
||||
ld [hld], a
|
||||
ld a, [$ff97]
|
||||
ld a, [hExperience + 1]
|
||||
sbc [hl]
|
||||
ld [hld], a
|
||||
ld a, [$ff96]
|
||||
ld a, [hExperience]
|
||||
sbc [hl]
|
||||
ld [hld], a
|
||||
ret
|
||||
.asm_12ca7
|
||||
.atMaxLevel
|
||||
ld hl, wLoadedMonExp
|
||||
xor a
|
||||
ld [hli], a
|
||||
|
|
@ -459,11 +460,9 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
ld [hl], a
|
||||
ret
|
||||
|
||||
EXPPointsText: ; 12caf (4:6caf)
|
||||
db "EXP POINTS", $4e
|
||||
|
||||
LevelUpText: ; 12cba (4:6cba)
|
||||
db "LEVEL UP@"
|
||||
StatusScreenExpText: ; 12caf (4:6caf)
|
||||
db "EXP POINTS"
|
||||
next "LEVEL UP@"
|
||||
|
||||
StatusScreen_ClearName: ; 12cc3 (4:6cc3)
|
||||
ld bc, 10
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue