aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Screens
diff options
context:
space:
mode:
Diffstat (limited to 'Game/Code/Screens')
-rw-r--r--Game/Code/Screens/UScreenSong.pas10
-rw-r--r--Game/Code/Screens/UScreenSongMenu.pas26
2 files changed, 29 insertions, 7 deletions
diff --git a/Game/Code/Screens/UScreenSong.pas b/Game/Code/Screens/UScreenSong.pas
index 157eed41..aa3c2bf9 100644
--- a/Game/Code/Screens/UScreenSong.pas
+++ b/Game/Code/Screens/UScreenSong.pas
@@ -985,7 +985,6 @@ begin
Music.PlayChange;
SelectNext;
ChangeMusic;
- SetScroll4;
end;
end;
@@ -1001,7 +1000,6 @@ begin
Music.PlayChange;
SelectPrev;
ChangeMusic;
- SetScroll4;
end;
end;
@@ -2580,6 +2578,13 @@ begin
Static[StaticTop].Visible := false;
end;
+ if ScreenSongMenu.Visible or ScreenSongJumpto.Visible then
+ begin
+ WaitHandler.change_time := 0;
+ WaitHandler.changed := false;
+ end else if (Mode = smNormal) then
+ WaitHandler.changed := true;
+
if (Mode = smNormal) and (Ini.ShuffleTime>0) and
not MakeMedley and not CatSongs.Song[Interaction].Main and
(Length(CatSongs.Song)-CatSongs.CatCount>1) then
@@ -2660,7 +2665,6 @@ begin
//Music.PlayChange;
ChangeMusic;
- SetScroll4;
end else if (Ini.ShuffleTime>0) then
WaitHandler.change_time := WaitHandler.change_time + TimeSkip;
end;
diff --git a/Game/Code/Screens/UScreenSongMenu.pas b/Game/Code/Screens/UScreenSongMenu.pas
index dbdea42e..b3a77879 100644
--- a/Game/Code/Screens/UScreenSongMenu.pas
+++ b/Game/Code/Screens/UScreenSongMenu.pas
@@ -166,6 +166,8 @@ begin
SDLK_RETURN:
begin
HandleReturn;
+ if (CurMenu = SM_Playlist_Add) then
+ MenuShow(CurMenu);
end;
SDLK_DOWN: InteractNext;
@@ -186,8 +188,16 @@ begin
Music.PlayChange;
ScreenSong.SelectNext;
ScreenSong.ChangeMusic;
- ScreenSong.SetScroll4;
end;
+
+ if (CurMenu = SM_Playlist_Add) and (Interaction <> 3) then
+ begin
+ Music.PlayChange;
+ ScreenSong.SelectNext;
+ ScreenSong.ChangeMusic;
+ MenuShow(CurMenu);
+ end else if (CurMenu = SM_Playlist_Add) then
+ MenuShow(CurMenu);
end;
SDLK_LEFT:
begin
@@ -204,8 +214,16 @@ begin
Music.PlayChange;
ScreenSong.SelectPrev;
ScreenSong.ChangeMusic;
- ScreenSong.SetScroll4;
end;
+
+ if (CurMenu = SM_Playlist_Add) and (Interaction <> 3) then
+ begin
+ Music.PlayChange;
+ ScreenSong.SelectPrev;
+ ScreenSong.ChangeMusic;
+ MenuShow(CurMenu);
+ end else if (CurMenu = SM_Playlist_Add) then
+ MenuShow(CurMenu);
end;
SDLK_1:
@@ -403,7 +421,7 @@ begin
Button[0].Visible := True;
Button[1].Visible := False;
Button[2].Visible := False;
- Button[3].Visible := True;
+ Button[3].Visible := not PlaylistMan.SongExists(ScreenSong.Interaction, SelectValue);
SelectsS[0].Visible := True;
Button[0].Text[0].Text := Language.Translate('SONG_MENU_PLAYLIST_ADD_NEW');
@@ -773,7 +791,7 @@ begin
PlaylistMan.AddItem(ScreenSong.Interaction, SelectValue);
ScreenSong.WaitHandler.changed := true;
ScreenSong.WaitHandler.change_time := 0;
- Visible := False;
+ //Visible := False;
end;
end;
end;