diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-17 23:29:14 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-17 23:29:14 -0500 |
commit | bc1870e3f499973fd656d37d134e3f9e4757c980 (patch) | |
tree | e365d2f35c6c81ed31069825577335ae5d0cebb3 /engine | |
parent | 27ef600ace40671a78f5bb3a71f507e42c175f50 (diff) |
Save, Bill's PC
Diffstat (limited to 'engine')
-rwxr-xr-x | engine/billspc.asm | 136 | ||||
-rwxr-xr-x | engine/link.asm | 2 | ||||
-rwxr-xr-x | engine/main_menu.asm | 8 | ||||
-rw-r--r-- | engine/save.asm | 133 |
4 files changed, 146 insertions, 133 deletions
diff --git a/engine/billspc.asm b/engine/billspc.asm index 03a7592ca..1f46ee587 100755 --- a/engine/billspc.asm +++ b/engine/billspc.asm @@ -1165,30 +1165,30 @@ endr cp $f jr z, .asm_e2bf5 ld b, a - call Functione3396 + call GetBoxPointer ld a, b call GetSRAMBank push hl - ld bc, $35 + ld bc, sBoxMon1Level - sBox add hl, bc - ld bc, $20 + ld bc, BOXMON_STRUCT_LENGTH ld a, e call AddNTimes ld a, [hl] ld [TempMonLevel], a pop hl push hl - ld bc, $17 + ld bc, sBoxMon1Item - sBox add hl, bc - ld bc, $20 + ld bc, BOXMON_STRUCT_LENGTH ld a, e call AddNTimes ld a, [hl] ld [TempMonItem], a pop hl - ld bc, $2b + ld bc, sBoxMon1DVs - sBox add hl, bc - ld bc, $20 + ld bc, BOXMON_STRUCT_LENGTH ld a, e call AddNTimes ld de, TempMonDVs @@ -1201,19 +1201,19 @@ endr ret .asm_e2bc6 ld hl, PartyMon1Level - ld bc, $30 + ld bc, PARTYMON_STRUCT_LENGTH ld a, e call AddNTimes ld a, [hl] ld [TempMonLevel], a ld hl, PartyMon1Item - ld bc, $30 + ld bc, PARTYMON_STRUCT_LENGTH ld a, e call AddNTimes ld a, [hl] ld [TempMonItem], a ld hl, PartyMon1DVs - ld bc, $30 + ld bc, PARTYMON_STRUCT_LENGTH ld a, e call AddNTimes ld de, TempMonDVs @@ -1228,21 +1228,21 @@ endr ld a, BANK(sBox) call GetSRAMBank ld hl, sBoxMon1Level - ld bc, $20 + ld bc, BOXMON_STRUCT_LENGTH ld a, e call AddNTimes ld a, [hl] ld [TempMonLevel], a ld hl, sBoxMon1Item - ld bc, $20 + ld bc, BOXMON_STRUCT_LENGTH ld a, e call AddNTimes ld a, [hl] ld [TempMonItem], a ld hl, sBoxMon1DVs - ld bc, $20 + ld bc, BOXMON_STRUCT_LENGTH ld a, e call AddNTimes ld de, TempMonDVs @@ -1307,6 +1307,7 @@ Functione2c6e: ; e2c6e (38:6c6e) ld de, String_e2c67 call PlaceString ret + .asm_e2c7c inc de ld a, [de] @@ -1320,36 +1321,38 @@ Functione2c6e: ; e2c6e (38:6c6e) cp $f jr z, .asm_e2cf1 push hl - call Functione3396 + call GetBoxPointer ld a, b call GetSRAMBank push hl - ld bc, $16 + ld bc, sBoxMons - sBox add hl, bc - ld bc, $20 + ld bc, BOXMON_STRUCT_LENGTH ld a, e call AddNTimes ld a, [hl] pop hl and a jr z, .asm_e2cc2 - ld bc, $372 + ld bc, sBoxMonNicknames - sBox add hl, bc - ld bc, $b + ld bc, PKMN_NAME_LENGTH ld a, e call AddNTimes ld de, StringBuffer1 - ld bc, $b + ld bc, PKMN_NAME_LENGTH call CopyBytes call CloseSRAM pop hl ld de, StringBuffer1 call PlaceString ret + .asm_e2cc2 call CloseSRAM pop hl jr .asm_e2d23 + .asm_e2cc8 push hl ld hl, PartySpecies @@ -1359,19 +1362,21 @@ Functione2c6e: ; e2c6e (38:6c6e) and a jr z, .asm_e2cee ld hl, PartyMonNicknames - ld bc, $b + ld bc, PKMN_NAME_LENGTH ld a, e call AddNTimes ld de, StringBuffer1 - ld bc, $b + ld bc, PKMN_NAME_LENGTH call CopyBytes pop hl ld de, StringBuffer1 call PlaceString ret + .asm_e2cee pop hl jr .asm_e2d23 + .asm_e2cf1 push hl ld a, BANK(sBox) @@ -1394,6 +1399,7 @@ Functione2c6e: ; e2c6e (38:6c6e) ld de, StringBuffer1 call PlaceString ret + .asm_e2d1f call CloseSRAM pop hl @@ -1422,7 +1428,7 @@ Functione2d30: ; e2d30 (38:6d30) cp $f jr z, .asm_e2db7 ld b, a - call Functione3396 + call GetBoxPointer ld a, b call GetSRAMBank inc hl @@ -1447,6 +1453,7 @@ Functione2d30: ; e2d30 (38:6d30) inc a ld [wd004], a jr .asm_e2d57 + .asm_e2d79 call CloseSRAM ld a, $ff @@ -1455,6 +1462,7 @@ Functione2d30: ; e2d30 (38:6d30) inc a ld [wcb2c], a ret + .asm_e2d87 ld hl, PartySpecies .asm_e2d8a @@ -1478,6 +1486,7 @@ Functione2d30: ; e2d30 (38:6d30) inc a ld [wd004], a jr .asm_e2d8a + .asm_e2dac ld a, $ff ld [de], a @@ -1485,6 +1494,7 @@ Functione2d30: ; e2d30 (38:6d30) inc a ld [wcb2c], a ret + .asm_e2db7 ld a, BANK(sBox) call GetSRAMBank @@ -1510,6 +1520,7 @@ Functione2d30: ; e2d30 (38:6d30) inc a ld [wd004], a jr .asm_e2dbf + .asm_e2de1 call CloseSRAM ld a, $ff @@ -1538,10 +1549,11 @@ Functione2e01: ; e2e01 (38:6e01) jr nz, .asm_e2e0b call ClearSprites ret + .asm_e2e0b ld hl, Unknown_e2e2b ld de, Sprites -.done1 +.loop ld a, [hl] cp $ff ret z @@ -1561,7 +1573,7 @@ Functione2e01: ; e2e01 (38:6e01) ld a, [hli] ld [de], a inc de - jr .done1 + jr .loop ; e2e2b (38:6e2b) Unknown_e2e2b: ; e2e2b @@ -1795,11 +1807,11 @@ Functione2fd6: ; e2fd6 (38:6fd6) ld a, BANK(sBox) call GetSRAMBank ld hl, sBoxSpecies - call Functione3357 + call CopySpeciesToTemp ld hl, sBoxMonNicknames - call Functione3363 + call CopyNicknameToTemp ld hl, sBoxMonOT - call Functione3376 + call CopyOTNameToTemp ld hl, sBoxMons ld bc, BOXMON_STRUCT_LENGTH ld a, [CurPartyMon] @@ -1813,11 +1825,11 @@ Functione2fd6: ; e2fd6 (38:6fd6) .asm_e3020 ld hl, PartySpecies - call Functione3357 + call CopySpeciesToTemp ld hl, PartyMonNicknames - call Functione3363 + call CopyNicknameToTemp ld hl, PartyMonOT - call Functione3376 + call CopyOTNameToTemp ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) ld bc, PARTYMON_STRUCT_LENGTH ld a, [CurPartyMon] @@ -1829,27 +1841,27 @@ Functione2fd6: ; e2fd6 (38:6fd6) .asm_e3048 ld b, a - call Functione3396 + call GetBoxPointer ld a, b call GetSRAMBank push hl inc hl - call Functione3357 + call CopySpeciesToTemp pop hl push hl - ld bc, $372 + ld bc, sBoxMonNicknames - sBox add hl, bc - call Functione3363 + call CopyNicknameToTemp pop hl push hl - ld bc, $296 + ld bc, sBoxMonOT - sBox add hl, bc - call Functione3376 + call CopyOTNameToTemp pop hl - ld bc, $16 + ld bc, sBoxMons - sBox add hl, bc - ld bc, $20 - call Functione3389 + ld bc, BOXMON_STRUCT_LENGTH + call CopyMonToTemp call CloseSRAM callba Function5088b ret @@ -2141,7 +2153,7 @@ Functione32b0: ; e32b0 ld a, [wcb31] dec a ld e, a - callba Function14ac2 + callba MovePkmnWOMail_SaveGame ld a, [wcb30] ld hl, wcb2f add [hl] @@ -2149,14 +2161,14 @@ Functione32b0: ; e32b0 ld a, $1 call GetSRAMBank ld hl, sBoxSpecies - call Functione3357 + call CopySpeciesToTemp ld hl, sBoxMonNicknames - call Functione3363 + call CopyNicknameToTemp ld hl, sBoxMonOT - call Functione3376 + call CopyOTNameToTemp ld hl, sBoxMons ld bc, BOXMON_STRUCT_LENGTH - call Functione3389 + call CopyMonToTemp call CloseSRAM callba Function5088b ld a, PC_DEPOSIT @@ -2169,7 +2181,7 @@ Functione32fa: ; e32fa ld a, [wcb2e] dec a ld e, a - callba Function14ac2 + callba MovePkmnWOMail_SaveGame ld a, [wcb2b] ld hl, wcb2a add [hl] @@ -2184,14 +2196,14 @@ Functione3316: ; e3316 add [hl] ld [CurPartyMon], a ld hl, PartySpecies - call Functione3357 + call CopySpeciesToTemp ld hl, PartyMonNicknames - call Functione3363 + call CopyNicknameToTemp ld hl, PartyMonOT - call Functione3376 + call CopyOTNameToTemp ld hl, PartyMon1Species ld bc, PARTYMON_STRUCT_LENGTH - call Functione3389 + call CopyMonToTemp xor a ld [wPokemonWithdrawDepositParameter], a callba Functione039 @@ -2207,7 +2219,7 @@ Functione3346: ; e3346 ret ; e3357 -Functione3357: ; e3357 (38:7357) +CopySpeciesToTemp: ; e3357 (38:7357) ld a, [CurPartyMon] ld c, a ld b, $0 @@ -2216,36 +2228,36 @@ Functione3357: ; e3357 (38:7357) ld [CurPartySpecies], a ret -Functione3363: ; e3363 (38:7363) - ld bc, $b +CopyNicknameToTemp: ; e3363 (38:7363) + ld bc, PKMN_NAME_LENGTH ld a, [CurPartyMon] call AddNTimes ld de, wd002 - ld bc, $b + ld bc, PKMN_NAME_LENGTH call CopyBytes ret -Functione3376: ; e3376 (38:7376) - ld bc, $b +CopyOTNameToTemp: ; e3376 (38:7376) + ld bc, NAME_LENGTH ld a, [CurPartyMon] call AddNTimes ld de, wd00d - ld bc, $b + ld bc, NAME_LENGTH call CopyBytes ret -Functione3389: ; e3389 (38:7389) +CopyMonToTemp: ; e3389 (38:7389) ld a, [CurPartyMon] call AddNTimes - ld de, wd018 + ld de, wd018_Mon call CopyBytes ret -Functione3396: ; e3396 (38:7396) +GetBoxPointer: ; e3396 (38:7396) dec b ld c, b ld b, 0 - ld hl, Unknown_e33a6 + ld hl, .boxes rept 3 add hl, bc endr @@ -2257,7 +2269,7 @@ endr ret ; e33a6 (38:73a6) -Unknown_e33a6: ; e33a6 +.boxes: ; e33a6 ; bank, address dba sBox1 dba sBox2 @@ -2576,7 +2588,7 @@ Functione36f9: ; e36f9 (38:76f9) ld a, [wCurBox] cp e ret z - callba Function14a83 + callba ChangeBoxSaveGame ret .asm_e3745 diff --git a/engine/link.asm b/engine/link.asm index 6d6e0f403..28b420543 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -3969,7 +3969,7 @@ Function29e53: ; 29e53 Special_TryQuickSave: ; 29e66 ld a, [wd265] push af - callba Function14ab2 + callba Link_SaveGame ld a, $1 jr nc, .asm_29e75 xor a diff --git a/engine/main_menu.asm b/engine/main_menu.asm index 72c6955b1..6e0ab56e5 100755 --- a/engine/main_menu.asm +++ b/engine/main_menu.asm @@ -150,7 +150,7 @@ Function49da4: ; 49da4 nop nop nop - ld a, [wcfcd] + ld a, [wSaveFileExists] and a jr nz, .next ld a, $0 @@ -220,7 +220,7 @@ Function49de4: ; 49de4 ; 49e09 Function49e09: ; 49e09 - ld a, [wcfcd] + ld a, [wSaveFileExists] and a ret z xor a @@ -256,7 +256,7 @@ Function49e27: ; 49e27 Function49e3d: ; 49e3d - ld a, [wcfcd] + ld a, [wSaveFileExists] and a ret z call Function6e3 @@ -566,7 +566,7 @@ Function4a0c2: ; 4a0c2 (12:60c2) pop af and a jr nz, .asm_4a0f9 - callba Function1509a + callba _SaveData .asm_4a0f9 ld c, 5 call DelayFrames diff --git a/engine/save.asm b/engine/save.asm index 4c20c83a4..f314cd4b5 100644 --- a/engine/save.asm +++ b/engine/save.asm @@ -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 |