Renamed MUSIC TYPE options BUILT-IN MUSIC to BUILT-IN/ADDON MUSIC and CUSTOM MUSIC to JUKEBOX; Removed LEVEL-DEPENDENT play order for Jukebox as this is now mainly covered by AddOn packs and future M3U-support

This commit is contained in:
zicodxx 2010-08-17 14:59:57 +00:00
parent f7e009d1c8
commit 745ce38a4d
5 changed files with 16 additions and 37 deletions

View file

@ -1,5 +1,9 @@
D1X-Rebirth Changelog
20100817
--------
main/digi.h, main/menu.c, main/songs.c, main/songs.h: Renamed MUSIC TYPE options BUILT-IN MUSIC to BUILT-IN/ADDON MUSIC and CUSTOM MUSIC to JUKEBOX; Removed LEVEL-DEPENDENT play order for Jukebox as this is now mainly covered by AddOn packs and future M3U-support
20100816
--------
main/net_ipx.c, main/net_udp.c: When switching from COOP to any other game mode, make sure Netgame.max_numplayers, MaxNumNetPlayers as well as the menu text showing the player limit is updated correctly

View file

@ -110,8 +110,7 @@ extern void digi_start_sound_queued( short soundnum, fix volume );
// play-order definitions for custom music
#define MUSIC_CM_PLAYORDER_CONT 0
#define MUSIC_CM_PLAYORDER_LEVELDEP 1
#define MUSIC_CM_PLAYORDER_LEVELALPHA 2
#define MUSIC_CM_PLAYORDER_LEVEL 1
#define SOUND_MAX_VOLUME F1_0 / 2

View file

@ -1126,7 +1126,7 @@ void do_graphics_menu()
} while( i>-1 );
}
int opt_sm_digivol = -1, opt_sm_musicvol = -1, opt_sm_revstereo = -1, opt_sm_mtype0 = -1, opt_sm_mtype1 = -1, opt_sm_mtype2 = -1, opt_sm_mtype3 = -1, opt_sm_redbook_playorder = -1, opt_sm_mtype3_lmpath = -1, opt_sm_mtype3_lmplayorder1 = -1, opt_sm_mtype3_lmplayorder2 = -1, opt_sm_mtype3_lmplayorder3 = -1, opt_sm_cm_mtype3_file1 = -1, opt_sm_cm_mtype3_file2 = -1, opt_sm_cm_mtype3_file3 = -1, opt_sm_cm_mtype3_file4 = -1, opt_sm_cm_mtype3_file5 = -1;
int opt_sm_digivol = -1, opt_sm_musicvol = -1, opt_sm_revstereo = -1, opt_sm_mtype0 = -1, opt_sm_mtype1 = -1, opt_sm_mtype2 = -1, opt_sm_mtype3 = -1, opt_sm_redbook_playorder = -1, opt_sm_mtype3_lmpath = -1, opt_sm_mtype3_lmplayorder1 = -1, opt_sm_mtype3_lmplayorder2 = -1, opt_sm_cm_mtype3_file1 = -1, opt_sm_cm_mtype3_file2 = -1, opt_sm_cm_mtype3_file3 = -1, opt_sm_cm_mtype3_file4 = -1, opt_sm_cm_mtype3_file5 = -1;
void set_extmusic_volume(int volume);
@ -1188,12 +1188,7 @@ int sound_menuset(newmenu *menu, d_event *event, void *userdata)
}
else if (citem == opt_sm_mtype3_lmplayorder2)
{
GameCfg.CMLevelMusicPlayOrder = MUSIC_CM_PLAYORDER_LEVELDEP;
replay = (Game_wind != NULL);
}
else if (citem == opt_sm_mtype3_lmplayorder3)
{
GameCfg.CMLevelMusicPlayOrder = MUSIC_CM_PLAYORDER_LEVELALPHA;
GameCfg.CMLevelMusicPlayOrder = MUSIC_CM_PLAYORDER_LEVEL;
replay = (Game_wind != NULL);
}
break;
@ -1226,7 +1221,7 @@ int sound_menuset(newmenu *menu, d_event *event, void *userdata)
}
#ifdef USE_SDLMIXER
#define SOUND_MENU_NITEMS 31
#define SOUND_MENU_NITEMS 32
#else
#ifdef _WIN32
#define SOUND_MENU_NITEMS 11
@ -1268,7 +1263,7 @@ void do_sound_menu()
#if defined(USE_SDLMIXER) || defined(_WIN32)
opt_sm_mtype1 = nitems;
m[nitems].type = NM_TYPE_RADIO; m[nitems].text = "built-in music"; m[nitems].value = (GameCfg.MusicType == MUSIC_TYPE_BUILTIN); m[nitems].group = 0; nitems++;
m[nitems].type = NM_TYPE_RADIO; m[nitems].text = "built-in/addon music"; m[nitems].value = (GameCfg.MusicType == MUSIC_TYPE_BUILTIN); m[nitems].group = 0; nitems++;
#endif
opt_sm_mtype2 = nitems;
@ -1276,7 +1271,7 @@ void do_sound_menu()
#ifdef USE_SDLMIXER
opt_sm_mtype3 = nitems;
m[nitems].type = NM_TYPE_RADIO; m[nitems].text = "custom music"; m[nitems].value = (GameCfg.MusicType == MUSIC_TYPE_CUSTOM); m[nitems].group = 0; nitems++;
m[nitems].type = NM_TYPE_RADIO; m[nitems].text = "jukebox"; m[nitems].value = (GameCfg.MusicType == MUSIC_TYPE_CUSTOM); m[nitems].group = 0; nitems++;
#endif
@ -1290,23 +1285,24 @@ void do_sound_menu()
#ifdef USE_SDLMIXER
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "";
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "custom music options:";
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "jukebox options:";
opt_sm_mtype3_lmpath = nitems;
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "path to music used for levels";
m[nitems].type = NM_TYPE_INPUT; m[nitems].text = GameCfg.CMLevelMusicPath; m[nitems++].text_len = NM_MAX_TEXT_LEN-1;
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "";
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "level music play order:";
opt_sm_mtype3_lmplayorder1 = nitems;
m[nitems].type = NM_TYPE_RADIO; m[nitems].text = "continuously"; m[nitems].value = (GameCfg.CMLevelMusicPlayOrder == MUSIC_CM_PLAYORDER_CONT); m[nitems].group = 1; nitems++;
opt_sm_mtype3_lmplayorder2 = nitems;
m[nitems].type = NM_TYPE_RADIO; m[nitems].text = "level-dependent"; m[nitems].value = (GameCfg.CMLevelMusicPlayOrder == MUSIC_CM_PLAYORDER_LEVELDEP); m[nitems].group = 1; nitems++;
m[nitems].type = NM_TYPE_RADIO; m[nitems].text = "one track per level"; m[nitems].value = (GameCfg.CMLevelMusicPlayOrder == MUSIC_CM_PLAYORDER_LEVEL); m[nitems].group = 1; nitems++;
opt_sm_mtype3_lmplayorder3 = nitems;
m[nitems].type = NM_TYPE_RADIO; m[nitems].text = "one track per level"; m[nitems].value = (GameCfg.CMLevelMusicPlayOrder == MUSIC_CM_PLAYORDER_LEVELALPHA); m[nitems].group = 1; nitems++;
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "";
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "non-level music:";

