Save, Bill's PC

This commit is contained in:
PikalaxALT
2015-11-17 23:29:14 -05:00
parent 27ef600ace
commit bc1870e3f4
12 changed files with 218 additions and 199 deletions

View File

@@ -3,11 +3,11 @@ SaveMenu: ; 14a1a
callba Function5e9a
call SpeechTextBox
call UpdateSprites
callba Function4cf45
callba SaveMenu_LoadDETile
ld hl, UnknownText_0x15283
call SaveTheGame_yesorno
jr nz, .refused
call CheckForExistingSaveFile
call AskOverwriteSaveFile
jr c, .refused
call SetWRAMStateForSave
call _SavingDontTurnOffThePower
@@ -15,36 +15,37 @@ SaveMenu: ; 14a1a
call ExitMenu
and a
ret
.refused
call ExitMenu
call Functiond90
callba Function4cf45
callba SaveMenu_LoadDETile
scf
ret
Function14a58: ; 14a58
call SetWRAMStateForSave
callba Function14056
callba Function1050d9
callba StageRTCTimeForSave
callba BackupMysteryGift
call SavePokemonData
call Function14e13
call SaveChecksum
call SaveBackupPokemonData
call SaveBackupChecksum
callba BackupPartyMonMail
callba Function1406a
callba SaveRTC
call ClearWRAMStateAfterSave
ret
; 14a83
Function14a83: ; 14a83 (5:4a83)
ChangeBoxSaveGame: ; 14a83 (5:4a83)
push de
ld hl, UnknownText_0x152a1
call MenuTextBox
call YesNoBox
call ExitMenu
jr c, .refused
call CheckForExistingSaveFile
call AskOverwriteSaveFile
jr c, .refused
call SetWRAMStateForSave
call SavingDontTurnOffThePower
@@ -61,8 +62,8 @@ Function14a83: ; 14a83 (5:4a83)
pop de
ret
Function14ab2: ; 14ab2
call CheckForExistingSaveFile
Link_SaveGame: ; 14ab2
call AskOverwriteSaveFile
jr c, .refused
call SetWRAMStateForSave
call _SavingDontTurnOffThePower
@@ -73,7 +74,7 @@ Function14ab2: ; 14ab2
ret
; 14ac2
Function14ac2: ; 14ac2
MovePkmnWOMail_SaveGame: ; 14ac2
call SetWRAMStateForSave
push de
call SaveBox
@@ -93,14 +94,14 @@ Function14ad5: ; 14ad5
ld a, e
ld [wCurBox], a
ld a, $1
ld [wcfcd], a
callba Function14056
callba Function1050d9
ld [wSaveFileExists], a
callba StageRTCTimeForSave
callba BackupMysteryGift
call ValidateSave
call SaveOptions
call SavePlayerData
call SavePokemonData
call Function14e13
call SaveChecksum
call ValidateBackupSave
call SaveBackupOptions
call SaveBackupPlayerData
@@ -108,31 +109,31 @@ Function14ad5: ; 14ad5
call SaveBackupChecksum
callba BackupPartyMonMail
callba BackupMobileEventIndex
callba Function1406a
callba SaveRTC
call LoadBox
call ClearWRAMStateAfterSave
ld de, SFX_SAVE
call PlaySFX
ld c, $18
ld c, 24
call DelayFrames
ret
; 14b34
Function14b34: ; 14b34
StartMovePkmnWOMail_SaveGame: ; 14b34
ld hl, UnknownText_0x152a6
call MenuTextBox
call YesNoBox
call ExitMenu
jr c, .asm_14b52
call CheckForExistingSaveFile
jr c, .asm_14b52
jr c, .refused
call AskOverwriteSaveFile
jr c, .refused
call SetWRAMStateForSave
call _SavingDontTurnOffThePower
call ClearWRAMStateAfterSave
and a
ret
.asm_14b52
.refused
scf
ret
; 14b54
@@ -177,8 +178,8 @@ SaveGameData: ; 14b85
ret
; 14b89
CheckForExistingSaveFile: ; 14b89
ld a, [wcfcd]
AskOverwriteSaveFile: ; 14b89
ld a, [wSaveFileExists]
and a
jr z, .erase
call Function14bcb
@@ -269,15 +270,15 @@ SavedTheGame: ; 14be6
SaveGameData_: ; 14c10
ld a, 1
ld [wcfcd], a
callba Function14056
callba Function1050d9
ld [wSaveFileExists], a
callba StageRTCTimeForSave
callba BackupMysteryGift
call ValidateSave
call SaveOptions
call SavePlayerData
call SavePokemonData
call SaveBox
call Function14e13
call SaveChecksum
call ValidateBackupSave
call SaveBackupOptions
call SaveBackupPlayerData
@@ -286,14 +287,14 @@ SaveGameData_: ; 14c10
call UpdateStackTop
callba BackupPartyMonMail
callba BackupMobileEventIndex
callba Function1406a
ld a, BANK(s1_be45)
callba SaveRTC
ld a, BANK(sSaveType)
call GetSRAMBank
ld a, [s1_be45]
ld a, [sSaveType]
cp $4
jr nz, .ok
xor a
ld [s1_be45], a
ld [sSaveType], a
.ok
call CloseSRAM
ret
@@ -371,7 +372,7 @@ ErasePreviousSave: ; 14cbb
call EraseHallOfFame
call EraseLinkBattleStats
call EraseMysteryGift
call Function14d68
call SaveData
call Function14d5c
ld a, BANK(sStackTop)
call GetSRAMBank
@@ -395,10 +396,10 @@ EraseLinkBattleStats: ; 14ce2
; 14cf4
EraseMysteryGift: ; 14cf4
ld a, BANK(s0_abe4)
ld a, BANK(sBackupMysteryGiftItem)
call GetSRAMBank
ld hl, s0_abe4
ld bc, s0_abe4End - s0_abe4
ld hl, sBackupMysteryGiftItem
ld bc, sBackupMysteryGiftItemEnd - sBackupMysteryGiftItem
xor a
call ByteFill
jp CloseSRAM
@@ -437,15 +438,15 @@ Unknown_14d2c: ; 14d2c
; 14d5c
Function14d5c: ; 14d5c
ld a, BANK(s1_be45)
ld a, BANK(sSaveType)
call GetSRAMBank
xor a
ld [s1_be45], a
ld [sSaveType], a
jp CloseSRAM
; 14d68
Function14d68: ; 14d68
call Function1509a
SaveData: ; 14d68
call _SaveData
ret
; 14d6c
@@ -547,7 +548,7 @@ SaveBox: ; 14e0c
ret
; 14e13
Function14e13: ; 14e13
SaveChecksum: ; 14e13
ld hl, sGameData
ld bc, sGameDataEnd - sGameData
ld a, BANK(sGameData)
@@ -632,7 +633,7 @@ TryLoadSaveFile: ; 14ea5 (5:4ea5)
call LoadBox
callba RestorePartyMonMail
callba RestoreMobileEventIndex
callba Function1050ea
callba RestoreMysteryGift
call ValidateBackupSave
call SaveBackupOptions
call SaveBackupPlayerData
@@ -649,12 +650,12 @@ TryLoadSaveFile: ; 14ea5 (5:4ea5)
call LoadBox
callba RestorePartyMonMail
callba RestoreMobileEventIndex
callba Function1050ea
callba RestoreMysteryGift
call ValidateSave
call SaveOptions
call SavePlayerData
call SavePokemonData
call Function14e13
call SaveChecksum
and a
ret
@@ -671,11 +672,11 @@ TryLoadSaveFile: ; 14ea5 (5:4ea5)
ret
Function14f1c: ; 14f1c
TryLoadSaveData: ; 14f1c
xor a
ld [wcfcd], a
call Function14f84
ld a, [wcfcd]
ld [wSaveFileExists], a
call CheckPrimarySaveFile
ld a, [wSaveFileExists]
and a
jr z, .backup
@@ -693,8 +694,8 @@ Function14f1c: ; 14f1c
ret
.backup
call Function14faf
ld a, [wcfcd]
call CheckBackupSaveFile
ld a, [wSaveFileExists]
and a
jr z, .corrupt
@@ -716,7 +717,7 @@ Function14f1c: ; 14f1c
ld de, Options
ld bc, OptionsEnd - Options
call CopyBytes
call Function67e
call PanicResetClock
ret
; 14f7c
@@ -731,7 +732,7 @@ DefaultOptions: ; 14f7c
db $00
; 14f84
Function14f84: ; 14f84
CheckPrimarySaveFile: ; 14f84
ld a, BANK(s1_a008)
call GetSRAMBank
ld a, [s1_a008]
@@ -746,14 +747,14 @@ Function14f84: ; 14f84
call CopyBytes
call CloseSRAM
ld a, $1
ld [wcfcd], a
ld [wSaveFileExists], a
.nope
call CloseSRAM
ret
; 14faf
Function14faf: ; 14faf
CheckBackupSaveFile: ; 14faf
ld a, BANK(s0_b208)
call GetSRAMBank
ld a, [s0_b208]
@@ -767,7 +768,7 @@ Function14faf: ; 14faf
ld bc, OptionsEnd - Options
call CopyBytes
ld a, $2
ld [wcfcd], a
ld [wSaveFileExists], a
.nope
call CloseSRAM
@@ -787,14 +788,14 @@ LoadPlayerData: ; 14fd7 (5:4fd7)
ld bc, wMapDataEnd - wMapData
call CopyBytes
call CloseSRAM
ld a, BANK(s1_be45)
ld a, BANK(sSaveType)
call GetSRAMBank
ld a, [s1_be45]
ld a, [sSaveType]
cp $4
jr nz, .asm_15008
jr nz, .not_4
ld a, $3
ld [s1_be45], a
.asm_15008
ld [sSaveType], a
.not_4
call CloseSRAM
ret
@@ -822,10 +823,10 @@ VerifyChecksum: ; 15028 (5:5028)
call Checksum
ld a, [sChecksum + 0]
cp e
jr nz, .asm_15040
jr nz, .fail
ld a, [sChecksum + 1]
cp d
.asm_15040
.fail
push af
call CloseSRAM
pop af
@@ -863,17 +864,17 @@ VerifyBackupChecksum: ; 1507c (5:507c)
call Checksum
ld a, [sBackupChecksum + 0]
cp e
jr nz, .asm_15094
jr nz, .fail
ld a, [sBackupChecksum + 1]
cp d
.asm_15094
.fail
push af
call CloseSRAM
pop af
ret
Function1509a: ; 1509a
_SaveData: ; 1509a
ld a, BANK(sCrystalData)
call GetSRAMBank
ld hl, wCrystalData