Prev: 43953 Up: Map Next: 43999
43965: Action: Offer Save
Prints the score, asks whether to save, and sets flag bit 2.
Input
F The zero flag is set when the conditions hold
IX Pointer to the script entry
When the condition failed, skip this action.
Action_OfferSave 43965 JP NZ,RunScript_SkipAction_OneByte Jump to RunScript_SkipAction_OneByte if the condition failed.
Show the score, then ask "Want to save the game? Y/N".
43968 CALL Print_Scoring Call Print_Scoring to print the score.
43971 LD HL,22 HL=Messaging_WantToSaveTheGame.
43974 CALL PrintCompressedStringAndNewline Call PrintCompressedStringAndNewline to print that compressed string and a newline.
N declines the save and Y writes the position to tape.
SavePrompt_Loop 43977 CALL GetUserInput Call GetUserInput to read the answer key.
43980 CP 78 Compare it with "N".
43982 JR Z,OfferSave_SetFlag Jump to OfferSave_SetFlag if the player declined.
43984 CP 89 Compare it with "Y".
43986 JR NZ,SavePrompt_Loop Jump to SavePrompt_Loop if the key was neither Y nor N.
43988 CALL SaveGame Call SaveGame to save the game to tape.
Remember that the offer was made by setting flag bit 2 then resume the script.
OfferSave_SetFlag 43991 LD A,2 Load flag bit 2 into A.
43993 CALL SetFlag Call SetFlag to set that flag bit in Flags_GameStates.
43996 JP RunScript_SkipAction_OneByte Jump to RunScript_SkipAction_OneByte.
Prev: 43953 Up: Map Next: 43999