diff options
author | whiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2007-04-15 11:05:10 +0000 |
---|---|---|
committer | whiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2007-04-15 11:05:10 +0000 |
commit | fae5839e8025f020638b4cd0583a9a992c5a7a1e (patch) | |
tree | 23575cd865f33ed66dba502489e2311b075d221d /Game/Code | |
parent | b271750f0ba7b1174d26f8164bc8f9f46766c5e3 (diff) | |
download | usdx-fae5839e8025f020638b4cd0583a9a992c5a7a1e.tar.gz usdx-fae5839e8025f020638b4cd0583a9a992c5a7a1e.tar.xz usdx-fae5839e8025f020638b4cd0583a9a992c5a7a1e.zip |
Fixed some Bugs in Party Mode
Fixed Support CategoryOnly Playlist Support
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@93 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code')
-rw-r--r-- | Game/Code/Classes/UParty.pas | 13 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenMain.pas | 2 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenPartyNewRound.pas | 4 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenPartyPlayer.pas | 2 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenPartyScore.pas | 8 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenSong.pas | 4 |
6 files changed, 18 insertions, 15 deletions
diff --git a/Game/Code/Classes/UParty.pas b/Game/Code/Classes/UParty.pas index f5834dd8..e5252f82 100644 --- a/Game/Code/Classes/UParty.pas +++ b/Game/Code/Classes/UParty.pas @@ -107,13 +107,16 @@ begin PlayersPlay := Teams.NumTeams;
+ //Get Teammode and Set Joker
TeamMode := True;
For I := 0 to Teams.NumTeams-1 do
+ begin
if Teams.Teaminfo[I].NumPlayers < 2 then
begin
TeamMode := False;
- Break;
end;
+ Teams.Teaminfo[I].Joker := Round(NumRounds*0.7);
+ end;
//Fill Plugin Array
SetLength(Plugins, 0);
@@ -186,7 +189,7 @@ begin //Increase Current Round
Inc (CurRound);
- Rounds[CurRound].Winner := 0;
+ Rounds[CurRound].Winner := 255;
DllMan.LoadPlugin(Rounds[CurRound].Plugin);
//Select Players
@@ -241,9 +244,13 @@ var Winners: Array of String;
I: Integer;
begin
+ Result := Language.Translate('PARTY_NOBODY');
+
+ if (Round > High(Rounds)) then
+ exit;
+
if (Rounds[Round].Winner = 0) then
begin
- Result := Language.Translate('PARTY_NOBODY');
exit;
end;
diff --git a/Game/Code/Screens/UScreenMain.pas b/Game/Code/Screens/UScreenMain.pas index 90a6310d..dd7f21c5 100644 --- a/Game/Code/Screens/UScreenMain.pas +++ b/Game/Code/Screens/UScreenMain.pas @@ -128,7 +128,7 @@ begin end;
SDLK_M:
begin
- if (Ini.Players >= 2) AND (Length(DLLMan.Plugins)>=1) then
+ if (Ini.Players >= 1) AND (Length(DLLMan.Plugins)>=1) then
begin
Music.PlayStart;
FadeTo(@ScreenPartyOptions);
diff --git a/Game/Code/Screens/UScreenPartyNewRound.pas b/Game/Code/Screens/UScreenPartyNewRound.pas index 1e9be1f5..c8c0febc 100644 --- a/Game/Code/Screens/UScreenPartyNewRound.pas +++ b/Game/Code/Screens/UScreenPartyNewRound.pas @@ -176,10 +176,6 @@ procedure TScreenPartyNewRound.onShow; var
I: Integer;
begin
- //If not First Round, End Last Round
- if (PartySession.CurRound <> 255) then
- PartySession.EndRound;
-
PartySession.StartRound;
Log.LogError(InttoStr(Length(DllMan.Plugins)));
diff --git a/Game/Code/Screens/UScreenPartyPlayer.pas b/Game/Code/Screens/UScreenPartyPlayer.pas index 498514fb..02f87710 100644 --- a/Game/Code/Screens/UScreenPartyPlayer.pas +++ b/Game/Code/Screens/UScreenPartyPlayer.pas @@ -76,6 +76,7 @@ begin SDLK_RETURN:
begin
+ //Save PlayerNames
for I := 0 to PartySession.Teams.NumTeams-1 do
begin
PartySession.Teams.Teaminfo[I].Name := PChar(Button[I*5].Text[0].Text);
@@ -84,7 +85,6 @@ begin PartySession.Teams.Teaminfo[I].Playerinfo[J].Name := PChar(Button[I*5 + J+1].Text[0].Text);
PartySession.Teams.Teaminfo[I].Playerinfo[J].TimesPlayed := 0;
end;
- PartySession.Teams.Teaminfo[I].Joker := Round (Length(PartySession.Rounds) * 0.85);
end;
Music.PlayStart;
diff --git a/Game/Code/Screens/UScreenPartyScore.pas b/Game/Code/Screens/UScreenPartyScore.pas index 9cbeb5d5..142ec947 100644 --- a/Game/Code/Screens/UScreenPartyScore.pas +++ b/Game/Code/Screens/UScreenPartyScore.pas @@ -57,13 +57,10 @@ begin SDLK_RETURN:
begin
Music.PlayStart;
- if (PartySession.CurRound <= High(PartySession.Rounds)) then
+ if (PartySession.CurRound < High(PartySession.Rounds)) then
FadeTo(@ScreenPartyNewRound)
else
- begin
- PartySession.EndRound;
FadeTo(@ScreenPartyWin);
- end;
end;
end;
end;
@@ -114,6 +111,9 @@ begin Static[StaticTeam2].Texture.ScaleW := ScreenSingModi.PlayerInfo.Playerinfo[1].Percentage / 100;
Static[StaticTeam3].Texture.ScaleW := ScreenSingModi.PlayerInfo.Playerinfo[2].Percentage / 100;
+ //End Last Round
+ PartySession.EndRound;
+
//Set Winnertext
Text[TextWinner].Text := Format(Language.Translate('PARTY_SCORE_WINS'), [PartySession.GetWinnerString(PartySession.CurRound)]);
diff --git a/Game/Code/Screens/UScreenSong.pas b/Game/Code/Screens/UScreenSong.pas index 7ea5d268..7c8447ee 100644 --- a/Game/Code/Screens/UScreenSong.pas +++ b/Game/Code/Screens/UScreenSong.pas @@ -1488,8 +1488,8 @@ begin end;
1: //One Category Select Category and Select Random Song
begin
- CatSongs.HideCategory(-1);
- CatSongs.ShowCategory(PlaylistMan.CurPlayList);
+ CatSongs.ShowCategoryList;
+ CatSongs.ClickCategoryButton(PlaylistMan.CurPlayList);
ShowCatTL(PlaylistMan.CurPlayList);
SelectNext;
|