From dbe444f87b85da27a37f38e80bfd540178b8dde0 Mon Sep 17 00:00:00 2001 From: brunzelchen Date: Wed, 1 Sep 2010 14:09:58 +0000 Subject: - fix: position of player 3 and 4 in 4-player-mode on one screen in singscreen - fix: scorescreen for 4-player-mode on one screen - add: tag #CALCMEDLEY:Off => disable calculation of medley for that song - add: sorting RANDOM for party-modes - add: ShuffleMode FULL (play whole file) in fullscreen if video available - add: it possible to select the 2 songs left and right of the random selected song in party mode - add: num song in in party options (in the selected folder/playlist) - fix: dont change line in editor while playing only one line - removed option solmization from lyric option screen - add: play last sung song in party score screen - added some plugins (thx to MasterPhW) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.0.1 Challenge MOD@2629 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/Screens/UScreenPartyOptions.pas | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'Game/Code/Screens/UScreenPartyOptions.pas') diff --git a/Game/Code/Screens/UScreenPartyOptions.pas b/Game/Code/Screens/UScreenPartyOptions.pas index deeb8c96..0a58cd79 100644 --- a/Game/Code/Screens/UScreenPartyOptions.pas +++ b/Game/Code/Screens/UScreenPartyOptions.pas @@ -156,6 +156,14 @@ begin SDLK_RETURN: begin + if (Playlist = 0) and ((Ini.Tabs = 1) or (Ini.Sorting <> sRandom)) then + begin + Ini.Tabs := 0; + Ini.Sorting := sRandom; + ScreenSong.Refresh(true); + PlaylistMan.LoadPlayLists; + end; + MenuPluginOpen := false; if not Help.SetHelpID(ID) then Log.LogError('No Entry for Help-ID ' + ID + ' (ScreenPartyOptions)'); @@ -214,7 +222,7 @@ begin J := -1; For I := 0 to high(CatSongs.Song) do begin - if CatSongs.Song[I].Main then + if CatSongs.Song[I].Main and (CatSongs.NumCatSongs(CatSongs.Song[I].OrderNum)>0) then Inc(J); if J = Playlist2 then @@ -479,13 +487,15 @@ begin end; procedure TScreenPartyOptions.SetPlaylist2; -var I: Integer; +var + I: Integer; + begin Case Playlist of 0: begin SetLength(IPlaylist2, 1); - IPlaylist2[0] := '---'; + IPlaylist2[0] := '(' + IntToStr(CatSongs.NumSongs()) + ' Songs)'; end; 1: begin @@ -495,7 +505,8 @@ begin If CatSongs.Song[I].Main and (CatSongs.NumCatSongs(CatSongs.Song[I].OrderNum)>0) then begin SetLength(IPlaylist2, Length(IPlaylist2) + 1); - IPlaylist2[high(IPlaylist2)] := CatSongs.Song[I].Artist; + IPlaylist2[high(IPlaylist2)] := CatSongs.Song[I].Artist + + ' (' + IntToStr(CatSongs.NumCatSongs(CatSongs.Song[I].OrderNum)) + ' Songs)'; end; end; @@ -510,7 +521,7 @@ begin if (Length(PlaylistMan.Playlists) > 0) then begin SetLength(IPlaylist2, Length(PlaylistMan.Playlists)); - PlaylistMan.GetNames(IPlaylist2); + PlaylistMan.GetNamesAndNumSongs(IPlaylist2); end else begin @@ -638,6 +649,7 @@ begin SelectedPlugin := 0; ScreenSong.Mode := smParty; + SetPlaylist2; end; procedure TScreenPartyOptions.SetAnimationProgress(Progress: real); -- cgit v1.2.3