diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2011-11-07 15:26:44 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2013-01-05 17:17:49 +0100 |
commit | 3260749d369d3466c345d40a8b2189c32c8c1b60 (patch) | |
tree | bdf235d333e6b4d0b0edb11bde421617a180ff92 /src/screens/UScreenSongMenu.pas | |
parent | de5a3593ae7bc6fb5aab9d76d01d3faa47b91bba (diff) | |
download | usdx-3260749d369d3466c345d40a8b2189c32c8c1b60.tar.gz usdx-3260749d369d3466c345d40a8b2189c32c8c1b60.tar.xz usdx-3260749d369d3466c345d40a8b2189c32c8c1b60.zip |
removed pascal code
Diffstat (limited to '')
-rw-r--r-- | src/screens/UScreenSongMenu.pas | 661 |
1 files changed, 0 insertions, 661 deletions
diff --git a/src/screens/UScreenSongMenu.pas b/src/screens/UScreenSongMenu.pas deleted file mode 100644 index ec893c7a..00000000 --- a/src/screens/UScreenSongMenu.pas +++ /dev/null @@ -1,661 +0,0 @@ -{* UltraStar Deluxe - Karaoke Game - * - * UltraStar Deluxe is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - *} - -unit UScreenSongMenu; - -interface - -{$IFDEF FPC} - {$MODE Delphi} -{$ENDIF} - -{$I switches.inc} - -uses - UMenu, - SDL, - UDisplay, - UMusic, - UFiles, - SysUtils, - UThemes; - -type - TScreenSongMenu = class(TMenu) - private - CurMenu: byte; // num of the cur. shown menu - public - Visible: boolean; // whether the menu should be drawn - - constructor Create; override; - function ParseInput(PressedKey: cardinal; CharCode: UCS4Char; PressedDown: boolean): boolean; override; - procedure OnShow; override; - function Draw: boolean; override; - procedure MenuShow(sMenu: byte); - procedure HandleReturn; - end; - -const - SM_Main = 1; - - SM_PlayList = 64 or 1; - SM_Playlist_Add = 64 or 2; - SM_Playlist_New = 64 or 3; - - SM_Playlist_DelItem = 64 or 5; - - SM_Playlist_Load = 64 or 8 or 1; - SM_Playlist_Del = 64 or 8 or 5; - - SM_Party_Main = 128 or 1; - SM_Party_Joker = 128 or 2; - -var - ISelections: array of UTF8String; - SelectValue: integer; - -implementation - -uses - UGraphic, - UMain, - UIni, - UTexture, - ULanguage, - UParty, - UPlaylist, - USongs, - UUnicodeUtils; - -function TScreenSongMenu.ParseInput(PressedKey: cardinal; CharCode: UCS4Char; PressedDown: boolean): boolean; -begin - Result := true; - if (PressedDown) then - begin // key down - if (CurMenu = SM_Playlist_New) and (Interaction=0) then - begin - // check normal keys - if IsAlphaNumericChar(CharCode) or - (CharCode in [Ord(' '), Ord('-'), Ord('_'), Ord('!'), - Ord(','), Ord('<'), Ord('/'), Ord('*'), - Ord('?'), Ord(''''), Ord('"')]) then - begin - Button[Interaction].Text[0].Text := Button[Interaction].Text[0].Text + - UCS4ToUTF8String(CharCode); - exit; - end; - - // check special keys - case PressedKey of - SDLK_BACKSPACE: - begin - Button[Interaction].Text[0].DeleteLastLetter; - exit; - end; - end; - end; - - // check normal keys - case UCS4UpperCase(CharCode) of - Ord('Q'): - begin - Result := false; - Exit; - end; - end; - - // check special keys - case PressedKey of - SDLK_ESCAPE, - SDLK_BACKSPACE: - begin - AudioPlayback.PlaySound(SoundLib.Back); - Visible := false; - end; - - SDLK_RETURN: - begin - HandleReturn; - end; - - SDLK_DOWN: InteractNext; - SDLK_UP: InteractPrev; - - SDLK_RIGHT: - begin - if (Interaction=3) then - InteractInc; - end; - SDLK_LEFT: - begin - if (Interaction=3) then - InteractDec; - end; - - SDLK_1: - begin // jocker - // use joker - case CurMenu of - SM_Party_Main: - begin - ScreenSong.DoJoker(0) - end; - end; - end; - SDLK_2: - begin // jocker - // use joker - case CurMenu of - SM_Party_Main: - begin - ScreenSong.DoJoker(1) - end; - end; - end; - SDLK_3: - begin // jocker - // use joker - case CurMenu of - SM_Party_Main: - begin - ScreenSong.DoJoker(2) - end; - end; - end; - end; // case - end; // if -end; - -constructor TScreenSongMenu.Create; -begin - inherited Create; - - // create dummy selectslide entrys - SetLength(ISelections, 1); - ISelections[0] := 'Dummy'; - - AddText(Theme.SongMenu.TextMenu); - - LoadFromTheme(Theme.SongMenu); - - AddButton(Theme.SongMenu.Button1); - if (Length(Button[0].Text) = 0) then - AddButtonText(14, 20, 'Button 1'); - - AddButton(Theme.SongMenu.Button2); - if (Length(Button[1].Text) = 0) then - AddButtonText(14, 20, 'Button 2'); - - AddButton(Theme.SongMenu.Button3); - if (Length(Button[2].Text) = 0) then - AddButtonText(14, 20, 'Button 3'); - - AddSelectSlide(Theme.SongMenu.SelectSlide3, SelectValue, ISelections); - - AddButton(Theme.SongMenu.Button4); - if (Length(Button[3].Text) = 0) then - AddButtonText(14, 20, 'Button 4'); - - Interaction := 0; -end; - -function TScreenSongMenu.Draw: boolean; -begin - Result := inherited Draw; -end; - -procedure TScreenSongMenu.OnShow; -begin - inherited; -end; - -procedure TScreenSongMenu.MenuShow(sMenu: byte); -begin - Interaction := 0; // reset interaction - Visible := true; // set visible - case sMenu of - SM_Main: - begin - CurMenu := sMenu; - Text[0].Text := Language.Translate('SONG_MENU_NAME_MAIN'); - - Button[0].Visible := true; - Button[1].Visible := true; - Button[2].Visible := true; - Button[3].Visible := true; - SelectsS[0].Visible := false; - - Button[0].Text[0].Text := Language.Translate('SONG_MENU_PLAY'); - Button[1].Text[0].Text := Language.Translate('SONG_MENU_CHANGEPLAYERS'); - Button[2].Text[0].Text := Language.Translate('SONG_MENU_PLAYLIST_ADD'); - Button[3].Text[0].Text := Language.Translate('SONG_MENU_EDIT'); - end; - - SM_PlayList: - begin - CurMenu := sMenu; - Text[0].Text := Language.Translate('SONG_MENU_NAME_PLAYLIST'); - - Button[0].Visible := true; - Button[1].Visible := true; - Button[2].Visible := true; - Button[3].Visible := true; - SelectsS[0].Visible := false; - - Button[0].Text[0].Text := Language.Translate('SONG_MENU_PLAY'); - Button[1].Text[0].Text := Language.Translate('SONG_MENU_CHANGEPLAYERS'); - Button[2].Text[0].Text := Language.Translate('SONG_MENU_PLAYLIST_DEL'); - Button[3].Text[0].Text := Language.Translate('SONG_MENU_EDIT'); - end; - - SM_Playlist_Add: - begin - CurMenu := sMenu; - Text[0].Text := Language.Translate('SONG_MENU_NAME_PLAYLIST_ADD'); - - Button[0].Visible := true; - Button[1].Visible := false; - Button[2].Visible := false; - Button[3].Visible := true; - SelectsS[0].Visible := true; - - Button[0].Text[0].Text := Language.Translate('SONG_MENU_PLAYLIST_ADD_NEW'); - Button[3].Text[0].Text := Language.Translate('SONG_MENU_PLAYLIST_ADD_EXISTING'); - - SetLength(ISelections, Length(PlaylistMan.Playlists)); - PlaylistMan.GetNames(ISelections); - - if (Length(ISelections)>=1) then - begin - UpdateSelectSlideOptions(Theme.SongMenu.SelectSlide3, 0, ISelections, SelectValue); - end - else - begin - Button[3].Visible := false; - SelectsS[0].Visible := false; - Button[2].Visible := true; - Button[2].Text[0].Text := Language.Translate('SONG_MENU_PLAYLIST_NOEXISTING'); - end; - end; - - SM_Playlist_New: - begin - CurMenu := sMenu; - Text[0].Text := Language.Translate('SONG_MENU_NAME_PLAYLIST_NEW'); - - Button[0].Visible := true; - Button[1].Visible := false; - Button[2].Visible := true; - Button[3].Visible := true; - SelectsS[0].Visible := false; - - Button[0].Text[0].Text := Language.Translate('SONG_MENU_PLAYLIST_NEW_UNNAMED'); - Button[2].Text[0].Text := Language.Translate('SONG_MENU_PLAYLIST_NEW_CREATE'); - Button[3].Text[0].Text := Language.Translate('SONG_MENU_CANCEL'); - end; - - SM_Playlist_DelItem: - begin - CurMenu := sMenu; - Text[0].Text := Language.Translate('SONG_MENU_NAME_PLAYLIST_DELITEM'); - - Button[0].Visible := true; - Button[1].Visible := false; - Button[2].Visible := false; - Button[3].Visible := true; - SelectsS[0].Visible := false; - - Button[0].Text[0].Text := Language.Translate('SONG_MENU_YES'); - Button[3].Text[0].Text := Language.Translate('SONG_MENU_CANCEL'); - end; - - SM_Playlist_Load: - begin - CurMenu := sMenu; - Text[0].Text := Language.Translate('SONG_MENU_NAME_PLAYLIST_LOAD'); - - // show delete curent playlist button when playlist is opened - Button[0].Visible := (CatSongs.CatNumShow = -3); - - Button[1].Visible := false; - Button[2].Visible := false; - Button[3].Visible := true; - SelectsS[0].Visible := true; - - Button[0].Text[0].Text := Language.Translate('SONG_MENU_PLAYLIST_DELCURRENT'); - Button[3].Text[0].Text := Language.Translate('SONG_MENU_PLAYLIST_LOAD'); - - SetLength(ISelections, Length(PlaylistMan.Playlists)); - PlaylistMan.GetNames(ISelections); - - if (Length(ISelections)>=1) then - begin - UpdateSelectSlideOptions(Theme.SongMenu.SelectSlide3, 0, ISelections, SelectValue); - Interaction := 3; - end - else - begin - Button[3].Visible := false; - SelectsS[0].Visible := false; - Button[2].Visible := true; - Button[2].Text[0].Text := Language.Translate('SONG_MENU_PLAYLIST_NOEXISTING'); - Interaction := 2; - end; - end; - - SM_Playlist_Del: - begin - CurMenu := sMenu; - Text[0].Text := Language.Translate('SONG_MENU_NAME_PLAYLIST_DEL'); - - Button[0].Visible := true; - Button[1].Visible := false; - Button[2].Visible := false; - Button[3].Visible := true; - SelectsS[0].Visible := false; - - Button[0].Text[0].Text := Language.Translate('SONG_MENU_YES'); - Button[3].Text[0].Text := Language.Translate('SONG_MENU_CANCEL'); - end; - - SM_Party_Main: - begin - CurMenu := sMenu; - Text[0].Text := Language.Translate('SONG_MENU_NAME_PARTY_MAIN'); - - Button[0].Visible := true; - Button[1].Visible := false; - Button[2].Visible := false; - Button[3].Visible := true; - SelectsS[0].Visible := false; - - Button[0].Text[0].Text := Language.Translate('SONG_MENU_PLAY'); - //Button[1].Text[0].Text := Language.Translate('SONG_MENU_JOKER'); - //Button[2].Text[0].Text := Language.Translate('SONG_MENU_PLAYMODI'); - Button[3].Text[0].Text := Language.Translate('SONG_MENU_JOKER'); - end; - - SM_Party_Joker: - begin - CurMenu := sMenu; - Text[0].Text := Language.Translate('SONG_MENU_NAME_PARTY_JOKER'); - - Button[0].Visible := (PartySession.Teams.NumTeams >= 1) and (PartySession.Teams.Teaminfo[0].Joker > 0); - Button[1].Visible := (PartySession.Teams.NumTeams >= 2) and (PartySession.Teams.Teaminfo[1].Joker > 0); - Button[2].Visible := (PartySession.Teams.NumTeams >= 3) and (PartySession.Teams.Teaminfo[2].Joker > 0); - Button[3].Visible := true; - SelectsS[0].Visible := false; - - Button[0].Text[0].Text := UTF8String(PartySession.Teams.Teaminfo[0].Name); - Button[1].Text[0].Text := UTF8String(PartySession.Teams.Teaminfo[1].Name); - Button[2].Text[0].Text := UTF8String(PartySession.Teams.Teaminfo[2].Name); - Button[3].Text[0].Text := Language.Translate('SONG_MENU_CANCEL'); - - // set right interaction - if (not Button[0].Visible) then - begin - if (not Button[1].Visible) then - begin - if (not Button[2].Visible) then - Interaction := 4 - else - Interaction := 2; - end - else - Interaction := 1; - end; - - end; - end; -end; - -procedure TScreenSongMenu.HandleReturn; -begin - case CurMenu of - SM_Main: - begin - case Interaction of - 0: // button 1 - begin - ScreenSong.StartSong; - Visible := false; - end; - - 1: // button 2 - begin - // select new players then sing: - ScreenSong.SelectPlayers; - Visible := false; - end; - - 2: // button 3 - begin - // show add to playlist menu - MenuShow(SM_Playlist_Add); - end; - - 3: // selectslide 3 - begin - //Dummy - end; - - 4: // button 4 - begin - ScreenSong.OpenEditor; - Visible := false; - end; - end; - end; - - SM_PlayList: - begin - Visible := false; - case Interaction of - 0: // button 1 - begin - ScreenSong.StartSong; - Visible := false; - end; - - 1: // button 2 - begin - // select new players then sing: - ScreenSong.SelectPlayers; - Visible := false; - end; - - 2: // button 3 - begin - // show add to playlist menu - MenuShow(SM_Playlist_DelItem); - end; - - 3: // selectslide 3 - begin - // dummy - end; - - 4: // button 4 - begin - ScreenSong.OpenEditor; - Visible := false; - end; - end; - end; - - SM_Playlist_Add: - begin - case Interaction of - 0: // button 1 - begin - MenuShow(SM_Playlist_New); - end; - - 3: // selectslide 3 - begin - // dummy - end; - - 4: // button 4 - begin - PlaylistMan.AddItem(ScreenSong.Interaction, SelectValue); - Visible := false; - end; - end; - end; - - SM_Playlist_New: - begin - case Interaction of - 0: // button 1 - begin - // nothing, button for entering name - end; - - 2: // button 3 - begin - // create playlist and add song - PlaylistMan.AddItem( - ScreenSong.Interaction, - PlaylistMan.AddPlaylist(Button[0].Text[0].Text)); - Visible := false; - end; - - 3: // selectslide 3 - begin - // cancel -> go back to add screen - MenuShow(SM_Playlist_Add); - end; - - 4: // button 4 - begin - Visible := false; - end; - end; - end; - - SM_Playlist_DelItem: - begin - Visible := false; - case Interaction of - 0: // button 1 - begin - // delete - PlayListMan.DelItem(PlayListMan.GetIndexbySongID(ScreenSong.Interaction)); - Visible := false; - end; - - 4: // button 4 - begin - MenuShow(SM_Playlist); - end; - end; - end; - - SM_Playlist_Load: - begin - case Interaction of - 0: // button 1 (Delete playlist) - begin - MenuShow(SM_Playlist_Del); - end; - 4: // button 4 - begin - // load playlist - PlaylistMan.SetPlayList(SelectValue); - Visible := false; - end; - end; - end; - - SM_Playlist_Del: - begin - Visible := false; - case Interaction of - 0: // button 1 - begin - // delete - PlayListMan.DelPlaylist(PlaylistMan.CurPlayList); - Visible := false; - end; - - 4: // button 4 - begin - MenuShow(SM_Playlist_Load); - end; - end; - end; - - SM_Party_Main: - begin - case Interaction of - 0: // button 1 - begin - // start singing - ScreenSong.StartSong; - Visible := false; - end; - - 4: // button 4 - begin - // joker - MenuShow(SM_Party_Joker); - end; - end; - end; - - SM_Party_Joker: - begin - Visible := false; - case Interaction of - 0: // button 1 - begin - // joker team 1 - ScreenSong.DoJoker(0); - end; - - 1: // button 2 - begin - // joker team 2 - ScreenSong.DoJoker(1); - end; - - 2: // button 3 - begin - // joker team 3 - ScreenSong.DoJoker(2); - end; - - 4: // button 4 - begin - // cancel... (go back to old menu) - MenuShow(SM_Party_Main); - end; - end; - end; - end; -end; - -end. |