place the sound_exit_nhsound() calls

This commit is contained in:
nhmall
2023-01-22 19:02:37 -05:00
parent 2da828324f
commit 3803a711bd
3 changed files with 15 additions and 0 deletions
+2
View File
@@ -6331,6 +6331,8 @@ end_of_input(void)
#endif #endif
if (gp.program_state.something_worth_saving) if (gp.program_state.something_worth_saving)
(void) dosave0(); (void) dosave0();
if (soundprocs.sound_exit_nhsound)
(*soundprocs.sound_exit_nhsound)("end_of_input");
if (iflags.window_inited) if (iflags.window_inited)
exit_nhwindows((char *) 0); exit_nhwindows((char *) 0);
clearlocks(); clearlocks();
+10
View File
@@ -359,6 +359,9 @@ done2(void)
#ifndef NO_SIGNAL #ifndef NO_SIGNAL
(void) signal(SIGINT, (SIG_RET_TYPE) done1); (void) signal(SIGINT, (SIG_RET_TYPE) done1);
#endif #endif
if (soundprocs.sound_exit_nhsound)
(*soundprocs.sound_exit_nhsound)("done2");
exit_nhwindows((char *) 0); exit_nhwindows((char *) 0);
NH_abort(); NH_abort();
} else if (c == 'q') } else if (c == 'q')
@@ -608,6 +611,8 @@ panic VA_DECL(const char *, str)
if (iflags.window_inited) { if (iflags.window_inited) {
raw_print("\r\nOops..."); raw_print("\r\nOops...");
wait_synch(); /* make sure all pending output gets flushed */ wait_synch(); /* make sure all pending output gets flushed */
if (soundprocs.sound_exit_nhsound)
(*soundprocs.sound_exit_nhsound)("panic");
exit_nhwindows((char *) 0); exit_nhwindows((char *) 0);
iflags.window_inited = 0; /* they're gone; force raw_print()ing */ iflags.window_inited = 0; /* they're gone; force raw_print()ing */
} }
@@ -1668,6 +1673,11 @@ really_done(int how)
destroy_nhwindow(endwin); destroy_nhwindow(endwin);
dump_close_log(); dump_close_log();
/* shut down soundlib */
if (soundprocs.sound_exit_nhsound)
(*soundprocs.sound_exit_nhsound)("really_done");
/* /*
* "So when I die, the first thing I will see in Heaven is a score list?" * "So when I die, the first thing I will see in Heaven is a score list?"
* *
+3
View File
@@ -63,6 +63,9 @@ dosave(void)
#endif #endif
if (dosave0()) { if (dosave0()) {
u.uhp = -1; /* universal game's over indicator */ u.uhp = -1; /* universal game's over indicator */
if (soundprocs.sound_exit_nhsound)
(*soundprocs.sound_exit_nhsound)("dosave");
/* make sure they see the Saving message */ /* make sure they see the Saving message */
display_nhwindow(WIN_MESSAGE, TRUE); display_nhwindow(WIN_MESSAGE, TRUE);
exit_nhwindows("Be seeing you..."); exit_nhwindows("Be seeing you...");