## XIIIMP
Class XIIIMPScoreBoard

source: C:\XIII\XIIIMP\Classes\XIIIMPScoreBoard.uc

    Core.Object
       |
       +--Engine.Actor
          |
          +--Engine.Info
             |
             +--Engine.ScoreBoard
                |
                +--XIIIMP.XIIIMPScoreBoard

Direct Known Subclasses:XIIIMPTeamScoreBoard

class XIIIMPScoreBoard
extends Engine.ScoreBoard

    //-----------------------------------------------------------
    //
    //-----------------------------------------------------------

Variables
`font` | `BigFont` Big system font.
`RedColor,` | `BlackColor`
`LossString,` | `FPHString`
`color` | `HudTeamColor[2],HudBasicColor` Small system font.
`font` | `LargeFont` Largest system font.
`float` | `LastPlayerUpdateTime` top allowed score start
`string` | `LastUpdateValue` Small system font.
`string` | `MapTitleQuote` top allowed score start
`XIIIFontInfo` | `MyFonts` top allowed score start
`Texture` | `NotReadytex` top allowed score start
`DeathsString,` | `PingString`
`int` | `PlayerCount` top allowed score start
`PlayerController` | `PlayerOwner` top allowed score start
`string` | `PreGameEndMessage,PostGameEndMessage,TieGameMessage` top allowed score start
`int` | `ResultCode` Small system font.
`float` | `ScoreStart` top allowed score start
`font` | `SmallFont` Small system font.
`FragGoal,` | `TimeLimit`
`TimeOfNextGSUpdate,` | `TimeOfNextForcedGSUpdate` Small system font.
`int` | `YP` Y position on screen to keep track of the text locations
`bool` | `bTimeDown` top allowed score start
`MatchMakingManager` | `myMMManager` Small system font.
`string` | `sWaitingForReady`
`strPressFire,` | `strPleaseWait`

States
KeepGSposted

Function Summary
`bool` | `BuildPlayerListWithScore()`
    //____________________________________________________________________
`void` | `Destroyed()`
    //____________________________________________________________________
`void` | `DrawInfoLine(Canvas C, string Info1, string Info2, string Info3, color LineColor, color BgColor, bool AddBg, int ViewPortNumber, optional bool, optional bool)`
    //____________________________________________________________________
`void` | `DrawTrailer(Canvas Canvas)`
    //____________________________________________________________________
`void` | `DrawVictoryConditions(Canvas Canvas)`
    //____________________________________________________________________
`void` | `GetDownMargin(Canvas C, int ViewPortId, int PlayerNumber)`
    //____________________________________________________________________
`void` | `GetUpMargin(Canvas C, int ViewPortId, int PlayerNumber)`
    //____________________________________________________________________
`void` | `PostBeginPlay()`
    //____________________________________________________________________
`void` | `ShowScores(Canvas C, int ViewPortId, int PlayerNumber)`
    //____________________________________________________________________
`simulated` | `SortScores(int N)`
    //____________________________________________________________________
`string` | `TwoDigitString(int Num)`
    //____________________________________________________________________
`simulated` | `UpdatePlayerList()`
    //____________________________________________________________________
`simulated` | `UpdateScores()`
    //____________________________________________________________________

State KeepGSposted Function Summary

