変愚蛮怒のメインリポジトリです
Revision | b39d086ef36dca659566ee3f29828c51c6ae0c76 (tree) |
---|---|
Time | 2014-02-10 22:15:34 |
Author | deskull <deskull@0568...> |
Commiter | deskull |
Implementing choice music (+ arena/battle/quest)
@@ -4526,7 +4526,10 @@ extern int PlayerUID; | ||
4526 | 4526 | #define MUSIC_BASIC_WINNER 12 |
4527 | 4527 | #define MUSIC_BASIC_BUILD 13 |
4528 | 4528 | #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定義の最大数 */ | |
4530 | 4533 | |
4531 | 4534 | /*** Sound constants ***/ |
4532 | 4535 |
@@ -2451,12 +2451,16 @@ static errr Term_xtra_win_music(int v) | ||
2451 | 2451 | /* Count the samples */ |
2452 | 2452 | for (i = 0; i < SAMPLE_MAX; i++) |
2453 | 2453 | { |
2454 | - if (!music_file[v][i]) | |
2455 | - break; | |
2454 | + if (!music_file[v][i]) break; | |
2456 | 2455 | } |
2457 | 2456 | |
2458 | 2457 | /* 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 | + } | |
2460 | 2464 | |
2461 | 2465 | /* Build the path */ |
2462 | 2466 | path_build(buf, 1024, ANGBAND_DIR_XTRA_MUSIC, music_file[v][Rand_external(i)]); |
@@ -1731,26 +1731,42 @@ void select_floor_music() | ||
1731 | 1731 | if(p_ptr->wild_mode) |
1732 | 1732 | { |
1733 | 1733 | music_basic(MUSIC_BASIC_WILD); |
1734 | + return; | |
1734 | 1735 | } |
1735 | - else if(p_ptr->town_num) | |
1736 | + else if(p_ptr->inside_arena) | |
1736 | 1737 | { |
1737 | - music_basic(MUSIC_BASIC_TOWN); | |
1738 | + music_basic(MUSIC_BASIC_ARENA); | |
1738 | 1739 | return; |
1739 | 1740 | } |
1740 | - else if(!dun_level) | |
1741 | + else if(p_ptr->inside_battle) | |
1741 | 1742 | { |
1742 | - music_basic(MUSIC_BASIC_FIELD1); | |
1743 | + music_basic(MUSIC_BASIC_BATTLE); | |
1744 | + return; | |
1743 | 1745 | } |
1744 | - else | |
1746 | + else if(p_ptr->inside_quest) | |
1747 | + { | |
1748 | + music_basic(MUSIC_BASIC_QUEST); | |
1749 | + return; | |
1750 | + } | |
1751 | + else if(dungeon_type) | |
1745 | 1752 | { |
1746 | 1753 | if(dun_level < 40) music_basic(MUSIC_BASIC_DUN_LOW); |
1747 | 1754 | else if(dun_level < 80) music_basic(MUSIC_BASIC_DUN_MED); |
1748 | 1755 | 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; | |
1749 | 1769 | } |
1750 | - | |
1751 | - /* Make a sound (if allowed) */ | |
1752 | - //TODO Term_xtra(TERM_XTRA_MUSIC_BASIC, val); | |
1753 | - | |
1754 | 1770 | |
1755 | 1771 | } |
1756 | 1772 |
@@ -682,6 +682,9 @@ const cptr angband_music_basic_name[MUSIC_BASIC_MAX] = | ||
682 | 682 | "winner", |
683 | 683 | "build", |
684 | 684 | "wild", |
685 | + "quest", | |
686 | + "arena", | |
687 | + "battle", | |
685 | 688 | }; |
686 | 689 | |
687 | 690 |