mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
1176 lines
17 KiB
NASM
1176 lines
17 KiB
NASM
Function14a1a: ; 14a1a
|
|
call Function1d6e
|
|
callba Function5e9a
|
|
call SpeechTextBox
|
|
call UpdateSprites
|
|
callba Function4cf45
|
|
ld hl, UnknownText_0x15283
|
|
call SaveTheGame_yesorno
|
|
jr nz, .refused
|
|
call CheckForExistingSaveFile
|
|
jr c, .refused
|
|
call SetWRAMStateForSave
|
|
call _SavingDontTurnOffThePower
|
|
call ClearWRAMStateAfterSave
|
|
call ExitMenu
|
|
and a
|
|
ret
|
|
.refused
|
|
call ExitMenu
|
|
call Functiond90
|
|
callba Function4cf45
|
|
scf
|
|
ret
|
|
|
|
Function14a58: ; 14a58
|
|
call SetWRAMStateForSave
|
|
callba Function14056
|
|
callba Function1050d9
|
|
call SavePartyData
|
|
call Function14e13
|
|
call LoadSavedPartyData
|
|
call Function14e8b
|
|
callba Function44725
|
|
callba Function1406a
|
|
call ClearWRAMStateAfterSave
|
|
ret
|
|
; 14a83
|
|
|
|
|
|
Function14a83: ; 14a83 (5:4a83)
|
|
push de
|
|
ld hl, UnknownText_0x152a1
|
|
call MenuTextBox
|
|
call YesNoBox
|
|
call ExitMenu
|
|
jr c, .refused
|
|
call CheckForExistingSaveFile
|
|
jr c, .refused
|
|
call SetWRAMStateForSave
|
|
call SavingDontTurnOffThePower
|
|
call Function14e0c
|
|
pop de
|
|
ld a, e
|
|
ld [wCurBox], a
|
|
call Function15021
|
|
call SavedTheGame
|
|
call ClearWRAMStateAfterSave
|
|
and a
|
|
ret
|
|
.refused
|
|
pop de
|
|
ret
|
|
|
|
Function14ab2: ; 14ab2
|
|
call CheckForExistingSaveFile
|
|
jr c, .refused
|
|
call SetWRAMStateForSave
|
|
call _SavingDontTurnOffThePower
|
|
call ClearWRAMStateAfterSave
|
|
and a
|
|
|
|
.refused
|
|
ret
|
|
; 14ac2
|
|
|
|
Function14ac2: ; 14ac2
|
|
call SetWRAMStateForSave
|
|
push de
|
|
call Function14e0c
|
|
pop de
|
|
ld a, e
|
|
ld [wCurBox], a
|
|
call Function15021
|
|
call ClearWRAMStateAfterSave
|
|
ret
|
|
; 14ad5
|
|
|
|
Function14ad5: ; 14ad5
|
|
call SetWRAMStateForSave
|
|
push de
|
|
call Function14e0c
|
|
pop de
|
|
ld a, e
|
|
ld [wCurBox], a
|
|
ld a, $1
|
|
ld [wcfcd], a
|
|
callba Function14056
|
|
callba Function1050d9
|
|
call Function14da9
|
|
call SaveOptionsSelection
|
|
call SavePlayerData
|
|
call SavePartyData
|
|
call Function14e13
|
|
call Function14e2d
|
|
call LoadSavedOptions
|
|
call LoadSavedPlayerData
|
|
call LoadSavedPartyData
|
|
call Function14e8b
|
|
callba Function44725
|
|
callba Function106187
|
|
callba Function1406a
|
|
call Function15021
|
|
call ClearWRAMStateAfterSave
|
|
ld de, SFX_SAVE
|
|
call PlaySFX
|
|
ld c, $18
|
|
call DelayFrames
|
|
ret
|
|
; 14b34
|
|
|
|
Function14b34: ; 14b34
|
|
ld hl, UnknownText_0x152a6
|
|
call MenuTextBox
|
|
call YesNoBox
|
|
call ExitMenu
|
|
jr c, .asm_14b52
|
|
call CheckForExistingSaveFile
|
|
jr c, .asm_14b52
|
|
call SetWRAMStateForSave
|
|
call _SavingDontTurnOffThePower
|
|
call ClearWRAMStateAfterSave
|
|
and a
|
|
ret
|
|
|
|
.asm_14b52
|
|
scf
|
|
ret
|
|
; 14b54
|
|
|
|
SetWRAMStateForSave: ; 14b54
|
|
ld a, $1
|
|
ld [wc2cd], a
|
|
ret
|
|
; 14b5a
|
|
|
|
ClearWRAMStateAfterSave: ; 14b5a
|
|
xor a
|
|
ld [wc2cd], a
|
|
ret
|
|
; 14b5f
|
|
|
|
|
|
Function14b5f: ; 14b5f
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, $bdd9
|
|
ld de, $be3b
|
|
ld bc, $0b1a
|
|
.loop
|
|
ld a, [hld]
|
|
ld [de], a
|
|
dec de
|
|
dec bc
|
|
ld a, c
|
|
or b
|
|
jr nz, .loop
|
|
ld hl, OverworldMap
|
|
ld de, $b2c0
|
|
ld bc, 7 * 14
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ret
|
|
; 14b85
|
|
|
|
Function14b85: ; 14b85
|
|
call Function14c10
|
|
ret
|
|
; 14b89
|
|
|
|
CheckForExistingSaveFile: ; 14b89
|
|
ld a, [wcfcd]
|
|
and a
|
|
jr z, .getridofpreviousplayersave
|
|
call Function14bcb
|
|
jr z, .yoursavefile
|
|
ld hl, UnknownText_0x15297
|
|
call SaveTheGame_yesorno
|
|
jr nz, .refused
|
|
jr .getridofpreviousplayersave
|
|
|
|
.yoursavefile
|
|
ld hl, UnknownText_0x15292
|
|
call SaveTheGame_yesorno
|
|
jr nz, .refused
|
|
jr .ok
|
|
|
|
.getridofpreviousplayersave
|
|
call GetRidOfPreviousPlayersSave
|
|
|
|
.ok
|
|
and a
|
|
ret
|
|
|
|
.refused
|
|
scf
|
|
ret
|
|
; 14baf
|
|
|
|
SaveTheGame_yesorno: ; 14baf
|
|
ld b, BANK(UnknownText_0x15283)
|
|
call MapTextbox
|
|
call LoadMenuTextBox
|
|
lb bc, 0, 7
|
|
call PlaceYesNoBox
|
|
ld a, [wcfa9]
|
|
dec a
|
|
call WriteBackup
|
|
push af
|
|
call Functiond90
|
|
pop af
|
|
and a
|
|
ret
|
|
; 14bcb
|
|
|
|
Function14bcb: ; 14bcb
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, $a009
|
|
ld a, [hli]
|
|
ld c, [hl]
|
|
ld b, a
|
|
call CloseSRAM
|
|
ld a, [PlayerID]
|
|
cp b
|
|
ret nz
|
|
ld a, [PlayerID + 1]
|
|
cp c
|
|
ret
|
|
; 14be3
|
|
|
|
_SavingDontTurnOffThePower: ; 14be3
|
|
call SavingDontTurnOffThePower
|
|
SavedTheGame: ; 14be6
|
|
call Function14c10
|
|
; wait 32 frames
|
|
ld c, $20
|
|
call DelayFrames
|
|
; copy the original text speed setting to the stack
|
|
ld a, [Options]
|
|
push af
|
|
; set text speed super slow
|
|
ld a, 3
|
|
ld [Options], a
|
|
; <PLAYER> saved the game!
|
|
ld hl, UnknownText_0x1528d
|
|
call PrintText
|
|
; restore the original text speed setting
|
|
pop af
|
|
ld [Options], a
|
|
ld de, SFX_SAVE
|
|
call WaitPlaySFX
|
|
call WaitSFX
|
|
; wait 30 frames
|
|
ld c, $1e
|
|
call DelayFrames
|
|
ret
|
|
; 14c10
|
|
|
|
|
|
Function14c10: ; 14c10
|
|
ld a, 1
|
|
ld [wcfcd], a
|
|
callba Function14056
|
|
callba Function1050d9
|
|
call Function14da9
|
|
call SaveOptionsSelection
|
|
call SavePlayerData
|
|
call SavePartyData
|
|
call Function14e0c
|
|
call Function14e13
|
|
call Function14e2d
|
|
call LoadSavedOptions
|
|
call LoadSavedPlayerData
|
|
call LoadSavedPartyData
|
|
call Function14e8b
|
|
call Function14c6b
|
|
callba Function44725
|
|
callba Function106187
|
|
callba Function1406a
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld a, [$be45]
|
|
cp $4
|
|
jr nz, .asm_14c67
|
|
xor a
|
|
ld [$be45], a
|
|
|
|
.asm_14c67
|
|
call CloseSRAM
|
|
ret
|
|
; 14c6b
|
|
|
|
Function14c6b: ; 14c6b
|
|
call Function14c90
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
ld a, [$bf10]
|
|
ld e, a
|
|
ld a, [$bf11]
|
|
ld d, a
|
|
or e
|
|
jr z, .asm_14c84
|
|
ld a, e
|
|
sub l
|
|
ld a, d
|
|
sbc h
|
|
jr c, .asm_14c8c
|
|
|
|
.asm_14c84
|
|
ld a, l
|
|
ld [$bf10], a
|
|
ld a, h
|
|
ld [$bf11], a
|
|
|
|
.asm_14c8c
|
|
call CloseSRAM
|
|
ret
|
|
; 14c90
|
|
|
|
Function14c90: ; 14c90
|
|
ld hl, wc000
|
|
.asm_14c93
|
|
ld a, [hl]
|
|
or a
|
|
ret nz
|
|
inc hl
|
|
jr .asm_14c93
|
|
; 14c99
|
|
|
|
SavingDontTurnOffThePower: ; 14c99
|
|
; Prevent joypad interrupts
|
|
xor a
|
|
ld [hJoypadReleased], a
|
|
ld [hJoypadPressed], a
|
|
ld [hJoypadSum], a
|
|
ld [hJoypadDown], a
|
|
; Save the text speed setting to the stack
|
|
ld a, [Options]
|
|
push af
|
|
; Set the text speed to super slow
|
|
ld a, $3
|
|
ld [Options], a
|
|
; SAVING... DON'T TURN OFF THE POWER.
|
|
ld hl, UnknownText_0x15288
|
|
call PrintText
|
|
; Restore the text speed setting
|
|
pop af
|
|
ld [Options], a
|
|
; Wait for 16 frames
|
|
ld c, $10
|
|
call DelayFrames
|
|
ret
|
|
; 14cbb
|
|
|
|
|
|
GetRidOfPreviousPlayersSave: ; 14cbb
|
|
call Function151fb
|
|
call Function14d06
|
|
call Function14ce2
|
|
call Function14cf4
|
|
call Function14d68
|
|
call Function14d5c
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
xor a
|
|
ld [$bf10], a
|
|
ld [$bf11], a
|
|
call CloseSRAM
|
|
ld a, $1
|
|
ld [wd4b4], a
|
|
ret
|
|
; 14ce2
|
|
|
|
Function14ce2: ; 14ce2
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, $b260
|
|
ld bc, $0060
|
|
xor a
|
|
call ByteFill
|
|
jp CloseSRAM
|
|
; 14cf4
|
|
|
|
Function14cf4: ; 14cf4
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
ld hl, $abe4
|
|
ld bc, $004c
|
|
xor a
|
|
call ByteFill
|
|
jp CloseSRAM
|
|
; 14d06
|
|
|
|
Function14d06: ; 14d06
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, $b2c0
|
|
ld bc, $0b7c
|
|
xor a
|
|
call ByteFill
|
|
jp CloseSRAM
|
|
; 14d18
|
|
|
|
Function14d18: ; 14d18
|
|
; copy Unknown_14d2c to SRA4:a007
|
|
ld a, $4
|
|
call GetSRAMBank
|
|
ld hl, Unknown_14d2c
|
|
ld de, $a007
|
|
ld bc, 48
|
|
call CopyBytes
|
|
jp CloseSRAM
|
|
; 14d2c
|
|
|
|
Unknown_14d2c: ; 14d2c
|
|
db $0d, $02, $00, $05, $00, $00
|
|
db $22, $02, $01, $05, $00, $00
|
|
db $03, $04, $05, $08, $03, $05
|
|
db $0e, $06, $03, $02, $00, $00
|
|
db $39, $07, $07, $04, $00, $05
|
|
db $04, $07, $01, $05, $00, $00
|
|
db $0f, $05, $14, $07, $05, $05
|
|
db $11, $0c, $0c, $06, $06, $04
|
|
; 14d5c
|
|
|
|
Function14d5c: ; 14d5c
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
xor a
|
|
ld [$be45], a
|
|
jp CloseSRAM
|
|
; 14d68
|
|
|
|
Function14d68: ; 14d68
|
|
call Function1509a
|
|
ret
|
|
; 14d6c
|
|
|
|
Function14d6c: ; 14d6c
|
|
ld a, $4
|
|
call GetSRAMBank
|
|
ld a, [$a60b]
|
|
ld b, $0
|
|
and a
|
|
jr z, .ok
|
|
ld b, $2
|
|
|
|
.ok
|
|
ld a, b
|
|
ld [$a60b], a
|
|
call CloseSRAM
|
|
ret
|
|
; 14d83
|
|
|
|
Function14d83: ; 14d83
|
|
ld a, $4
|
|
call GetSRAMBank
|
|
xor a
|
|
ld [$a60c], a
|
|
ld [$a60d], a
|
|
call CloseSRAM
|
|
ret
|
|
; 14d93
|
|
|
|
Function14d93: ; 14d93
|
|
ld a, $7
|
|
call GetSRAMBank
|
|
xor a
|
|
ld [$a000], a
|
|
call CloseSRAM
|
|
ret
|
|
; 14da0
|
|
|
|
|
|
Function14da0: ; 14da0
|
|
ld a, [wd4b4]
|
|
and a
|
|
ret nz
|
|
call GetRidOfPreviousPlayersSave
|
|
ret
|
|
; 14da9
|
|
|
|
Function14da9: ; 14da9
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld a, 99
|
|
ld [$a008], a
|
|
ld a, " "
|
|
ld [$ad0f], a
|
|
jp CloseSRAM
|
|
; 14dbb
|
|
|
|
SaveOptionsSelection: ; 14dbb
|
|
; Copy Options to SRA1:a000
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, Options
|
|
ld de, $a000
|
|
ld bc, OptionsEnd - Options
|
|
call CopyBytes
|
|
ld a, [Options]
|
|
and $ef
|
|
ld [$a000], a
|
|
jp CloseSRAM
|
|
; 14dd7
|
|
|
|
SavePlayerData: ; 14dd7
|
|
; Copy 2122 bytes starting at PlayerID to SRA1:a009
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, PlayerID
|
|
ld de, $a009
|
|
ld bc, VisitedSpawns - PlayerID
|
|
call CopyBytes
|
|
ld hl, VisitedSpawns
|
|
ld de, $a833
|
|
ld bc, PartyCount - VisitedSpawns
|
|
call CopyBytes
|
|
jp CloseSRAM
|
|
; 14df7
|
|
|
|
SavePartyData: ; 14df7
|
|
; Copy your party to SRA1:a865.
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, PartyCount
|
|
ld de, $a865
|
|
ld bc, wdff5 - PartyCount
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ret
|
|
; 14e0c
|
|
|
|
Function14e0c: ; 14e0c
|
|
call Function150d8
|
|
call Function150f9
|
|
ret
|
|
; 14e13
|
|
|
|
Function14e13: ; 14e13
|
|
ld hl, $a009
|
|
ld bc, $0b7a
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
call Function15273
|
|
ld a, e
|
|
ld [$ad0d], a
|
|
ld a, d
|
|
ld [$ad0e], a
|
|
call CloseSRAM
|
|
ret
|
|
; 14e2d
|
|
|
|
Function14e2d: ; 14e2d
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
ld a, 99
|
|
ld [$b208], a
|
|
ld a, " "
|
|
ld [$bf0f], a
|
|
call CloseSRAM
|
|
ret
|
|
; 14e40
|
|
|
|
LoadSavedOptions: ; 14e40
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
ld hl, Options
|
|
ld de, $b200
|
|
ld bc, OptionsEnd - Options
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ret
|
|
; 14e55
|
|
|
|
LoadSavedPlayerData: ; 14e55
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
ld hl, PlayerID
|
|
ld de, $b209
|
|
ld bc, VisitedSpawns - PlayerID
|
|
call CopyBytes
|
|
ld hl, VisitedSpawns
|
|
ld de, $ba33
|
|
ld bc, PartyCount - VisitedSpawns
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ret
|
|
; 14e76
|
|
|
|
LoadSavedPartyData: ; 14e76
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
ld hl, PartyCount
|
|
ld de, $ba65
|
|
ld bc, wdff5 - PartyCount
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ret
|
|
; 14e8b
|
|
|
|
Function14e8b: ; 14e8b
|
|
ld hl, $b209
|
|
ld bc, $0b7a
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
call Function15273
|
|
ld a, e
|
|
ld [$bf0d], a
|
|
ld a, d
|
|
ld [$bf0e], a
|
|
call CloseSRAM
|
|
ret
|
|
; 14ea5
|
|
|
|
|
|
TryLoadSaveFile: ; 14ea5 (5:4ea5)
|
|
call Function15028
|
|
jr nz, .trytowrite
|
|
call Function14fd7
|
|
call Function1500c
|
|
call Function15021
|
|
callba Function44745
|
|
callba Function10619d
|
|
callba Function1050ea
|
|
call Function14e2d
|
|
call LoadSavedOptions
|
|
call LoadSavedPlayerData
|
|
call LoadSavedPartyData
|
|
call Function14e8b
|
|
and a
|
|
ret
|
|
.trytowrite
|
|
call Function1507c
|
|
jr nz, .corrupt
|
|
call Function15046
|
|
call Function15067
|
|
call Function15021
|
|
callba Function44745
|
|
callba Function10619d
|
|
callba Function1050ea
|
|
call Function14da9
|
|
call SaveOptionsSelection
|
|
call SavePlayerData
|
|
call SavePartyData
|
|
call Function14e13
|
|
and a
|
|
ret
|
|
.corrupt
|
|
ld a, [Options]
|
|
push af
|
|
set 4, a
|
|
ld [Options], a
|
|
ld hl, UnknownText_0x1529c
|
|
call PrintText
|
|
pop af
|
|
ld [Options], a
|
|
scf
|
|
ret
|
|
|
|
|
|
Function14f1c: ; 14f1c
|
|
xor a
|
|
ld [wcfcd], a
|
|
call Function14f84
|
|
ld a, [wcfcd]
|
|
and a
|
|
jr z, .asm_14f46
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, $a044
|
|
ld de, StartDay
|
|
ld bc, $0008
|
|
call CopyBytes
|
|
ld hl, $a3da
|
|
ld de, StatusFlags
|
|
ld a, [hl]
|
|
ld [de], a
|
|
call CloseSRAM
|
|
ret
|
|
|
|
.asm_14f46
|
|
call Function14faf
|
|
ld a, [wcfcd]
|
|
and a
|
|
jr z, .asm_14f6c
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
ld hl, $b244
|
|
ld de, StartDay
|
|
ld bc, 8
|
|
call CopyBytes
|
|
ld hl, $b5da
|
|
ld de, StatusFlags
|
|
ld a, [hl]
|
|
ld [de], a
|
|
call CloseSRAM
|
|
ret
|
|
|
|
.asm_14f6c
|
|
ld hl, DefaultOptions
|
|
ld de, Options
|
|
ld bc, OptionsEnd - Options
|
|
call CopyBytes
|
|
call Function67e
|
|
ret
|
|
; 14f7c
|
|
|
|
DefaultOptions: ; 14f7c
|
|
db $03 ; mid text speed
|
|
db $00
|
|
db $00 ; frame 0
|
|
db $01
|
|
db $40 ; gb printer: normal brightness
|
|
db $01 ; menu account on
|
|
db $00
|
|
db $00
|
|
; 14f84
|
|
|
|
Function14f84: ; 14f84
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld a, [$a008]
|
|
cp 99
|
|
jr nz, .nope
|
|
ld a, [$ad0f]
|
|
cp " "
|
|
jr nz, .nope
|
|
ld hl, $a000
|
|
ld de, Options
|
|
ld bc, OptionsEnd - Options
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ld a, $1
|
|
ld [wcfcd], a
|
|
|
|
.nope
|
|
call CloseSRAM
|
|
ret
|
|
; 14faf
|
|
|
|
Function14faf: ; 14faf
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
ld a, [$b208]
|
|
cp 99
|
|
jr nz, .nope
|
|
ld a, [$bf0f]
|
|
cp " "
|
|
jr nz, .nope
|
|
ld hl, $b200
|
|
ld de, Options
|
|
ld bc, OptionsEnd - Options
|
|
call CopyBytes
|
|
ld a, $2
|
|
ld [wcfcd], a
|
|
|
|
.nope
|
|
call CloseSRAM
|
|
ret
|
|
; 14fd7
|
|
|
|
|
|
Function14fd7: ; 14fd7 (5:4fd7)
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, $a009
|
|
ld de, PlayerID
|
|
ld bc, VisitedSpawns - PlayerID
|
|
call CopyBytes
|
|
ld hl, $a833
|
|
ld de, VisitedSpawns
|
|
ld bc, PartyCount - VisitedSpawns
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld a, [$be45]
|
|
cp $4
|
|
jr nz, .asm_15008
|
|
ld a, $3
|
|
ld [$be45], a
|
|
.asm_15008
|
|
call CloseSRAM
|
|
ret
|
|
|
|
Function1500c: ; 1500c
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, $a865
|
|
ld de, PartyCount
|
|
ld bc, wdff5 - PartyCount
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ret
|
|
; 15021
|
|
|
|
|
|
Function15021: ; 15021 (5:5021)
|
|
call Function150d8
|
|
call Function1517d
|
|
ret
|
|
|
|
Function15028: ; 15028 (5:5028)
|
|
ld hl, $a009
|
|
ld bc, $b7a
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
call Function15273
|
|
ld a, [$ad0d]
|
|
cp e
|
|
jr nz, .asm_15040
|
|
ld a, [$ad0e]
|
|
cp d
|
|
.asm_15040
|
|
push af
|
|
call CloseSRAM
|
|
pop af
|
|
ret
|
|
|
|
Function15046: ; 15046 (5:5046)
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
ld hl, $b209
|
|
ld de, PlayerID
|
|
ld bc, VisitedSpawns - PlayerID
|
|
call CopyBytes
|
|
ld hl, $ba33
|
|
ld de, VisitedSpawns
|
|
ld bc, PartyCount - VisitedSpawns
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ret
|
|
|
|
Function15067: ; 15067 (5:5067)
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
ld hl, $ba65
|
|
ld de, PartyCount
|
|
ld bc, wdff5 - PartyCount
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ret
|
|
|
|
Function1507c: ; 1507c (5:507c)
|
|
ld hl, $b209
|
|
ld bc, $b7a
|
|
ld a, $0
|
|
call GetSRAMBank
|
|
call Function15273
|
|
ld a, [$bf0d]
|
|
cp e
|
|
jr nz, .asm_15094
|
|
ld a, [$bf0e]
|
|
cp d
|
|
.asm_15094
|
|
push af
|
|
call CloseSRAM
|
|
pop af
|
|
ret
|
|
|
|
|
|
Function1509a: ; 1509a
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, PlayerGender
|
|
ld de, $be3d
|
|
ld bc, wd479 - PlayerGender
|
|
call CopyBytes
|
|
ld hl, wd479
|
|
ld a, [hli]
|
|
ld [$a60e], a
|
|
ld a, [hli]
|
|
ld [$a60f], a
|
|
jp CloseSRAM
|
|
; 150b9
|
|
|
|
|
|
Function150b9: ; 150b9 (5:50b9)
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, $be3d
|
|
ld de, PlayerGender
|
|
ld bc, wd479 - PlayerGender
|
|
call CopyBytes
|
|
ld hl, wd479
|
|
ld a, [$a60e]
|
|
ld [hli], a
|
|
ld a, [$a60f]
|
|
ld [hli], a
|
|
jp CloseSRAM
|
|
|
|
|
|
Function150d8: ; 150d8
|
|
ld a, [wCurBox]
|
|
cp NUM_BOXES
|
|
jr c, .asm_150e3
|
|
xor a
|
|
ld [wCurBox], a
|
|
|
|
.asm_150e3
|
|
ld e, a
|
|
ld d, 0
|
|
ld hl, Unknown_1522d
|
|
rept 5
|
|
add hl, de
|
|
endr
|
|
ld a, [hli]
|
|
push af
|
|
ld a, [hli]
|
|
ld e, a
|
|
ld a, [hli]
|
|
ld d, a
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
pop af
|
|
ret
|
|
; 150f9
|
|
|
|
Function150f9: ; 150f9
|
|
push hl
|
|
push af
|
|
push de
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, sBoxCount
|
|
ld de, wc608
|
|
ld bc, $01e0
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
pop de
|
|
pop af
|
|
push af
|
|
push de
|
|
call GetSRAMBank
|
|
ld hl, wc608
|
|
ld bc, $01e0
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, $aef0
|
|
ld de, wc608
|
|
ld bc, $01e0
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
pop de
|
|
pop af
|
|
ld hl, $01e0
|
|
add hl, de
|
|
ld e, l
|
|
ld d, h
|
|
push af
|
|
push de
|
|
call GetSRAMBank
|
|
ld hl, wc608
|
|
ld bc, $01e0
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, $b0d0
|
|
ld de, wc608
|
|
ld bc, $008e
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
pop de
|
|
pop af
|
|
ld hl, $01e0
|
|
add hl, de
|
|
ld e, l
|
|
ld d, h
|
|
call GetSRAMBank
|
|
ld hl, wc608
|
|
ld bc, $008e
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
pop hl
|
|
ret
|
|
; 1517d
|
|
|
|
|
|
Function1517d: ; 1517d (5:517d)
|
|
push hl
|
|
ld l, e
|
|
ld h, d
|
|
push af
|
|
push hl
|
|
call GetSRAMBank
|
|
ld de, wc608
|
|
ld bc, $1e0
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, wc608
|
|
ld de, $ad10
|
|
ld bc, $1e0
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
pop hl
|
|
pop af
|
|
ld de, $1e0
|
|
add hl, de
|
|
push af
|
|
push hl
|
|
call GetSRAMBank
|
|
ld de, wc608
|
|
ld bc, $1e0
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, wc608
|
|
ld de, $aef0
|
|
ld bc, $1e0
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
pop hl
|
|
pop af
|
|
ld de, $1e0
|
|
add hl, de
|
|
call GetSRAMBank
|
|
ld de, wc608
|
|
ld bc, $8e
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ld a, $1
|
|
call GetSRAMBank
|
|
ld hl, wc608
|
|
ld de, $b0d0
|
|
ld bc, $8e
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
pop hl
|
|
ret
|
|
|
|
|
|
Function151fb: ; 151fb
|
|
ld hl, Unknown_1522d
|
|
ld c, $e
|
|
.outerloop
|
|
push bc
|
|
ld a, [hli]
|
|
call GetSRAMBank
|
|
ld a, [hli]
|
|
ld e, a
|
|
ld a, [hli]
|
|
ld d, a
|
|
xor a
|
|
ld [de], a
|
|
inc de
|
|
ld a, -1
|
|
ld [de], a
|
|
inc de
|
|
ld bc, $044c
|
|
.loop
|
|
xor a
|
|
ld [de], a
|
|
inc de
|
|
dec bc
|
|
ld a, b
|
|
or c
|
|
jr nz, .loop
|
|
ld a, [hli]
|
|
ld e, a
|
|
ld a, [hli]
|
|
ld d, a
|
|
ld a, -1
|
|
ld [de], a
|
|
inc de
|
|
xor a
|
|
ld [de], a
|
|
call CloseSRAM
|
|
pop bc
|
|
dec c
|
|
jr nz, .outerloop
|
|
ret
|
|
; 1522d
|
|
|
|
Unknown_1522d: ; 1522d
|
|
; dbww bank, address, address
|
|
dbww $02, $a000, $a44e ; 2, $a000, $a44e
|
|
dbww $02, $a450, $a89e ; 2, $a450, $a89e
|
|
dbww $02, $a8a0, $acee ; 2, $a8a0, $acee
|
|
dbww $02, $acf0, $b13e ; 2, $acf0, $b13e
|
|
dbww $02, $b140, $b58e ; 2, $b140, $b5de
|
|
dbww $02, $b590, $b9de ; 2, $b590, $b9de
|
|
dbww $02, $b9e0, $be2e ; 2, $b9e0, $be2e
|
|
|
|
dbww $03, $a000, $a44e ; 3, $a000, $a44e
|
|
dbww $03, $a450, $a89e ; 3, $a450, $a89e
|
|
dbww $03, $a8a0, $acee ; 3, $a8a0, $acee
|
|
dbww $03, $acf0, $b13e ; 3, $acf0, $b13e
|
|
dbww $03, $b140, $b58e ; 3, $b140, $b58e
|
|
dbww $03, $b590, $b9de ; 3, $b590, $b9de
|
|
dbww $03, $b9e0, $be2e ; 3, $b9e0, $be2e
|
|
; 15273
|
|
|
|
|
|
Function15273: ; 15273
|
|
ld de, 0
|
|
.loop
|
|
ld a, [hli]
|
|
add e
|
|
ld e, a
|
|
ld a, 0
|
|
adc d
|
|
ld d, a
|
|
dec bc
|
|
ld a, b
|
|
or c
|
|
jr nz, .loop
|
|
ret
|
|
; 15283
|
|
|
|
|
|
UnknownText_0x15283: ; 0x15283
|
|
; Would you like to save the game?
|
|
text_jump UnknownText_0x1c454b
|
|
db "@"
|
|
; 0x15288
|
|
|
|
UnknownText_0x15288: ; 0x15288
|
|
; SAVING… DON'T TURN OFF THE POWER.
|
|
text_jump UnknownText_0x1c456d
|
|
db "@"
|
|
; 0x1528d
|
|
|
|
UnknownText_0x1528d: ; 0x1528d
|
|
; saved the game.
|
|
text_jump UnknownText_0x1c4590
|
|
db "@"
|
|
; 0x15292
|
|
|
|
UnknownText_0x15292: ; 0x15292
|
|
; There is already a save file. Is it OK to overwrite?
|
|
text_jump UnknownText_0x1c45a3
|
|
db "@"
|
|
; 0x15297
|
|
|
|
UnknownText_0x15297: ; 0x15297
|
|
; There is another save file. Is it OK to overwrite?
|
|
text_jump UnknownText_0x1c45d9
|
|
db "@"
|
|
; 0x1529c
|
|
|
|
UnknownText_0x1529c: ; 0x1529c
|
|
; The save file is corrupted!
|
|
text_jump UnknownText_0x1c460d
|
|
db "@"
|
|
; 0x152a1
|
|
|
|
UnknownText_0x152a1: ; 0x152a1
|
|
; When you change a #MON BOX, data will be saved. OK?
|
|
text_jump UnknownText_0x1c462a
|
|
db "@"
|
|
; 0x152a6
|
|
|
|
UnknownText_0x152a6: ; 0x152a6
|
|
; Each time you move a #MON, data will be saved. OK?
|
|
text_jump UnknownText_0x1c465f
|
|
db "@"
|
|
; 0x152ab
|