Source Code

    00001	//-----------------------------------------------------------
    00002	//
    00003	//-----------------------------------------------------------
    00004	class XIIIMPScoreBoard extends ScoreBoard;
    00005
    00006	var localized string MapTitle, Author, Restart, sContinue, Ended, ElapsedTime, sRemainingTime, FragGoal, TimeLimit;
    00007	var localized string PlayerString, FragsString, DeathsString, PingString;
    00008	var localized string TimeString, LossString, FPHString;
    00009	var localized string sWaitingForReady;
    00010	var localized string strReady, strPressFire, strPleaseWait;
    00011	var color GreenColor, WhiteColor, GoldColor, LightCyanColor, CyanColor, RedColor, BlackColor;
    00012	var float ScoreStart;     // top allowed score start
    00013	var bool bTimeDown;
    00014	var XIIIFontInfo MyFonts;
    00015	var localized string MapTitleQuote;
    00016	var PlayerController PlayerOwner;
    00017	var localized string PreGameEndMessage,PostGameEndMessage,TieGameMessage;
    00018	var int PlayerCount;
    00019	var float LastPlayerUpdateTime;
    00020	var texture NotReadytex;
    00021	var int YP;                   // Y position on screen to keep track of the text locations
    00022	var font BigFont;            // Big system font.
    00023	var font LargeFont;            // Largest system font.
    00024	var font SmallFont;            // Small system font.
    00025	var color HudTeamColor[2],HudBasicColor;
    00026
    00027	const DBScores=false;
    00028
    00029	var MatchMakingManager myMMManager;
    00030	var int ResultCode;
    00031	var float TimeOfNextGSUpdate, TimeOfNextForcedGSUpdate;
    00032	var string LastUpdateValue;
    00033
    00034	//____________________________________________________________________
    00035	function Destroyed()
    00036	{
    00037	    Super.Destroyed();
    00038	    if ( MyFonts != None )
    00039	      MyFonts.Destroy();
    00040
    00041	    // Unregister the server from GS if required
    00042	    if ((Level.Game != none) && (XIIIMPGameInfo(Level.Game) != none) && XIIIMPGameInfo(Level.Game).bNeedToKeepGSPosted && (myMMManager != none))
    00043	    {
    00044	        myMMManager.UnregisterMyGameServer();
    00045	    }
    00046
    00047	}
    00048
    00049	//____________________________________________________________________
    00050	function PostBeginPlay()
    00051	{
    00052	    Super.PostBeginPlay();
    00053	    MyFonts = spawn(class'XIIIFontInfo');
    00054	    PlayerOwner = PlayerController(Owner);
    00055	}
    00056
    00057	//____________________________________________________________________
    00058	function DrawVictoryConditions(Canvas Canvas)
    00059	{
    00060	    local float XL, YL;
    00061
    00062	    Canvas.Font = MyFonts.GetMediumFont( fMin(Canvas.ClipX, Canvas.ClipY) );
    00063	    Canvas.StrLen("Test", XL, YL);
    00064
    00065	    Canvas.SetPos(0, YP);
    00066	    Canvas.DrawText(caps(PlayerOwner.GameReplicationInfo.GameName));
    00067	    YP += YL;
    00068
    00069	    if ( PlayerOwner.GameReplicationInfo.GoalScore > 0 )
    00070	    {
    00071	      Canvas.SetPos(0, YP);
    00072	      Canvas.DrawText(caps(FragGoal@PlayerOwner.GameReplicationInfo.GoalScore));
    00073	      YP += YL;
    00074	    }
    00075	    if ( PlayerOwner.GameReplicationInfo.TimeLimit > 0 )
    00076	    {
    00077	      Canvas.SetPos(0, YP);
    00078	      Canvas.DrawText(caps(TimeLimit@PlayerOwner.GameReplicationInfo.TimeLimit$":00"));
    00079	      YP += YL;
    00080	    }
    00081	}
    00082
    00083	//____________________________________________________________________
    00084	function string TwoDigitString(int Num)
    00085	{
    00086	    if ( Num < 10 )
    00087	      return "0"$Num;
    00088	    else
    00089	      return string(Num);
    00090	}
    00091
    00092	//____________________________________________________________________
    00093	function DrawTrailer( canvas Canvas )
    00094	{
    00095	    local XIIIGameReplicationInfo TGRI;
    00096	    local int Hours, Minutes, Seconds;
    00097	    local float XL, YL;
    00098	    local string TmpPleasWait;
    00099
    00100	    TGRI = XIIIGameReplicationInfo(PlayerOwner.GameReplicationInfo);
    00101
    00102	    Canvas.bCenter = true;
    00103	    Canvas.StrLen("999", XL, YL);
    00104	    Canvas.DrawColor = WhiteColor;
    00105	    Canvas.SetPos(0, YP - YL);
    00106
    00107	    //log("----"@TGRI.iGameState@"----");
    00108
    00109	    if (TGRI.iGameState==1)
    00110	    {
    00111	        //PlayerOwner.PlayerReplicationInfo.bReadyToPlay = true;
    00112	        if ( PlayerOwner.PlayerReplicationInfo.bReadyToPlay )
    00113	            Canvas.DrawText(strReady, true);
    00114	        else
    00115	            Canvas.DrawText(strPressFire, true);
    00116	    }
    00117	    else if (TGRI.iGameState==2)
    00118	    {
    00119	      bTimeDown = true;
    00120
    00121	        if ( TGRI.XIIIRemainingTime > 0 )
    00122	        {
    00123	            Minutes = TGRI.XIIIRemainingTime/60;
    00124	            Seconds = TGRI.XIIIRemainingTime % 60;
    00125	//            Canvas.DrawText(sRemainingTime@TwoDigitString(Minutes)$":"$TwoDigitString(Seconds), true);
    00126	            Canvas.DrawText(TwoDigitString(Minutes)$":"$TwoDigitString(Seconds), true);
    00127
    00128	            if( ( OwnerHUD.HelpDisplay ) && ( !PlayerOwner.bFrozen ) )
    00129	            {
    00130	                Canvas.SetPos(0, YP - 2*YL);
    00131	                Canvas.DrawText(strPressFire, true);
    00132	            }
    00133	            else if( ( OwnerHUD.HelpDisplay ) && ( PlayerOwner.bFrozen ) )
    00134	            {
    00135	                TmpPleasWait = strPleaseWait@"..."@XIIIMPPlayerController(PlayerOwner).TimeBeforeRespawn;
    00136	                Canvas.SetPos(0, YP - 2*YL);
    00137	                Canvas.DrawText( TmpPleasWait, true);
    00138	            }
    00139	        }
    00140	        else
    00141	        {
    00142	            if( ( OwnerHUD.HelpDisplay ) && ( !PlayerOwner.bFrozen ) )
    00143	            {
    00144	                Canvas.SetPos(0, YP - YL);
    00145	                Canvas.DrawText(strPressFire, true);
    00146	            }
    00147	            else if( ( OwnerHUD.HelpDisplay ) && ( PlayerOwner.bFrozen ) )
    00148	            {
    00149	                TmpPleasWait = strPleaseWait@"..."@XIIIMPPlayerController(PlayerOwner).TimeBeforeRespawn;
    00150	                Canvas.SetPos(0, YP - 2*YL);
    00151	                Canvas.DrawText( TmpPleasWait, true);
    00152	            }
    00153	        }
    00154	    }
    00155	    else if( TGRI.iGameState != 3 )
    00156	    {
    00157	        Seconds = PlayerOwner.GameReplicationInfo.ElapsedTime;
    00158	        Minutes = Seconds / 60;
    00159	        Hours   = Minutes / 60;
    00160	        Seconds = Seconds - (Minutes * 60);
    00161	        Minutes = Minutes - (Hours * 60);
    00162	//        Canvas.DrawText(ElapsedTime@TwoDigitString(Hours)$":"$TwoDigitString(Minutes)$":"$TwoDigitString(Seconds), true);
    00163	        Canvas.DrawText(TwoDigitString(Hours)$":"$TwoDigitString(Minutes)$":"$TwoDigitString(Seconds), true);
    00164
    00165	        if( ( OwnerHUD.HelpDisplay ) && ( !PlayerOwner.bFrozen ) )
    00166	        {
    00167	            Canvas.SetPos(0, YP - 2*YL);
    00168	            Canvas.DrawText(strPressFire, true);
    00169	        }
    00170	    }
    00171
    00172	    if (TGRI.iGameState==3)
    00173	    {
    00174	        Canvas.bCenter = true;
    00175	        //Canvas.StrLen("Test", XL, YL);
    00176	        Canvas.SetPos(0, YP - YL);
    00177	        //Canvas.SetPos(0, Canvas.ClipY - Min(YL*6, Canvas.ClipY * 0.1));
    00178	        //Canvas.DrawColor = GreenColor;
    00179	        Canvas.DrawText(Ended, true);
    00180	    }
    00181
    00182	    Canvas.bCenter = false;
    00183	}
    00184
    00185	//____________________________________________________________________
    00186	function DrawInfoLine(Canvas C, string Info1, string Info2, string Info3, color LineColor, color BgColor , bool AddBg, int ViewPortNumber, optional bool bDrawReadyToPlay, optional bool bNotReadyToPlay )
    00187	{
    00188	    local float W,H; //, IconSize;
    00189	    local int XP;
    00190
    00191	    if( ViewPortNumber == 1 )
    00192	      C.Font = BigFont;
    00193	    else
    00194	      C.Font = SmallFont;
    00195	    C.SpaceX = 1;
    00196	    C.StrLen(Info1, W, H);
    00197
    00198	//    IconSize = (H+4) / (ReadyTex.VSize/2.0);
    00199
    00200	    XP = C.CLipX*0.15;
    00201
    00202	    // BackGround Icon + Text
    00203	    C.bUseBorder = false;
    00204	    C.Style = ERenderStyle.STY_Alpha;
    00205	    C.DrawColor = BgColor*0.3;
    00206	    C.DrawColor.A = 90;
    00207	    C.SetPos(XP,YP);
    00208	    OwnerHud.DrawStdBackGround(C, H-4, C.CLipX*0.7 - 2*(H-4));
    00209	    if( AddBg )
    00210	    {
    00211	      C.Style = ERenderStyle.STY_Translucent;
    00212	      C.DrawColor = BgColor;
    00213	      C.DrawColor.A = 200;
    00214	      C.SetPos(XP,YP);
    00215	      OwnerHud.DrawStdBackGround(C, H-4, C.CLipX*0.7 - 2*(H-4));
    00216	    }
    00217
    00218	//    Log(Info1@"Ready ?"@!bNotReadyToPlay@"GRI State="$XIIIGameReplicationInfo(PlayerOwner.GameReplicationInfo).iGameState);
    00219	    // Player Ready ?
    00220	    if ( (Level.NetMode != NM_StandAlone) && bDrawReadyToPlay && XIIIGameReplicationInfo(PlayerOwner.GameReplicationInfo).iGameState != 2 )
    00221	    {
    00222	      C.Style = ERenderStyle.STY_Alpha;
    00223	      if ( bNotReadyToPlay )
    00224	        C.DrawColor = WhiteColor * 0.5;
    00225	      else
    00226	        C.DrawColor = GoldColor;
    00227	      C.SetPos(XP-H/4,YP-3);
    00228	      C.DrawIcon(NotReadyTex, (H+3)/NotReadyTex.VSize);
    00229	      bDrawReadyToPlay = true;
    00230	    }
    00231	    else
    00232	      bDrawReadyToPlay = false;
    00233
    00234	    // Text
    00235	    C.Style = ERenderStyle.STY_Normal;
    00236
    00237	    C.DrawColor = BgColor*0.3;
    00238	    C.SetPos(XP+H+4+1,YP-1);
    00239	    C.DrawText(Info1, false);
    00240
    00241
C.DrawColor = LineColor; 00242 C.SetPos(XP+H+4,YP-2); 00243 C.DrawText(Info1, false); 00244 00245 C.StrLen(Info2, W, H); 00246 00247 C.DrawColor = BgColor*0.3; 00248 C.SetPos(C.ClipX*0.58 + 1 - W/2,YP-1); 00249 C.DrawText(Info2, false); 00250 00251 C.DrawColor = LineColor; 00252 C.SetPos(C.ClipX*0.58 - W/2,YP-2); 00253 C.DrawText(Info2, false); 00254 00255 C.StrLen(Info3, W, H); 00256 00257 C.DrawColor = BgColor*0.3; 00258 C.SetPos(C.ClipX*0.75 + 1 - W/2,YP-1); 00259 C.DrawText(Info3, false); 00260 00261 C.DrawColor = LineColor; 00262 C.SetPos(C.ClipX*0.75 - W/2,YP-2); 00263 C.DrawText(Info3, false); 00264 00265 YP += H; 00266 00267 C.SpaceX = 0; 00268 } 00269 00270 //____________________________________________________________________ 00271 simulated function SortScores(int N) 00272 { 00273 local int I, J, Max; 00274 local PlayerReplicationInfo TempPRI; 00275 00276 for ( I=0; I<N-1; I++ ) 00277 { 00278 Max = I; 00279 for ( J=I+1; J<N; J++ ) 00280 { 00281 if ( Ordered[J].Score > Ordered[Max].Score ) 00282 Max = J; 00283 else if ((Ordered[J].Score == Ordered[Max].Score) && (Ordered[J].Deaths < Ordered[Max].Deaths)) 00284 Max = J; 00285 else if ((Ordered[J].Score == Ordered[Max].Score) && (Ordered[J].Deaths == Ordered[Max].Deaths) && 00286 (Ordered[J].PlayerID < Ordered[Max].Score)) 00287 Max = J; 00288 } 00289 00290 TempPRI = Ordered[Max]; 00291 Ordered[Max] = Ordered[I]; 00292 Ordered[I] = TempPRI; 00293 } 00294 } 00295 00296 //____________________________________________________________________ 00297 simulated function UpdatePlayerList() 00298 { 00299 local int i; 00300 local PlayerReplicationInfo PRI; 00301 00302 // infrequent checks (every 0.5 seconds) since AllActors is expensive 00303 00304 if ( Level.TimeSeconds - LastPlayerUpdateTime < 0.5 ) 00305 return; 00306 LastPlayerUpdateTime = Level.TimeSeconds; 00307 00308 // Wipe everything. 00309 for ( i=0; i<ArrayCount(Ordered); i++ ) 00310 Ordered[i] = None; 00311 PlayerCount = 0; 00312 00313 foreach AllActors(class'PlayerReplicationInfo', PRI) 00314 { 00315 if ( !PRI.bIsSpectator || PRI.bWaitingPlayer ) 00316 { 00317 Ordered[PlayerCount] = PRI; 00318 PlayerCount++; 00319 if ( PlayerCount == ArrayCount(Ordered) ) 00320 break; 00321 } 00322 } 00323 00324 SortScores(PlayerCount); 00325 00326 if ((Level.TimeSeconds > TimeOfNextGSUpdate) && (Level.Game != none) && (XIIIMPGameInfo(Level.Game) != none) && XIIIMPGameInfo(Level.Game).bNeedToKeepGSPosted) 00327 { 00328 TimeOfNextGSUpdate = Level.TimeSeconds + 10.0; 00329 GotoState('KeepGSposted'); 00330 } 00331 } 00332 00333 //____________________________________________________________________ 00334 function ShowScores( Canvas C , int ViewPortId , int PlayerNumber ) 00335 { 00336 local color BgColor; 00337 local int Loop; 00338 local string PName,PFrag,PDeath; 00339 local bool IsMe; 00340 local XIIIGameReplicationInfo TGRI; 00341 00342 if ( PlayerOwner.GameReplicationInfo == none ) 00343 return; 00344 00345 TGRI = XIIIGameReplicationInfo(PlayerOwner.GameReplicationInfo); 00346 UpdatePlayerList(); 00347 00348 GetUpMargin( C , ViewPortId , PlayerNumber ); 00349 if( (TGRI.iGameState==1) && ( Level.NetMode == NM_Standalone ) ) 00350 { 00351 if( PlayerNumber == 1 ) 00352 C.Font = BigFont; 00353 else 00354 C.Font = SmallFont; 00355 00356 GetDownMargin( C , ViewPortId , PlayerNumber ); 00357 DrawTrailer(C); 00358 return; 00359 } 00360 00361 // Header 00362 DrawInfoLine( C,PlayerString,FragsString,DeathsString,HudBasicColor,HudBasicColor,false,PlayerNumber ); 00363 YP += 8; 00364 00365 //Players ... 00366 for ( Loop=0; Loop<PlayerCount; Loop++ ) 00367 { 00368 IsMe = ( Ordered[Loop] == PlayerOwner.PlayerReplicationInfo ); 00369 PName = Ordered[Loop].PlayerName; 00370 PFrag = string( int(Ordered[Loop].Score)); 00371 PDeath = string( int(Ordered[Loop].Deaths)); 00372 DrawInfoLine( C, PName,PFrag,PDeath,HudBasicColor,HudBasicColor,IsMe,PlayerNumber, Ordered[Loop].bWaitingPlayer, !Ordered[Loop].bReadyToPlay ); 00373 } 00374 00375 // Trail 00376 GetDownMargin( C , ViewPortId , PlayerNumber ); 00377 DrawTrailer(C); 00378 } 00379 00380 //____________________________________________________________________ 00381 function GetDownMargin( Canvas C , int ViewPortId , int PlayerNumber ) 00382 { 00383 YP = C.ClipY*0.85; // default Value 00384 00385 if( ViewPortId != -1 ) 00386 { 00387 if( PlayerNumber == 2 ) 00388 { 00389 if( ViewPortId == 0 ) 00390 YP = C.ClipY*0.95; 00391 else 00392 YP = C.ClipY*0.85; 00393 } 00394 else 00395 { 00396 if( ( ViewPortId == 0 ) || ( ViewPortId == 1 ) ) 00397 YP = C.ClipY*0.95; 00398 else 00399 YP = C.ClipY*0.85; 00400 } 00401 } 00402 00403 if( ( Level.NetMode != NM_Standalone ) || ( ( ViewPortId == 0 ) && ( PlayerNumber == 1 ) ) ) 00404 YP = C.ClipY*0.90; 00405 } 00406 00407 //____________________________________________________________________ 00408 function GetUpMargin( Canvas C , int ViewPortId , int PlayerNumber ) 00409 { 00410 YP = C.ClipY*0.15; // default Value 00411 00412 if( ViewPortId != -1 ) 00413 { 00414 if( PlayerNumber == 2 ) 00415 { 00416 if( ViewPortId == 0 ) 00417 YP = C.ClipY*0.15; 00418 else 00419 YP = C.ClipY*0.05; 00420 } 00421 else 00422 { 00423 if( ( ViewPortId == 0 ) || ( ViewPortId == 1 ) ) 00424 YP = C.ClipY*0.15; 00425 else 00426 YP = C.ClipY*0.05; 00427 } 00428 } 00429 } 00430 00431 //____________________________________________________________________ 00432 simulated function UpdateScores() 00433 { 00434 if ( DBScores ) Log("MP-] UpdateScores for "$self); 00435 UpdatePlayerList(); 00436 } 00437 00438 //____________________________________________________________________ 00439 function bool BuildPlayerListWithScore() 00440 { 00441 local string Result; 00442 local int Loop; 00443 00444 for ( Loop=0; Loop<PlayerCount; Loop++ ) 00445 { 00446 if (Loop > 0) 00447 Result = Result$"?"; 00448 Result = Result$Ordered[Loop].PlayerName$"="$int(Ordered[Loop].Score); 00449 } 00450 00451 if (LastUpdateValue == Result) 00452 { 00453 if (Level.TimeSeconds >= TimeOfNextForcedGSUpdate) 00454 { 00455 TimeOfNextForcedGSUpdate = Level.TimeSeconds + 29.0; 00456 return true; 00457 } 00458 else 00459 return false; 00460 } 00461 else 00462 { 00463 LastUpdateValue = Result; 00464 TimeOfNextForcedGSUpdate = Level.TimeSeconds + 29.0; 00465 return true; 00466 } 00467 } 00468 00469 00470 //____________________________________________________________________ 00471 State KeepGSposted 00472 { 00473 begin: 00474 if (myMMManager == none) 00475 myMMManager = new(none) class'MatchMakingManager'; 00476 00477 if (BuildPlayerListWithScore()) 00478 { 00479 //log("Sending "$LastUpdateValue$" to GS"); 00480 myMMManager.UpdateMyGameServer(-1, -1, "", ""/*info*/, LastUpdateValue/*AdditionalInfo*/, -1); 00481 while ( !myMMManager.IsMyGameServerUpdated(ResultCode) ) 00482 { 00483 Sleep(0.1); 00484 } 00485 /* Whatever the ResultCode, there is nothing we can do... 00486 if (ResultCode == 0) 00487 { 00488 log("Server updated on GS"); 00489 } 00490 else 00491 { 00492 log("Error while updating the server on GS"); 00493 } 00494 */ 00495 00496 } 00497 GotoState(''); 00498 } 00499 00500 00501 00502 //____________________________________________________________________ 00503 // NotReadyTex=texture'XIIIMenu.Mul_moinsdevie' 00504 00505 00506 defaultproperties 00507 { 00508 MapTitle="in" 00509 Author="by" 00510 Restart="You are dead. Hit [Fire] to respawn!" 00511 sContinue=" Hit [Fire] to continue!" 00512 Ended="The match has ended." 00513 ElapsedTime="Elapsed Time: " 00514 sRemainingTime="Remaining Time: " 00515 FragGoal="Frag Limit:" 00516 TimeLimit="Time Limit:" 00517 PlayerString="Player" 00518 FragsString="Frag(s)" 00519 DeathsString="Death(s)" 00520 PingString="Ping" 00521 TimeString="Time" 00522 LossString="Loss" 00523 FPHString="FPH" 00524 sWaitingForReady="Waiting for players to be ready" 00525 strReady="Ready" 00526 strPressFire="Press Fire to begin" 00527 strPleaseWait="Please Wait" 00528 GreenColor=(G=255,A=255) 00529 WhiteColor=(B=255,G=255,R=255,A=255) 00530 GoldColor=(G=210,R=240,A=255) 00531 LightCyanColor=(B=255,G=255,R=128,A=255) 00532 CyanColor=(B=255,G=128,A=255) 00533 RedColor=(R=255,A=255) 00534 BlackColor=(A=255) 00535 PostGameEndMessage=" wins the round!" 00536 TieGameMessage="Round ends with no winner." 00537 LastPlayerUpdateTime=-1.000000 00538 NotReadytex=Texture'XIIICine.effets.impactpoing2A' 00539 BigFont=Font'XIIIFonts.PoliceF16' 00540 LargeFont=Font'XIIIFonts.PoliceF20' 00541 SmallFont=Font'XIIIFonts.XIIIConsoleFont' 00542 HudTeamColor(0)=(R=200,A=255) 00543 HudTeamColor(1)=(B=255,G=159,R=64,A=255) 00544 HudBasicColor=(B=210,G=252,R=255,A=230) 00545 }

End Source Code