Reworked keys for song changing a bit; Added Song control keys to help menu

This commit is contained in:
zicodxx 2008-05-18 13:20:06 +00:00
parent fa16bbc0f2
commit 183eab2914
3 changed files with 38 additions and 3 deletions

View file

@ -3,6 +3,7 @@ D1X-Rebirth Changelog
20080518
--------
include/physfsx.h, main/config.c: set "Jukebox" as the default jukebox path, for Mac OS 9 look for d1x.ini outside the app bundle
main/game.c, main/songs.c: Reworked keys for song changing a bit; Added Song control keys to help menu
20080516
--------

View file

@ -89,10 +89,10 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
#include "timer.h"
#include "vers_id.h"
#include "fvi.h"
//MD2211
#include "jukebox.h"
#include "console.h"
#include "playsave.h"
#include "config.h"
extern void change_res();
extern void newmenu_close();
@ -1407,6 +1407,10 @@ void show_help()
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = TXT_HELP_PRTSCN;
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = TXT_HELP_1TO5;
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = TXT_HELP_6TO10;
#ifdef USE_SDLMIXER
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "Shift-F9/F10\t Play/Pause Jukebox";
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "Shift-F11/F12\t Previous/Next Song";
#endif
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "";
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "MULTIPLAYER:";
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "ALT-F4\t SHOW RETICLE NAMES";
@ -2186,10 +2190,23 @@ void HandleGameKey(int key)
jukebox_stop();
break;
case KEY_ALTED + KEY_SHIFTED + KEY_F11:
jukebox_prev();
if (GameCfg.JukeboxOn)
jukebox_prev();
else
songs_goto_prev_song();
break;
case KEY_ALTED + KEY_SHIFTED + KEY_F12:
jukebox_next();
if (GameCfg.JukeboxOn)
jukebox_next();
else
songs_goto_next_song();
break;
#else
case KEY_ALTED + KEY_SHIFTED + KEY_F11:
songs_goto_prev_song();
break;
case KEY_ALTED + KEY_SHIFTED + KEY_F12:
songs_goto_next_song();
break;
#endif

View file

@ -126,6 +126,8 @@ void songs_play_song( int songnum, int repeat )
digi_play_midi_song( Songs[songnum].filename, Songs[songnum].melodic_bank_file, Songs[songnum].drum_bank_file, repeat );
}
int current_song_level;
void songs_play_level_song( int levelnum )
{
int songnum;
@ -137,6 +139,8 @@ void songs_play_level_song( int levelnum )
if (cGameSongsAvailable < 1)
return;
current_song_level = levelnum;
if (levelnum < 0)
songnum = (-levelnum) % cGameSongsAvailable;
else
@ -145,3 +149,16 @@ void songs_play_level_song( int levelnum )
songnum += SONG_LEVEL_MUSIC;
digi_play_midi_song( Songs[songnum].filename, Songs[songnum].melodic_bank_file, Songs[songnum].drum_bank_file, 1 );
}
//goto the next level song
void songs_goto_next_song()
{
songs_play_level_song(current_song_level+1);
}
//goto the previous level song
void songs_goto_prev_song()
{
if (current_song_level > 1)
songs_play_level_song(current_song_level-1);
}