View file

@ -144,23 +144,6 @@ void songs_init()
if (fp != NULL)
cfclose(fp);
// Now each song will get it's own number which will serve custom music (and maybe others) as track number
if (Num_bim_songs > 0)
{
int i = 0, j = 0, c = 0;
for (i = 0; i < Num_bim_songs; i++)
{
BIMSongs[i].id = -1;
for (j = 0; j < i; j++)
if (stricmp(BIMSongs[i].filename, BIMSongs[j].filename) == 0)
BIMSongs[i].id = BIMSongs[j].id;
if (BIMSongs[i].id == -1)
BIMSongs[i].id = c++;
}
}
if (GameArg.SndNoMusic)
GameCfg.MusicType = MUSIC_TYPE_NONE;
@ -474,9 +457,7 @@ int songs_play_level_song( int levelnum, int offset )
((GameCfg.CMLevelMusicTrack[0]+1>=GameCfg.CMLevelMusicTrack[1])?GameCfg.CMLevelMusicTrack[0]=0:GameCfg.CMLevelMusicTrack[0]++);
last_songnum = songnum;
}
else if (GameCfg.CMLevelMusicPlayOrder == MUSIC_CM_PLAYORDER_LEVELDEP)
GameCfg.CMLevelMusicTrack[0] = ((BIMSongs[songnum+SONG_FIRST_LEVEL_SONG].id - SONG_FIRST_LEVEL_SONG) % (GameCfg.CMLevelMusicTrack[1]));
else if (GameCfg.CMLevelMusicPlayOrder == MUSIC_CM_PLAYORDER_LEVELALPHA)
else if (GameCfg.CMLevelMusicPlayOrder == MUSIC_CM_PLAYORDER_LEVEL)
GameCfg.CMLevelMusicTrack[0] = (songnum % GameCfg.CMLevelMusicTrack[1]);
}
else

View file

@ -9,7 +9,6 @@
typedef struct bim_song_info {
char filename[16];
int id; // representative number for each song
} bim_song_info;
#define SONG_TITLE 0