• R/O
  • HTTP
  • SSH
  • HTTPS

hengband: Commit

変愚蛮怒のメインリポジトリです


Commit MetaInfo

Revisionb39d086ef36dca659566ee3f29828c51c6ae0c76 (tree)
Time2014-02-10 22:15:34
Authordeskull <deskull@0568...>
Commiterdeskull

Log Message

Implementing choice music (+ arena/battle/quest)

Change Summary

Incremental Difference

--- a/src/defines.h
+++ b/src/defines.h
@@ -4526,7 +4526,10 @@ extern int PlayerUID;
45264526 #define MUSIC_BASIC_WINNER 12
45274527 #define MUSIC_BASIC_BUILD 13
45284528 #define MUSIC_BASIC_WILD 14
4529-#define MUSIC_BASIC_MAX 15 /*!< BGM定義の最大数 */
4529+#define MUSIC_BASIC_QUEST 15
4530+#define MUSIC_BASIC_ARENA 16
4531+#define MUSIC_BASIC_BATTLE 17
4532+#define MUSIC_BASIC_MAX 18 /*!< BGM定義の最大数 */
45304533
45314534 /*** Sound constants ***/
45324535
--- a/src/main-win.c
+++ b/src/main-win.c
@@ -2451,12 +2451,16 @@ static errr Term_xtra_win_music(int v)
24512451 /* Count the samples */
24522452 for (i = 0; i < SAMPLE_MAX; i++)
24532453 {
2454- if (!music_file[v][i])
2455- break;
2454+ if (!music_file[v][i]) break;
24562455 }
24572456
24582457 /* No sample */
2459- if (i == 0) return (1);
2458+ if (i == 0)
2459+ {
2460+ mciSendCommand(mop.wDeviceID, MCI_STOP, 0, 0);
2461+ mciSendCommand(mop.wDeviceID, MCI_CLOSE, 0, 0);
2462+ return (1);
2463+ }
24602464
24612465 /* Build the path */
24622466 path_build(buf, 1024, ANGBAND_DIR_XTRA_MUSIC, music_file[v][Rand_external(i)]);
--- a/src/util.c
+++ b/src/util.c
@@ -1731,26 +1731,42 @@ void select_floor_music()
17311731 if(p_ptr->wild_mode)
17321732 {
17331733 music_basic(MUSIC_BASIC_WILD);
1734+ return;
17341735 }
1735- else if(p_ptr->town_num)
1736+ else if(p_ptr->inside_arena)
17361737 {
1737- music_basic(MUSIC_BASIC_TOWN);
1738+ music_basic(MUSIC_BASIC_ARENA);
17381739 return;
17391740 }
1740- else if(!dun_level)
1741+ else if(p_ptr->inside_battle)
17411742 {
1742- music_basic(MUSIC_BASIC_FIELD1);
1743+ music_basic(MUSIC_BASIC_BATTLE);
1744+ return;
17431745 }
1744- else
1746+ else if(p_ptr->inside_quest)
1747+ {
1748+ music_basic(MUSIC_BASIC_QUEST);
1749+ return;
1750+ }
1751+ else if(dungeon_type)
17451752 {
17461753 if(dun_level < 40) music_basic(MUSIC_BASIC_DUN_LOW);
17471754 else if(dun_level < 80) music_basic(MUSIC_BASIC_DUN_MED);
17481755 else music_basic(MUSIC_BASIC_DUN_HIGH);
1756+ return;
1757+ }
1758+ else if(p_ptr->town_num)
1759+ {
1760+ music_basic(MUSIC_BASIC_TOWN);
1761+ return;
1762+ }
1763+ else if(!dun_level)
1764+ {
1765+ if(p_ptr->lev >= 45) music_basic(MUSIC_BASIC_FIELD3);
1766+ else if(p_ptr->lev >= 25) music_basic(MUSIC_BASIC_FIELD2);
1767+ else music_basic(MUSIC_BASIC_FIELD1);
1768+ return;
17491769 }
1750-
1751- /* Make a sound (if allowed) */
1752- //TODO Term_xtra(TERM_XTRA_MUSIC_BASIC, val);
1753-
17541770
17551771 }
17561772
--- a/src/variable.c
+++ b/src/variable.c
@@ -682,6 +682,9 @@ const cptr angband_music_basic_name[MUSIC_BASIC_MAX] =
682682 "winner",
683683 "build",
684684 "wild",
685+ "quest",
686+ "arena",
687+ "battle",
685688 };
686689
687690
Show on old repository browser