Ctrl-S to toggle sound during play
fixes https://github.com/a2-4am/million-perfect-letters/issues/6
This commit is contained in:
parent
16ab81e1cc
commit
e8bafc1c6a
|
@ -3,6 +3,7 @@
|
|||
;
|
||||
; Public functions:
|
||||
; - InitSound
|
||||
; - ToggleSoundPref
|
||||
; - ReinitSoundAfterPrefChange
|
||||
; - PlaySoundToCompletion
|
||||
; - PlaySound
|
||||
|
@ -50,6 +51,13 @@ k16251Progression
|
|||
!word M_ii
|
||||
!word M_V
|
||||
|
||||
ToggleSoundPref
|
||||
lda gSoundPref
|
||||
eor #$01
|
||||
sta gSoundPref
|
||||
jsr SavePrefs
|
||||
; /!\ execution falls through to ReinitSoundAfterPrefChange
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; ReinitSoundAfterPrefChange
|
||||
; reinitialize self-modified code that relies on preference values
|
||||
|
|
|
@ -27,14 +27,15 @@ HelpEventLoop
|
|||
DrawHelpText
|
||||
; [private]
|
||||
bit TEXTMODE
|
||||
+PRINT_AT sHelpHeader1, 2, 7
|
||||
+PRINT_AT sHelpHeader2, 4, 7
|
||||
+PRINT_AT sAsterisk, 7, 20
|
||||
+PRINT_AT sHelpLeftRight, 10, 0
|
||||
+PRINT_AT sHelpUpDown, 12, 0
|
||||
+PRINT_AT sHelpLetters, 14, 0
|
||||
+PRINT_AT sHelpRestart, 16, 0
|
||||
+PRINT_AT sHelpSkip, 18, 0
|
||||
+PRINT_AT sHelpQuit, 20, 0
|
||||
+PRINT_AT sHelpHeader1, 1, 7
|
||||
+PRINT_AT sHelpHeader2, 3, 7
|
||||
+PRINT_AT sAsterisk, 6, 20
|
||||
+PRINT_AT sHelpLeftRight, 9, 0
|
||||
+PRINT_AT sHelpUpDown, 11, 0
|
||||
+PRINT_AT sHelpLetters, 13, 0
|
||||
+PRINT_AT sHelpRestart, 15, 0
|
||||
+PRINT_AT sHelpSkip, 17, 0
|
||||
+PRINT_AT sHelpSound, 19, 0
|
||||
+PRINT_AT sHelpQuit, 21, 0
|
||||
bit GFXMODE
|
||||
rts
|
||||
|
|
|
@ -109,11 +109,7 @@ MainMenuEventC
|
|||
rts
|
||||
|
||||
MainMenuEventS
|
||||
lda gSoundPref
|
||||
eor #$01
|
||||
sta gSoundPref
|
||||
jsr SavePrefs
|
||||
jsr ReinitSoundAfterPrefChange
|
||||
jsr ToggleSoundPref
|
||||
ldx #kStayOnMainMenu ; Z=1 so caller will stay in main menu event loop
|
||||
clc ; C=0 so caller will only do a partial screen refresh
|
||||
rts
|
||||
|
|
|
@ -45,6 +45,7 @@ kPlayKeys ; must keep in sync with kPlayKeyHandlersLo
|
|||
!byte $1B ; Esc
|
||||
!byte $12 ; Ctrl-R
|
||||
!byte $0E ; Ctrl-N
|
||||
!byte $13 ; Ctrl-S
|
||||
!byte $0D ; Return
|
||||
!byte $2F ; /
|
||||
!byte $3F ; ?
|
||||
|
@ -58,6 +59,7 @@ kPlayKeyHandlersLo
|
|||
!byte <PlayEventEsc
|
||||
!byte <PlayEventCtrlR
|
||||
!byte <PlayEventCtrlN
|
||||
!byte <PlayEventCtrlS
|
||||
!byte <PlayEventReturn
|
||||
!byte <PlayEventQuestion
|
||||
!byte <PlayEventQuestion
|
||||
|
@ -71,6 +73,7 @@ kPlayKeyHandlersHi
|
|||
!byte >PlayEventEsc
|
||||
!byte >PlayEventCtrlR
|
||||
!byte >PlayEventCtrlN
|
||||
!byte >PlayEventCtrlS
|
||||
!byte >PlayEventReturn
|
||||
!byte >PlayEventQuestion
|
||||
!byte >PlayEventQuestion
|
||||
|
@ -133,6 +136,11 @@ PlayEventCtrlN
|
|||
ldx #kRequestedSkip ; caller will exit play event loop
|
||||
rts
|
||||
|
||||
PlayEventCtrlS
|
||||
jsr ToggleSoundPref
|
||||
ldx #kKeepPlaying
|
||||
rts
|
||||
|
||||
PlayEventReturn
|
||||
ldy gSelectedLogicalColumn
|
||||
beq +
|
||||
|
|
|
@ -147,6 +147,9 @@ sHelpRestart
|
|||
sHelpSkip
|
||||
!byte 40
|
||||
!raw "CTRL-N.......................NEXT PUZZLE"
|
||||
sHelpSound
|
||||
!byte 40
|
||||
!raw "CTRL-S......................TOGGLE SOUND"
|
||||
sHelpQuit
|
||||
!byte 40
|
||||
!raw "ESC............................MAIN MENU"
|
||||
|
|
Loading…
Reference in New Issue