From: nethack.rankin Date: Mon, 10 Mar 2003 23:36:01 +0000 (+0000) Subject: tune notes hint X-Git-Tag: MOVE2GIT~2093 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7350d4fc98d5ec977bccd3dd305c4e99d3c03144;p=nethack tune notes hint Add 's suggestion for the expected input value to the prompt for playing a tune, and implement handling for alternate note "H" which seems to be used as a variation of "B" by some Europeans. The Amiga part is untested but "can't be wrong"(tm). --- diff --git a/doc/fixes34.2 b/doc/fixes34.2 index bd93be259..d5547fc14 100644 --- a/doc/fixes34.2 +++ b/doc/fixes34.2 @@ -9,6 +9,7 @@ two invisible monsters hitting one another should not be visible if only one monster in a monster-vs-monster fight is visible, show an I symbol for the other one whether it is an attacker or defender display "It" and not "The invisible " when an invisible pet eats food. +include a hint about expected input when prompting for musical notes Platform- and/or Interface-Specific Fixes diff --git a/src/music.c b/src/music.c index 632b34cd6..72ee70de2 100644 --- a/src/music.c +++ b/src/music.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)music.c 3.4 2001/12/03 */ +/* SCCS Id: @(#)music.c 3.4 2003/03/10 */ /* Copyright (c) 1989 by Jean-Christophe Collet */ /* NetHack may be freely redistributed. See license for details. */ @@ -477,9 +477,7 @@ do_play_instrument(instr) struct obj *instr; { char buf[BUFSZ], c = 'y'; -#ifndef AMIGA - char *s; -#endif + char *s; int x,y; boolean ok; @@ -491,14 +489,22 @@ struct obj *instr; c = yn("Improvise?"); } if (c == 'n') { - if (u.uevent.uheard_tune == 2 && yn("Play the passtune?") == 'y') - Strcpy(buf, tune); - else - getlin("What tune are you playing? [what 5 notes]", buf); -#ifndef AMIGA - /* The AMIGA supports two octaves of notes */ - for (s=buf; *s; s++) *s = highc(*s); + if (u.uevent.uheard_tune == 2 && yn("Play the passtune?") == 'y') { + Strcpy(buf, tune); + } else { + getlin("What tune are you playing? [5 notes, A-G]", buf); + (void)mungspaces(buf); + /* convert to uppercase and change any "H" to the expected "B" */ + for (s = buf; *s; s++) { +#ifndef AMIGA + *s = highc(*s); +#else + /* The AMIGA supports two octaves of notes */ + if (*s == 'h') *s = 'b'; #endif + if (*s == 'H') *s = 'B'; + } + } You("extract a strange sound from %s!", the(xname(instr))); #ifdef UNIX386MUSIC /* if user is at the console, play through the console speaker */