From fb785ffee0bc3e1db1022a2c8286f5b9f8944b37 Mon Sep 17 00:00:00 2001 From: mota23 Date: Thu, 17 May 2007 01:10:39 +0000 Subject: Added: New Options/Advanced item "auto party-menu": Switches automatic popup-menu in party-mode on/off. "on" is better usability for joypad, "off" for keyboard. Changed: Keys in Party Song Selection, "m" is popup-menu and "enter" direkt to singscreen. Added: new Statics and Texts to UScreenSong, 2 sets, one for "normal" the other for party-mode. Added: dismissed sound for party-mode. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@202 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/Classes/UIni.pas | 9 ++ Game/Code/Classes/UThemes.pas | 71 ++++++++++- Game/Code/Screens/UScreenOptionsAdvanced.pas | 7 +- Game/Code/Screens/UScreenSong.pas | 178 +++++++++++++++++++++++++-- Game/Sounds/dismissed.mp3 | Bin 0 -> 5433 bytes 5 files changed, 252 insertions(+), 13 deletions(-) create mode 100644 Game/Sounds/dismissed.mp3 (limited to 'Game') diff --git a/Game/Code/Classes/UIni.pas b/Game/Code/Classes/UIni.pas index f12e3832..ca7afe9a 100644 --- a/Game/Code/Classes/UIni.pas +++ b/Game/Code/Classes/UIni.pas @@ -63,6 +63,7 @@ type AskbeforeDel: integer; OnSongClick: integer; LineBonus: integer; + PartyPopup: integer; // Controller Joypad: integer; @@ -140,6 +141,7 @@ const IAskbeforeDel: array[0..1] of string = ('Off', 'On'); IOnSongClick: array[0..2] of string = ('Sing', 'Select Players', 'Open Menu'); ILineBonus: array[0..2] of string = ('Off', 'At Score', 'At Notes'); + IPartyPopup: array[0..1] of string = ('Off', 'On'); IJoypad: array[0..1] of string = ('Off', 'On'); ILPT: array[0..2] of string = ('Off', 'LCD', 'Lights'); @@ -455,6 +457,10 @@ begin for Pet := 0 to High(ILineBonus) do if Tekst = ILineBonus[Pet] then Ini.LineBonus := Pet; + // PartyPopup + Tekst := IniFile.ReadString('Advanced', 'PartyPopup', 'On'); + for Pet := 0 to High(IPartyPopup) do + if Tekst = IPartyPopup[Pet] then Ini.PartyPopup := Pet; // Joypad @@ -638,6 +644,9 @@ begin Tekst := ILineBonus[Ini.LineBonus]; IniFile.WriteString('Advanced', 'LineBonus', Tekst); + //Party Popup + Tekst := IPartyPopup[Ini.PartyPopup]; + IniFile.WriteString('Advanced', 'PartyPopup', Tekst); // Joypad Tekst := IJoypad[Ini.Joypad]; diff --git a/Game/Code/Classes/UThemes.pas b/Game/Code/Classes/UThemes.pas index b9183740..24ac0eaa 100644 --- a/Game/Code/Classes/UThemes.pas +++ b/Game/Code/Classes/UThemes.pas @@ -297,10 +297,38 @@ type StaticTeam3Joker4: TThemeStatic; StaticTeam3Joker5: TThemeStatic; - - StaticKeys1 : TThemeStatic; TextKeys1 : TThemeText; + StaticKeys1Party : TThemeStatic; + TextKeys1Party : TThemeText; + StaticKeys2 : TThemeStatic; + TextKeys2 : TThemeText; + StaticKeys2Party : TThemeStatic; + TextKeys2Party : TThemeText; + StaticKeys3 : TThemeStatic; + TextKeys3 : TThemeText; + StaticKeys3Party : TThemeStatic; + TextKeys3Party : TThemeText; + StaticKeys4 : TThemeStatic; + TextKeys4 : TThemeText; + StaticKeys4Party : TThemeStatic; + TextKeys4Party : TThemeText; + StaticKeys5 : TThemeStatic; + TextKeys5 : TThemeText; + StaticKeys5Party : TThemeStatic; + TextKeys5Party : TThemeText; + StaticKeys6 : TThemeStatic; + TextKeys6 : TThemeText; + StaticKeys6Party : TThemeStatic; + TextKeys6Party : TThemeText; + StaticKeys7 : TThemeStatic; + TextKeys7 : TThemeText; + StaticKeys7Party : TThemeStatic; + TextKeys7Party : TThemeText; + StaticKeys8 : TThemeStatic; + TextKeys8 : TThemeText; + StaticKeys8Party : TThemeStatic; + TextKeys8Party : TThemeText; end; @@ -473,6 +501,7 @@ type SelectLineBonus: TThemeSelect; SelectAskbeforeDel: TThemeSelect; SelectOnSongClick: TThemeSelectSlide; + SelectPartyPopup: TThemeSelect; ButtonExit: TThemeButton; end; @@ -1014,6 +1043,43 @@ begin ThemeLoadStatic(Song.StaticKeys1, 'SongStaticKeys1'); ThemeLoadText(Song.TextKeys1, 'SongStaticKeys1Text'); + ThemeLoadStatic(Song.StaticKeys1Party, 'SongStaticKeys1Party'); + ThemeLoadText(Song.TextKeys1Party, 'SongStaticKeys1TextParty'); + + ThemeLoadStatic(Song.StaticKeys2, 'SongStaticKeys2'); + ThemeLoadText(Song.TextKeys2, 'SongStaticKeys2Text'); + ThemeLoadStatic(Song.StaticKeys2Party, 'SongStaticKeys2Party'); + ThemeLoadText(Song.TextKeys2Party, 'SongStaticKeys2TextParty'); + + ThemeLoadStatic(Song.StaticKeys3, 'SongStaticKeys3'); + ThemeLoadText(Song.TextKeys3, 'SongStaticKeys3Text'); + ThemeLoadStatic(Song.StaticKeys3Party, 'SongStaticKeys3Party'); + ThemeLoadText(Song.TextKeys3Party, 'SongStaticKeys3TextParty'); + + ThemeLoadStatic(Song.StaticKeys4, 'SongStaticKeys4'); + ThemeLoadText(Song.TextKeys4, 'SongStaticKeys4Text'); + ThemeLoadStatic(Song.StaticKeys4Party, 'SongStaticKeys4Party'); + ThemeLoadText(Song.TextKeys4Party, 'SongStaticKeys4TextParty'); + + ThemeLoadStatic(Song.StaticKeys5, 'SongStaticKeys5'); + ThemeLoadText(Song.TextKeys5, 'SongStaticKeys5Text'); + ThemeLoadStatic(Song.StaticKeys5Party, 'SongStaticKeys5Party'); + ThemeLoadText(Song.TextKeys5Party, 'SongStaticKeys5TextParty'); + + ThemeLoadStatic(Song.StaticKeys6, 'SongStaticKeys6'); + ThemeLoadText(Song.TextKeys6, 'SongStaticKeys6Text'); + ThemeLoadStatic(Song.StaticKeys6Party, 'SongStaticKeys6Party'); + ThemeLoadText(Song.TextKeys6Party, 'SongStaticKeys6TextParty'); + + ThemeLoadStatic(Song.StaticKeys7, 'SongStaticKeys7'); + ThemeLoadText(Song.TextKeys7, 'SongStaticKeys7Text'); + ThemeLoadStatic(Song.StaticKeys7Party, 'SongStaticKeys7Party'); + ThemeLoadText(Song.TextKeys7Party, 'SongStaticKeys7TextParty'); + + ThemeLoadStatic(Song.StaticKeys8, 'SongStaticKeys8'); + ThemeLoadText(Song.TextKeys8, 'SongStaticKeys8Text'); + ThemeLoadStatic(Song.StaticKeys8Party, 'SongStaticKeys8Party'); + ThemeLoadText(Song.TextKeys8Party, 'SongStaticKeys8TextParty'); // Sing ThemeLoadBasic(Sing, 'Sing'); @@ -1209,6 +1275,7 @@ begin ThemeLoadSelect (OptionsAdvanced.SelectLineBonus, 'OptionsAdvancedSelectLineBonus'); ThemeLoadSelectSlide (OptionsAdvanced.SelectOnSongClick, 'OptionsAdvancedSelectSlideOnSongClick'); ThemeLoadSelect (OptionsAdvanced.SelectAskbeforeDel, 'OptionsAdvancedSelectAskbeforeDel'); + ThemeLoadSelect (OptionsAdvanced.SelectPartyPopup, 'OptionsAdvancedSelectPartyPopup'); ThemeLoadButton (OptionsAdvanced.ButtonExit, 'OptionsAdvancedButtonExit'); //error and check popup diff --git a/Game/Code/Screens/UScreenOptionsAdvanced.pas b/Game/Code/Screens/UScreenOptionsAdvanced.pas index a28945c1..4c3356d0 100644 --- a/Game/Code/Screens/UScreenOptionsAdvanced.pas +++ b/Game/Code/Screens/UScreenOptionsAdvanced.pas @@ -35,7 +35,7 @@ begin end; SDLK_RETURN: begin - if SelInteraction = 6 then begin + if SelInteraction = 7 then begin Ini.Save; Music.PlayBack; FadeTo(@ScreenOptions); @@ -47,14 +47,14 @@ begin InteractPrev; SDLK_RIGHT: begin - if (SelInteraction >= 0) and (SelInteraction <= 5) then begin + if (SelInteraction >= 0) and (SelInteraction <= 6) then begin Music.PlayOption; InteractInc; end; end; SDLK_LEFT: begin - if (SelInteraction >= 0) and (SelInteraction <= 5) then begin + if (SelInteraction >= 0) and (SelInteraction <= 6) then begin Music.PlayOption; InteractDec; end; @@ -77,6 +77,7 @@ begin AddSelect(Theme.OptionsAdvanced.SelectLineBonus, Ini.LineBonus, ILineBonus); AddSelectSlide(Theme.OptionsAdvanced.SelectOnSongClick, Ini.OnSongClick, IOnSongClick); AddSelect(Theme.OptionsAdvanced.SelectAskbeforeDel, Ini.AskbeforeDel, IAskbeforeDel); + AddSelect(Theme.OptionsAdvanced.SelectPartyPopup, Ini.PartyPopup, IPartyPopup); AddButton(Theme.OptionsAdvanced.ButtonExit); if (Length(Button[0].Text)=0) then diff --git a/Game/Code/Screens/UScreenSong.pas b/Game/Code/Screens/UScreenSong.pas index 48c6597a..26fcba2e 100644 --- a/Game/Code/Screens/UScreenSong.pas +++ b/Game/Code/Screens/UScreenSong.pas @@ -52,8 +52,46 @@ type StaticTeam3Joker3: Cardinal; StaticTeam3Joker4: Cardinal; StaticTeam3Joker5: Cardinal; + StaticKeys1: Cardinal; TextKeys1: integer; + StaticKeys1Party: Cardinal; + TextKeys1Party: integer; + + StaticKeys2: Cardinal; + TextKeys2: integer; + StaticKeys2Party: Cardinal; + TextKeys2Party: integer; + + StaticKeys3: Cardinal; + TextKeys3: integer; + StaticKeys3Party: Cardinal; + TextKeys3Party: integer; + + StaticKeys4: Cardinal; + TextKeys4: integer; + StaticKeys4Party: Cardinal; + TextKeys4Party: integer; + + StaticKeys5: Cardinal; + TextKeys5: integer; + StaticKeys5Party: Cardinal; + TextKeys5Party: integer; + + StaticKeys6: Cardinal; + TextKeys6: integer; + StaticKeys6Party: Cardinal; + TextKeys6Party: integer; + + StaticKeys7: Cardinal; + TextKeys7: integer; + StaticKeys7Party: Cardinal; + TextKeys7Party: integer; + + StaticKeys8: Cardinal; + TextKeys8: integer; + StaticKeys8Party: Cardinal; + TextKeys8Party: integer; constructor Create; override; procedure SetScroll; @@ -163,6 +201,7 @@ var I, I2: Integer; Text[TextCat].Visible := true; Static[StaticCat].Visible := True; end; + procedure TScreenSong.HideCatTL; begin //Hide @@ -368,7 +407,9 @@ begin end else if (Mode = 1) then //PartyMode -> Show Menu begin - ScreenSongMenu.MenuShow(SM_Party_Main); + //Is this Right? + ScreenSong.StartSong; + //ScreenSongMenu.MenuShow(SM_Party_Main); end; end; end; @@ -682,8 +723,44 @@ begin StaticTeam3Joker5 := AddStatic(Theme.Song.StaticTeam3Joker5); StaticKeys1 := AddStatic(Theme.Song.StaticKeys1); - TextKeys1 := AddText(Theme.Song.TextKeys1); + StaticKeys1Party := AddStatic(Theme.Song.StaticKeys1Party); + TextKeys1Party := AddText(Theme.Song.TextKeys1Party); + + StaticKeys2 := AddStatic(Theme.Song.StaticKeys2); + TextKeys2 := AddText(Theme.Song.TextKeys2); + StaticKeys2Party := AddStatic(Theme.Song.StaticKeys2Party); + TextKeys2Party := AddText(Theme.Song.TextKeys2Party); + + StaticKeys3 := AddStatic(Theme.Song.StaticKeys3); + TextKeys3 := AddText(Theme.Song.TextKeys3); + StaticKeys3Party := AddStatic(Theme.Song.StaticKeys3Party); + TextKeys3Party := AddText(Theme.Song.TextKeys3Party); + + StaticKeys4 := AddStatic(Theme.Song.StaticKeys4); + TextKeys4 := AddText(Theme.Song.TextKeys4); + StaticKeys4Party := AddStatic(Theme.Song.StaticKeys4Party); + TextKeys4Party := AddText(Theme.Song.TextKeys4Party); + + StaticKeys5 := AddStatic(Theme.Song.StaticKeys5); + TextKeys5 := AddText(Theme.Song.TextKeys5); + StaticKeys5Party := AddStatic(Theme.Song.StaticKeys5Party); + TextKeys5Party := AddText(Theme.Song.TextKeys5Party); + + StaticKeys6 := AddStatic(Theme.Song.StaticKeys6); + TextKeys6 := AddText(Theme.Song.TextKeys6); + StaticKeys6Party := AddStatic(Theme.Song.StaticKeys6Party); + TextKeys6Party := AddText(Theme.Song.TextKeys6Party); + + StaticKeys7 := AddStatic(Theme.Song.StaticKeys7); + TextKeys7 := AddText(Theme.Song.TextKeys7); + StaticKeys7Party := AddStatic(Theme.Song.StaticKeys7Party); + TextKeys7Party := AddText(Theme.Song.TextKeys7Party); + + StaticKeys8 := AddStatic(Theme.Song.StaticKeys8); + TextKeys8 := AddText(Theme.Song.TextKeys8); + StaticKeys8Party := AddStatic(Theme.Song.StaticKeys8Party); + TextKeys8Party := AddText(Theme.Song.TextKeys8Party); // Song List // Songs.LoadSongList; // moved to the UltraStar unit @@ -1234,7 +1311,13 @@ begin SelectRandomSong; //Show Mennu direct in PartyMode - ScreenSongMenu.MenuShow(SM_Party_Main); + //But only if selected in Options + if (Ini.PartyPopup = 1) then + begin + ScreenSongMenu.MenuShow(SM_Party_Main); + end; + + end; SetJoker; @@ -1675,13 +1758,92 @@ begin //If Party Mode if Mode = 1 then //Use Statics for Party-Song-Selection begin - Static[StaticKeys1].Visible := false; - Text[TextKeys1].Visible := false; + Static[StaticKeys1].Visible := False; + Text[TextKeys1].Visible := False; + Static[StaticKeys1Party].Visible := True; + Text[TextKeys1Party].Visible := True; + + Static[StaticKeys2].Visible := False; + Text[TextKeys2].Visible := False; + Static[StaticKeys2Party].Visible := True; + Text[TextKeys2Party].Visible := True; + + Static[StaticKeys3].Visible := False; + Text[TextKeys3].Visible := False; + Static[StaticKeys3Party].Visible := True; + Text[TextKeys3Party].Visible := True; + + Static[StaticKeys4].Visible := False; + Text[TextKeys4].Visible := False; + Static[StaticKeys4Party].Visible := True; + Text[TextKeys4Party].Visible := True; + + Static[StaticKeys5].Visible := False; + Text[TextKeys5].Visible := False; + Static[StaticKeys5Party].Visible := True; + Text[TextKeys5Party].Visible := True; + + Static[StaticKeys6].Visible := False; + Text[TextKeys6].Visible := False; + Static[StaticKeys6Party].Visible := True; + Text[TextKeys6Party].Visible := True; + + Static[StaticKeys7].Visible := False; + Text[TextKeys7].Visible := False; + Static[StaticKeys7Party].Visible := True; + Text[TextKeys7Party].Visible := True; + + Static[StaticKeys8].Visible := False; + Text[TextKeys8].Visible := False; + Static[StaticKeys8Party].Visible := True; + Text[TextKeys8Party].Visible := True; end else //Use regular Statics for Song-Selection - begin //Hide all - Static[StaticKeys1].Visible := true; - Text[TextKeys1].Visible := true; + begin + Static[StaticKeys1].Visible := True; + Text[TextKeys1].Visible := True; + Static[StaticKeys1Party].Visible := False; + Text[TextKeys1Party].Visible := False; + + Static[StaticKeys2].Visible := True; + Text[TextKeys2].Visible := True; + Static[StaticKeys2Party].Visible := False; + Text[TextKeys2Party].Visible := False; + + Static[StaticKeys2].Visible := True; + Text[TextKeys2].Visible := True; + Static[StaticKeys2Party].Visible := False; + Text[TextKeys2Party].Visible := False; + + Static[StaticKeys3].Visible := True; + Text[TextKeys3].Visible := True; + Static[StaticKeys3Party].Visible := False; + Text[TextKeys3Party].Visible := False; + + Static[StaticKeys4].Visible := True; + Text[TextKeys4].Visible := True; + Static[StaticKeys4Party].Visible := False; + Text[TextKeys4Party].Visible := False; + + Static[StaticKeys5].Visible := True; + Text[TextKeys5].Visible := True; + Static[StaticKeys5Party].Visible := False; + Text[TextKeys5Party].Visible := False; + + Static[StaticKeys6].Visible := True; + Text[TextKeys6].Visible := True; + Static[StaticKeys6Party].Visible := False; + Text[TextKeys6Party].Visible := False; + + Static[StaticKeys7].Visible := True; + Text[TextKeys7].Visible := True; + Static[StaticKeys7Party].Visible := False; + Text[TextKeys7Party].Visible := False; + + Static[StaticKeys8].Visible := True; + Text[TextKeys8].Visible := True; + Static[StaticKeys8Party].Visible := False; + Text[TextKeys8Party].Visible := False; end; end; diff --git a/Game/Sounds/dismissed.mp3 b/Game/Sounds/dismissed.mp3 new file mode 100644 index 00000000..f478e7a3 Binary files /dev/null and b/Game/Sounds/dismissed.mp3 differ -- cgit v1.2.3