aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Game/Code/Classes/UIni.pas9
-rw-r--r--Game/Code/Classes/UThemes.pas71
-rw-r--r--Game/Code/Screens/UScreenOptionsAdvanced.pas7
-rw-r--r--Game/Code/Screens/UScreenSong.pas178
4 files changed, 252 insertions, 13 deletions
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;