UTMenu
Class ManagerWindow

source: e:\games\UnrealTournament\UTMenu\Classes\ManagerWindow.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UTMenu.NotifyWindow
            |
            +--UTMenu.ManagerWindowStub
               |
               +--UTMenu.ManagerWindow
Direct Known Subclasses:None

class ManagerWindow
extends UTMenu.ManagerWindowStub


Variables
 DoorArea ASDoor
 NotifyButton ASLadderButton
 string ASText
 Texture BG1[4]
 Texture BG2[4]
 Texture BG3[4]
 string BGName1[4]
 string BGName2[4]
 string BGName3[4]
 NotifyButton BackButton
 DoorArea CTFDoor
 NotifyButton CTFLadderButton
 string CTFText
 DoorArea ChalDoor
 string ChalPosString
 NotifyButton ChallengeLadderButton
 string ChallengeString
 string ChallengeText
 NotifyButton DMLadderButton
 string DMText
 DoorArea DOMDoor
 NotifyButton DOMLadderButton
 string DOMText
 UTFadeTextArea InfoArea
 LadderInventory LadderObj
 string LadderTypes[5]
 string MatchesString
 NotifyButton NextButton
 float OpenTime
 string RankString[4]
 int SelectedLadder
 NotifyButton TrophyButton
 DoorArea TrophyDoor
 ChalDoorOpen[5], TrophyDoorOpen[5]
 string TrophyText
 bool bOpened


Function Summary
 void BeforePaint(Canvas C, float X, float Y)
 void Close(optional bool)
 void Created()
 void HideWindow()
 void Lite(int Ladder)
 void Notify(UWindowWindow C, byte E)
 void OpenDemoDoors()
 void OpenDoors()
 void Paint(Canvas C, float X, float Y)
 void ShowWindow()
 void Tick(float Delta)
 void UnLite(int Ladder)



Source Code


00001	class ManagerWindow extends ManagerWindowStub
00002		config(user);
00003	
00004	// Manager
00005	#exec TEXTURE IMPORT NAME=Sel11 FILE=TEXTURES\Select\Sel11.PCX GROUP=Skins MIPS=OFF
00006	#exec TEXTURE IMPORT NAME=Sel12 FILE=TEXTURES\Select\Sel12.PCX GROUP=Skins MIPS=OFF
00007	#exec TEXTURE IMPORT NAME=Sel13 FILE=TEXTURES\Select\Sel13.PCX GROUP=Skins MIPS=OFF
00008	#exec TEXTURE IMPORT NAME=Sel14 FILE=TEXTURES\Select\Sel14.PCX GROUP=Skins MIPS=OFF
00009	#exec TEXTURE IMPORT NAME=Sel21 FILE=TEXTURES\Select\Sel21.PCX GROUP=Skins MIPS=OFF
00010	#exec TEXTURE IMPORT NAME=Sel22 FILE=TEXTURES\Select\Sel22.PCX GROUP=Skins MIPS=OFF
00011	#exec TEXTURE IMPORT NAME=Sel23 FILE=TEXTURES\Select\Sel23.PCX GROUP=Skins MIPS=OFF
00012	#exec TEXTURE IMPORT NAME=Sel24 FILE=TEXTURES\Select\Sel24.PCX GROUP=Skins MIPS=OFF
00013	#exec TEXTURE IMPORT NAME=Sel31 FILE=TEXTURES\Select\Sel31.PCX GROUP=Skins MIPS=OFF
00014	#exec TEXTURE IMPORT NAME=Sel32 FILE=TEXTURES\Select\Sel32.PCX GROUP=Skins MIPS=OFF
00015	#exec TEXTURE IMPORT NAME=Sel33 FILE=TEXTURES\Select\Sel33.PCX GROUP=Skins MIPS=OFF
00016	#exec TEXTURE IMPORT NAME=Sel34 FILE=TEXTURES\Select\Sel34.PCX GROUP=Skins MIPS=OFF
00017	
00018	#exec TEXTURE IMPORT NAME=DoorL FILE=TEXTURES\Doors\doorL.PCX GROUP=Skins MIPS=OFF
00019	#exec TEXTURE IMPORT NAME=DoorR FILE=TEXTURES\Doors\doorR.PCX GROUP=Skins MIPS=OFF
00020	
00021	// Background
00022	var texture BG1[4];
00023	var texture BG2[4];
00024	var texture BG3[4];
00025	var string BGName1[4];
00026	var string BGName2[4];
00027	var string BGName3[4];
00028	
00029	// Deathmatch Ladder
00030	var NotifyButton DMLadderButton;
00031	var localized string DMText;
00032	
00033	// Domination Ladder
00034	var NotifyButton DOMLadderButton;
00035	var localized string DOMText;
00036	var DoorArea DOMDoor;
00037	
00038	// CTF Ladder
00039	var NotifyButton CTFLadderButton;
00040	var localized string CTFText;
00041	var DoorArea CTFDoor;
00042	
00043	// Assault Ladder
00044	var NotifyButton ASLadderButton;
00045	var localized string ASText;
00046	var DoorArea ASDoor;
00047	
00048	// Challenge Ladder
00049	var NotifyButton ChallengeLadderButton;
00050	var localized string ChallengeText;
00051	var DoorArea ChalDoor;
00052	var localized string ChallengeString;
00053	var localized string ChalPosString;
00054	
00055	// Trophy Room
00056	var NotifyButton TrophyButton;
00057	var localized string TrophyText;
00058	var DoorArea TrophyDoor;
00059	
00060	var UTFadeTextArea InfoArea;
00061	
00062	var NotifyButton BackButton;
00063	var NotifyButton NextButton;
00064	
00065	var int SelectedLadder;
00066	var string LadderTypes[5];
00067	
00068	var LadderInventory LadderObj;
00069	
00070	var float OpenTime;
00071	var bool bOpened;
00072	
00073	var localized string RankString[4];
00074	var localized string MatchesString;
00075	
00076	var globalconfig int DOMDoorOpen[5], CTFDoorOpen[5], ASDoorOpen[5], ChalDoorOpen[5], TrophyDoorOpen[5];
00077	
00078	function Created()
00079	{
00080		local float Xs, Ys;
00081		local int i;
00082		local int W, H;
00083		local float XWidth, YHeight, XMod, YMod, XPos, YPos;
00084		local color TextColor;
00085	
00086		Super.Created();
00087	
00088		/*
00089		 * Setup window parameters.
00090		 */
00091	
00092		bLeaveOnScreen = True;
00093		bAlwaysOnTop = True;
00094		class'UTLadderStub'.Static.GetStubClass().Static.SetupWinParams(Self, Root, W, H);
00095	
00096		XMod = 4*W;
00097		YMod = 3*H;
00098	
00099		/*
00100		 * Load the background.
00101		 */
00102	
00103		BG1[0] = Texture(DynamicLoadObject(BGName1[0], Class'Texture'));
00104		BG1[1] = Texture(DynamicLoadObject(BGName1[1], Class'Texture'));
00105		BG1[2] = Texture(DynamicLoadObject(BGName1[2], Class'Texture'));
00106		BG1[3] = Texture(DynamicLoadObject(BGName1[3], Class'Texture'));
00107		BG2[0] = Texture(DynamicLoadObject(BGName2[0], Class'Texture'));
00108		BG2[1] = Texture(DynamicLoadObject(BGName2[1], Class'Texture'));
00109		BG2[2] = Texture(DynamicLoadObject(BGName2[2], Class'Texture'));
00110		BG2[3] = Texture(DynamicLoadObject(BGName2[3], Class'Texture'));
00111		BG3[0] = Texture(DynamicLoadObject(BGName3[0], Class'Texture'));
00112		BG3[1] = Texture(DynamicLoadObject(BGName3[1], Class'Texture'));
00113		BG3[2] = Texture(DynamicLoadObject(BGName3[2], Class'Texture'));
00114		BG3[3] = Texture(DynamicLoadObject(BGName3[3], Class'Texture'));
00115	
00116		/*
00117		 * Create components.
00118		 */
00119	
00120		// Check ladder object.
00121		LadderObj = LadderInventory(GetPlayerOwner().FindInventoryType(class'LadderInventory'));
00122		if (LadderObj == None)
00123		{
00124			Log("ManagerWindow: Player has no LadderInventory!!");
00125		}
00126		LadderObj.LastMatchType = 0;
00127	
00128		// DeathMatch Ladder
00129		XPos = 95.0/1024 * XMod;
00130		YPos = 102.0/768 * YMod;
00131		XWidth = 307.0/1024 * XMod;
00132		YHeight = 44.0/768 * YMod;
00133		DMLadderButton = NotifyButton(CreateWindow(class'NotifyButton', XPos, YPos, XWidth, YHeight));
00134		DMLadderButton.NotifyWindow = Self;
00135		DMLadderButton.bStretched = True;
00136		DMLadderButton.Text = DMText;
00137		TextColor.R = 255;
00138		TextColor.G = 255;
00139		TextColor.B = 0;
00140		DMLadderButton.SetTextColor(TextColor);
00141		DMLadderButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00142	
00143		// Domination Ladder
00144		XPos = 95.0/1024 * XMod;
00145		YPos = 231.0/768 * YMod;
00146		XWidth = 307.0/1024 * XMod;
00147		YHeight = 44.0/768 * YMod;
00148		DOMLadderButton = NotifyButton(CreateWindow(class'NotifyButton', XPos, YPos, XWidth, YHeight));
00149		DOMLadderButton.NotifyWindow = Self;
00150		DOMLadderButton.bStretched = True;
00151		DOMLadderButton.Text = DOMText;
00152		TextColor.R = 255;
00153		TextColor.G = 0;
00154		TextColor.B = 0;
00155		DOMLadderButton.SetTextColor(TextColor);
00156		DOMLadderButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00157	
00158		// Domination Door
00159		if (DOMDoorOpen[LadderObj.Slot] == 0)
00160		{
00161			XPos = 83.0/1024 * XMod;
00162			YPos = 222.0/768 * YMod;
00163			XWidth = 332.0/1024 * XMod;
00164			YHeight = 63.0/768 * YMod;
00165			DOMDoor = DoorArea(CreateWindow(class'DoorArea', XPos, YPos, XWidth, YHeight));
00166			DOMDoor.bClosed = True;
00167		}
00168	
00169		// CTF Ladder
00170		XPos = 95.0/1024 * XMod;
00171		YPos = 363.0/768 * YMod;
00172		XWidth = 307.0/1024 * XMod;
00173		YHeight = 44.0/768 * YMod;
00174		CTFLadderButton = NotifyButton(CreateWindow(class'NotifyButton', XPos, YPos, XWidth, YHeight));
00175		CTFLadderButton.NotifyWindow = Self;
00176		CTFLadderButton.bStretched = True;
00177		if (LadderObj.CTFRank == 6)
00178			CTFLadderButton.Text = "    "$CTFText;
00179		else
00180			CTFLadderButton.Text = CTFText;
00181		TextColor.R = 255;
00182		TextColor.G = 0;
00183		TextColor.B = 0;
00184		CTFLadderButton.SetTextColor(TextColor);
00185		CTFLadderButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00186	
00187		// CTF Door
00188		if (CTFDoorOpen[LadderObj.Slot] == 0)
00189		{
00190			XPos = 83.0/1024 * XMod;
00191			YPos = 356.0/768 * YMod;
00192			XWidth = 332.0/1024 * XMod;
00193			YHeight = 63.0/768 * YMod;
00194			CTFDoor = DoorArea(CreateWindow(class'DoorArea', XPos, YPos, XWidth, YHeight));
00195			CTFDoor.bClosed = True;
00196		}
00197	
00198		// Assault Ladder
00199		XPos = 95.0/1024 * XMod;
00200		YPos = 497.0/768 * YMod;
00201		XWidth = 307.0/1024 * XMod;
00202		YHeight = 44.0/768 * YMod;
00203		ASLadderButton = NotifyButton(CreateWindow(class'NotifyButton', XPos, YPos, XWidth, YHeight));
00204		ASLadderButton.NotifyWindow = Self;
00205		ASLadderButton.bStretched = True;
00206		ASLadderButton.Text = ASText;
00207		TextColor.R = 255;
00208		TextColor.G = 0;
00209		TextColor.B = 0;
00210		ASLadderButton.SetTextColor(TextColor);
00211		ASLadderButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00212	
00213		// AS Door
00214		if (ASDoorOpen[LadderObj.Slot] == 0)
00215		{
00216			XPos = 83.0/1024 * XMod;
00217			YPos = 488.0/768 * YMod;
00218			XWidth = 332.0/1024 * XMod;
00219			YHeight = 63.0/768 * YMod;
00220			ASDoor = DoorArea(CreateWindow(class'DoorArea', XPos, YPos, XWidth, YHeight));
00221			ASDoor.bClosed = True;
00222		}
00223	
00224		// Challenge Ladder
00225		XPos = 95.0/1024 * XMod;
00226		YPos = 627.0/768 * YMod;
00227		XWidth = 307.0/1024 * XMod;
00228		YHeight = 44.0/768 * YMod;
00229		ChallengeLadderButton = NotifyButton(CreateWindow(class'NotifyButton', XPos, YPos, XWidth, YHeight));
00230		ChallengeLadderButton.NotifyWindow = Self;
00231		ChallengeLadderButton.bStretched = True;
00232		ChallengeLadderButton.Text = ChallengeText;
00233		TextColor.R = 255;
00234		TextColor.G = 0;
00235		TextColor.B = 0;
00236		ChallengeLadderButton.SetTextColor(TextColor);
00237		ChallengeLadderButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00238	
00239		// Chal Door
00240		if (ChalDoorOpen[LadderObj.Slot] == 0)
00241		{
00242			XPos = 83.0/1024 * XMod;
00243			YPos = 618.0/768 * YMod;
00244			XWidth = 332.0/1024 * XMod;
00245			YHeight = 63.0/768 * YMod;
00246			ChalDoor = DoorArea(CreateWindow(class'DoorArea', XPos, YPos, XWidth, YHeight));
00247			ChalDoor.bClosed = True;
00248		}
00249	
00250		// Trophy Area
00251		XPos = 656.0/1024 * XMod;
00252		YPos = 63.0/768 * YMod;
00253		XWidth = 222.0/1024 * XMod;
00254		YHeight = 50.0/768 * YMod;
00255		TrophyButton = NotifyButton(CreateWindow(class'NotifyButton', XPos, YPos, XWidth, YHeight));
00256		TrophyButton.NotifyWindow = Self;
00257		TrophyButton.bStretched = True;
00258		TrophyButton.Text = TrophyText;
00259		TextColor.R = 255;
00260		TextColor.G = 0;
00261		TextColor.B = 0;
00262		TrophyButton.SetTextColor(TextColor);
00263		TrophyButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00264	
00265		// Trophy Door
00266		if (TrophyDoorOpen[LadderObj.Slot] == 0)
00267		{
00268			XPos = 649.0/1024 * XMod;
00269			YPos = 57.0/768 * YMod;
00270			XWidth = 236.0/1024 * XMod;
00271			YHeight = 62.0/768 * YMod;
00272			TrophyDoor = DoorArea(CreateWindow(class'DoorArea', XPos, YPos, XWidth, YHeight));
00273			TrophyDoor.bClosed = True;
00274		}
00275	
00276		// Back Button
00277		XPos = 192.0/1024 * XMod;
00278		YPos = 701.0/768 * YMod;
00279		XWidth = 64.0/1024 * XMod;
00280		YHeight = 64.0/768 * YMod;
00281		BackButton = NotifyButton(CreateWindow(class'NotifyButton', XPos, YPos, XWidth, YHeight));
00282		BackButton.DisabledTexture = Texture(DynamicLoadObject("UTMenu.LeftUp", Class'Texture'));
00283		BackButton.UpTexture = Texture(DynamicLoadObject("UTMenu.LeftUp", Class'Texture'));
00284		BackButton.DownTexture = Texture(DynamicLoadObject("UTMenu.LeftDown", Class'Texture'));
00285		BackButton.OverTexture = Texture(DynamicLoadObject("UTMenu.LeftOver", Class'Texture'));
00286		BackButton.NotifyWindow = Self;
00287		BackButton.Text = "";
00288		TextColor.R = 255;
00289		TextColor.G = 255;
00290		TextColor.B = 0;
00291		BackButton.SetTextColor(TextColor);
00292		BackButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00293		BackButton.bStretched = True;
00294		BackButton.OverSound = sound'LadderSounds.lcursorMove';
00295		BackButton.DownSound = sound'LadderSounds.ladvance';
00296	
00297		// Next Button
00298		XPos = 256.0/1024 * XMod;
00299		YPos = 701.0/768 * YMod;
00300		XWidth = 64.0/1024 * XMod;
00301		YHeight = 64.0/768 * YMod;
00302		NextButton = NotifyButton(CreateWindow(class'NotifyButton', XPos, YPos, XWidth, YHeight));
00303		NextButton.DisabledTexture = Texture(DynamicLoadObject("UTMenu.RightUp", Class'Texture'));
00304		NextButton.UpTexture = Texture(DynamicLoadObject("UTMenu.RightUp", Class'Texture'));
00305		NextButton.DownTexture = Texture(DynamicLoadObject("UTMenu.RightDown", Class'Texture'));
00306		NextButton.OverTexture = Texture(DynamicLoadObject("UTMenu.RightOver", Class'Texture'));
00307		NextButton.NotifyWindow = Self;
00308		NextButton.Text = "";
00309		TextColor.R = 255;
00310		TextColor.G = 255;
00311		TextColor.B = 0;
00312		NextButton.SetTextColor(TextColor);
00313		NextButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00314		NextButton.bStretched = True;
00315		NextButton.OverSound = sound'LadderSounds.lcursorMove';
00316		NextButton.DownSound = sound'LadderSounds.ladvance';
00317	
00318		// Info
00319		XPos = 617.0/1024 * XMod;
00320		YPos = 233.0/768 * YMod;
00321		XWidth = 303.0/1024 * XMod;
00322		YHeight = 440.0/768 * YMod;
00323		InfoArea = UTFadeTextArea(CreateWindow(Class<UWindowWindow>(DynamicLoadObject("UTMenu.UTFadeTextArea", Class'Class')), XPos, YPos, XWidth, YHeight));
00324		InfoArea.TextColor.R = 255;
00325		InfoArea.TextColor.G = 255;
00326		InfoArea.TextColor.B = 0;
00327		InfoArea.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetSmallFont(Root);
00328		InfoArea.FadeFactor = 8;
00329		InfoArea.Clear();
00330		if (Root.WinWidth < 512)
00331			return;
00332		InfoArea.AddText(RankString[0]@class'Ladder'.Static.GetRank(LadderObj.DMRank));
00333		if (class'UTLadderStub'.Static.GetStubClass().Static.IsDemo())
00334		{
00335			if (LadderObj.DMPosition == -1)
00336				InfoArea.AddText(MatchesString@"0");
00337			else {
00338				if (LadderObj.DMRank == 4)
00339					InfoArea.AddText(MatchesString@LadderObj.DMPosition);
00340				else
00341					InfoArea.AddText(MatchesString@(LadderObj.DMPosition-1));
00342			}
00343			if (LadderObj.DMRank == 4) {
00344				InfoArea.AddText(" ");
00345				InfoArea.AddText(RankString[1]@class'Ladder'.Static.GetRank(LadderObj.DOMRank));
00346				if (LadderObj.DOMPosition == -1)
00347					InfoArea.AddText(MatchesString@"0");
00348				else {
00349					if (LadderObj.DOMRank == 4)
00350						InfoArea.AddText(MatchesString@LadderObj.DOMPosition);
00351					else
00352						InfoArea.AddText(MatchesString@(LadderObj.DOMPosition-1));
00353				}
00354			}
00355			if (LadderObj.DOMRank == 4) {
00356				InfoArea.AddText(" ");
00357				InfoArea.AddText(RankString[2]@class'Ladder'.Static.GetRank(LadderObj.CTFRank));
00358				if (LadderObj.CTFPosition == -1)
00359					InfoArea.AddText(MatchesString@"0");
00360				else {
00361					if (LadderObj.CTFRank == 4)
00362						InfoArea.AddText(MatchesString@LadderObj.CTFPosition);
00363					else
00364						InfoArea.AddText(MatchesString@(LadderObj.CTFPosition-1));
00365				}
00366			}
00367		} else {
00368			if (LadderObj.DMPosition == -1)
00369				InfoArea.AddText(MatchesString@"0");
00370			else {
00371				if (LadderObj.DMRank == 6)
00372					InfoArea.AddText(MatchesString@LadderObj.DMPosition);
00373				else
00374					InfoArea.AddText(MatchesString@(LadderObj.DMPosition-1));
00375			}
00376			if (LadderObj.DMPosition >= 4) {
00377				InfoArea.AddText(" ");
00378				InfoArea.AddText(RankString[1]@class'Ladder'.Static.GetRank(LadderObj.DOMRank));
00379				if (LadderObj.DOMPosition == -1)
00380					InfoArea.AddText(MatchesString@"0");
00381				else {
00382					if (LadderObj.DOMRank == 6)
00383						InfoArea.AddText(MatchesString@LadderObj.DOMPosition);
00384					else
00385						InfoArea.AddText(MatchesString@(LadderObj.DOMPosition-1));
00386				}
00387			}
00388			if (LadderObj.DOMPosition >= 4) {
00389				InfoArea.AddText(" ");
00390				InfoArea.AddText(RankString[2]@class'Ladder'.Static.GetRank(LadderObj.CTFRank));
00391				if (LadderObj.CTFPosition == -1)
00392					InfoArea.AddText(MatchesString@"0");
00393				else {
00394					if (LadderObj.CTFRank == 6)
00395						InfoArea.AddText(MatchesString@LadderObj.CTFPosition);
00396					else
00397						InfoArea.AddText(MatchesString@(LadderObj.CTFPosition-1));
00398				}
00399			}
00400			if (LadderObj.CTFPosition >= 4) {
00401				InfoArea.AddText(" ");
00402				InfoArea.AddText(RankString[3]@class'Ladder'.Static.GetRank(LadderObj.ASRank));
00403				if (LadderObj.ASPosition == -1)
00404					InfoArea.AddText(MatchesString@"0");
00405				else {
00406					if (LadderObj.ASRank == 6)
00407						InfoArea.AddText(MatchesString@LadderObj.ASPosition);
00408					else
00409						InfoArea.AddText(MatchesString@(LadderObj.ASPosition-1));
00410				}
00411			}
00412			if ( (LadderObj.DMRank == 6) && (LadderObj.DOMRank == 6) &&
00413				(LadderObj.CTFRank == 6) && (LadderObj.ASRank == 6) ) {
00414				InfoArea.AddText(" ");
00415				InfoArea.AddText(ChallengeString);
00416				InfoArea.AddText(ChalPosString@class'Ladder'.Static.GetRank(LadderObj.ChalRank));
00417			}
00418		}
00419	
00420		Root.Console.bBlackOut = True;
00421	}
00422	
00423	function BeforePaint(Canvas C, float X, float Y)
00424	{
00425		local LadderInventory LadderObj;
00426		local float Xs, Ys;
00427		local int i;
00428		local int W, H;
00429		local float XWidth, YHeight, XMod, YMod, XPos, YPos;
00430	
00431		Super.BeforePaint(C, X, Y);
00432	
00433		class'UTLadderStub'.Static.GetStubClass().Static.SetupWinParams(Self, Root, W, H);
00434	
00435		XMod = 4*W;
00436		YMod = 3*H;
00437	
00438		// DeathMatch Ladder
00439		XPos = 95.0/1024 * XMod;
00440		YPos = 102.0/768 * YMod;
00441		XWidth = 307.0/1024 * XMod;
00442		YHeight = 44.0/768 * YMod;
00443		DMLadderButton.WinLeft = XPos;
00444		DMLadderButton.WinTop = YPos;
00445		DMLadderButton.SetSize(XWidth, YHeight);
00446		DMLadderButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00447	
00448		// Domination Ladder
00449		XPos = 95.0/1024 * XMod;
00450		YPos = 231.0/768 * YMod;
00451		XWidth = 307.0/1024 * XMod;
00452		YHeight = 44.0/768 * YMod;
00453		DOMLadderButton.WinLeft = XPos;
00454		DOMLadderButton.WinTop = YPos;
00455		DOMLadderButton.SetSize(XWidth, YHeight);
00456		DOMLadderButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00457	
00458		// Domination Door
00459		if (DOMDoor != None)
00460		{
00461			XPos = 83.0/1024 * XMod;
00462			YPos = 222.0/768 * YMod;
00463			XWidth = 332.0/1024 * XMod;
00464			YHeight = 63.0/768 * YMod;
00465			DOMDoor.WinLeft = XPos;
00466			DOMDoor.WinTop = YPos;
00467			DOMDoor.SetSize(XWidth, YHeight);
00468		}
00469	
00470		// CTF Ladder
00471		XPos = 95.0/1024 * XMod;
00472		YPos = 363.0/768 * YMod;
00473		XWidth = 307.0/1024 * XMod;
00474		YHeight = 44.0/768 * YMod;
00475		CTFLadderButton.WinLeft = XPos;
00476		CTFLadderButton.WinTop = YPos;
00477		CTFLadderButton.SetSize(XWidth, YHeight);
00478		CTFLadderButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00479	
00480		// CTF Door
00481		if (CTFDoor != None)
00482		{
00483			XPos = 83.0/1024 * XMod;
00484			YPos = 356.0/768 * YMod;
00485			XWidth = 332.0/1024 * XMod;
00486			YHeight = 63.0/768 * YMod;
00487			CTFDoor.WinLeft = XPos;
00488			CTFDoor.WinTop = YPos;
00489			CTFDoor.SetSize(XWidth, YHeight);
00490		}
00491	
00492		// Assault Ladder
00493		XPos = 95.0/1024 * XMod;
00494		YPos = 497.0/768 * YMod;
00495		XWidth = 307.0/1024 * XMod;
00496		YHeight = 44.0/768 * YMod;
00497		ASLadderButton.WinLeft = XPos;
00498		ASLadderButton.WinTop = YPos;
00499		ASLadderButton.SetSize(XWidth, YHeight);
00500		ASLadderButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00501	
00502		// AS Door
00503		if (ASDoor != None)
00504		{
00505			XPos = 83.0/1024 * XMod;
00506			YPos = 488.0/768 * YMod;
00507			XWidth = 332.0/1024 * XMod;
00508			YHeight = 63.0/768 * YMod;
00509			ASDoor.WinLeft = XPos;
00510			ASDoor.WinTop = YPos;
00511			ASDoor.SetSize(XWidth, YHeight);
00512		}
00513	
00514		// Challenge Ladder
00515		XPos = 95.0/1024 * XMod;
00516		YPos = 627.0/768 * YMod;
00517		XWidth = 307.0/1024 * XMod;
00518		YHeight = 44.0/768 * YMod;
00519		ChallengeLadderButton.WinLeft = XPos;
00520		ChallengeLadderButton.WinTop = YPos;
00521		ChallengeLadderButton.SetSize(XWidth, YHeight);
00522		ChallengeLadderButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00523	
00524		// Chal Door
00525		if (ChalDoor != None)
00526		{
00527			XPos = 83.0/1024 * XMod;
00528			YPos = 618.0/768 * YMod;
00529			XWidth = 332.0/1024 * XMod;
00530			YHeight = 63.0/768 * YMod;
00531			ChalDoor.WinLeft = XPos;
00532			ChalDoor.WinTop = YPos;
00533			ChalDoor.SetSize(XWidth, YHeight);
00534		}
00535	
00536		// Trophy Area
00537		XPos = 656.0/1024 * XMod;
00538		YPos = 63.0/768 * YMod;
00539		XWidth = 222.0/1024 * XMod;
00540		YHeight = 50.0/768 * YMod;
00541		TrophyButton.WinLeft = XPos;
00542		TrophyButton.WinTop = YPos;
00543		TrophyButton.SetSize(XWidth, YHeight);
00544		TrophyButton.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetHugeFont(Root);
00545	
00546		// Trophy Door
00547		if (TrophyDoor != None)
00548		{
00549			XPos = 650.0/1024 * XMod;
00550			YPos = 58.0/768 * YMod;
00551			XWidth = 236.0/1024 * XMod;
00552			YHeight = 62.0/768 * YMod;
00553			TrophyDoor.WinLeft = XPos;
00554			TrophyDoor.WinTop = YPos;
00555			TrophyDoor.SetSize(XWidth, YHeight);
00556		}
00557	
00558		// Back Button
00559		XPos = 192.0/1024 * XMod;
00560		YPos = 701.0/768 * YMod;
00561		XWidth = 64.0/1024 * XMod;
00562		YHeight = 64.0/768 * YMod;
00563		BackButton.SetSize(XWidth, YHeight);
00564		BackButton.WinLeft = XPos;
00565		BackButton.WinTop = YPos;
00566	
00567		// Next Button
00568		XPos = 256.0/1024 * XMod;
00569		YPos = 701.0/768 * YMod;
00570		XWidth = 64.0/1024 * XMod;
00571		YHeight = 64.0/768 * YMod;
00572		NextButton.SetSize(XWidth, YHeight);
00573		NextButton.WinLeft = XPos;
00574		NextButton.WinTop = YPos;
00575	
00576		// Info
00577		XPos = 617.0/1024 * XMod;
00578		YPos = 233.0/768 * YMod;
00579		XWidth = 303.0/1024 * XMod;
00580		YHeight = 440.0/768 * YMod;
00581		InfoArea.SetSize(XWidth, YHeight);
00582		InfoArea.WinLeft = XPos;
00583		InfoArea.WinTop = YPos;
00584		InfoArea.MyFont = class'UTLadderStub'.Static.GetStubClass().Static.GetSmallFont(Root);
00585	}
00586	
00587	function Paint(Canvas C, float X, float Y)
00588	{
00589		local int XOffset, YOffset;
00590		local int W, H;
00591		local float XWidth, YHeight, XMod, YMod, XPos, YPos;
00592	
00593		class'UTLadderStub'.Static.GetStubClass().Static.SetupWinParams(Self, Root, W, H);
00594	
00595		XMod = 4*W;
00596		YMod = 3*H;
00597	
00598		XOffset = (WinWidth - (4 * W)) / 2;
00599		YOffset = (WinHeight - (3 * H)) / 2;
00600	
00601		// Background
00602		DrawStretchedTexture(C, XOffset + (0 * W), YOffset + (0 * H), W+1, H+1, BG1[0]);
00603		DrawStretchedTexture(C, XOffset + (1 * W), YOffset + (0 * H), W+1, H+1, BG1[1]);
00604		DrawStretchedTexture(C, XOffset + (2 * W), YOffset + (0 * H), W+1, H+1, BG1[2]);
00605		DrawStretchedTexture(C, XOffset + (3 * W), YOffset + (0 * H), W+1, H+1, BG1[3]);
00606	
00607		DrawStretchedTexture(C, XOffset + (0 * W), YOffset + (1 * H), W+1, H+1, BG2[0]);
00608		DrawStretchedTexture(C, XOffset + (1 * W), YOffset + (1 * H), W+1, H+1, BG2[1]);
00609		DrawStretchedTexture(C, XOffset + (2 * W), YOffset + (1 * H), W+1, H+1, BG2[2]);
00610		DrawStretchedTexture(C, XOffset + (3 * W), YOffset + (1 * H), W+1, H+1, BG2[3]);
00611			
00612		DrawStretchedTexture(C, XOffset + (0 * W), YOffset + (2 * H), W+1, H+1, BG3[0]);
00613		DrawStretchedTexture(C, XOffset + (1 * W), YOffset + (2 * H), W+1, H+1, BG3[1]);
00614		DrawStretchedTexture(C, XOffset + (2 * W), YOffset + (2 * H), W+1, H+1, BG3[2]);
00615		DrawStretchedTexture(C, XOffset + (3 * W), YOffset + (2 * H), W+1, H+1, BG3[3]);
00616	
00617		if (C.ClipX < 512)
00618			return;
00619	
00620		if (LadderObj.DMRank == 6)
00621		{
00622			XPos = 95.0/1024 * XMod;
00623			YPos = 102.0/768 * YMod;
00624			XWidth = 60.0/1024 * XMod;
00625			YHeight = 60.0/1024 * YMod;
00626			DrawStretchedTexture(C, XPos, YPos, XWidth, YHeight, texture'TrophyDM');
00627		}
00628		if (LadderObj.DOMRank == 6)
00629		{
00630			XPos = 95.0/1024 * XMod;
00631			YPos = 231.0/768 * YMod;
00632			XWidth = 60.0/1024 * XMod;
00633			YHeight = 60.0/1024 * YMod;
00634			DrawStretchedTexture(C, XPos, YPos, XWidth, YHeight, texture'TrophyDOM');
00635		}
00636		if (LadderObj.CTFRank == 6)
00637		{
00638			XPos = 95.0/1024 * XMod;
00639			YPos = 363.0/768 * YMod;
00640			XWidth = 60.0/1024 * XMod;
00641			YHeight = 60.0/1024 * YMod;
00642			DrawStretchedTexture(C, XPos, YPos, XWidth, YHeight, texture'TrophyCTF');
00643		}
00644		if (LadderObj.ASRank == 6)
00645		{
00646			XPos = 95.0/1024 * XMod;
00647			YPos = 497.0/768 * YMod;
00648			XWidth = 60.0/1024 * XMod;
00649			YHeight = 60.0/1024 * YMod;
00650			DrawStretchedTexture(C, XPos, YPos, XWidth, YHeight, texture'TrophyAS');
00651		}
00652		if (LadderObj.ChalRank == 6)
00653		{
00654			XPos = 95.0/1024 * XMod;
00655			YPos = 627.0/768 * YMod;
00656			XWidth = 60.0/1024 * XMod;
00657			YHeight = 60.0/1024 * YMod;
00658			DrawStretchedTexture(C, XPos, YPos, XWidth, YHeight, texture'TrophyChal');
00659		}
00660	}
00661	
00662	function ShowWindow()
00663	{
00664		Super.ShowWindow();
00665	
00666		if ((DOMDoorOpen[LadderObj.Slot] == 0) && (DOMDoor != None))
00667			DOMDoor.bClosed = True;
00668	
00669		if ((CTFDoorOpen[LadderObj.Slot] == 0) && (CTFDoor != None))
00670			CTFDoor.bClosed = True;
00671	
00672		if ((ASDoorOpen[LadderObj.Slot] == 0) && (ASDoor != None))
00673			ASDoor.bClosed = True;
00674	
00675		if ((ChalDoorOpen[LadderObj.Slot] == 0) && (ChalDoor != None))
00676			ChalDoor.bClosed = True;
00677	
00678		if ((TrophyDoorOpen[LadderObj.Slot] == 0) && (TrophyDoor != None))
00679			TrophyDoor.bClosed = True;
00680	
00681		OpenTime = 0.0;
00682	
00683		InfoArea.Clear();
00684		if (Root.WinWidth < 512)
00685			return;
00686		InfoArea.AddText(RankString[0]@class'Ladder'.Static.GetRank(LadderObj.DMRank));
00687		InfoArea.AddText(MatchesString@LadderObj.DMPosition-1);
00688		if (class'UTLadderStub'.Static.GetStubClass().Static.IsDemo())
00689		{
00690			// Certain doors never open in the demo...
00691			if (LadderObj.DMRank == 4) {
00692				InfoArea.AddText("");
00693				InfoArea.AddText(RankString[1]@class'Ladder'.Static.GetRank(LadderObj.DOMRank));
00694				InfoArea.AddText(MatchesString@LadderObj.DOMPosition-1);
00695			}
00696			if (LadderObj.DOMRank == 4) {
00697				InfoArea.AddText("");
00698				InfoArea.AddText(RankString[2]@class'Ladder'.Static.GetRank(LadderObj.CTFRank));
00699				InfoArea.AddText(MatchesString@LadderObj.CTFPosition-1);
00700			}
00701		} else {
00702			// Conditions to be met for opening doors, etc...
00703			if (LadderObj.DMPosition >= 4) {
00704				InfoArea.AddText("");
00705				InfoArea.AddText(RankString[1]@class'Ladder'.Static.GetRank(LadderObj.DOMRank));
00706				InfoArea.AddText(MatchesString@LadderObj.DOMPosition-1);
00707			}
00708			if (LadderObj.DOMPosition >= 4) {
00709				InfoArea.AddText("");
00710				InfoArea.AddText(RankString[2]@class'Ladder'.Static.GetRank(LadderObj.CTFRank));
00711				InfoArea.AddText(MatchesString@LadderObj.CTFPosition-1);
00712			}
00713			if (LadderObj.CTFPosition >= 4) {
00714				InfoArea.AddText("");
00715				InfoArea.AddText(RankString[3]@class'Ladder'.Static.GetRank(LadderObj.ASRank));
00716				InfoArea.AddText(MatchesString@LadderObj.ASPosition-1);
00717			}
00718			if ( (LadderObj.DMRank == 6) && (LadderObj.DOMRank == 6) &&
00719				 (LadderObj.CTFRank == 6) && (LadderObj.ASRank == 6) ) {
00720				InfoArea.AddText(" ");
00721				InfoArea.AddText(ChallengeString);
00722				InfoArea.AddText(ChalPosString@class'Ladder'.Static.GetRank(LadderObj.ChalRank));
00723			}
00724		}
00725	}
00726	
00727	function Close(optional bool bByParent)
00728	{
00729		Root.Console.bNoDrawWorld = Root.Console.ShowDesktop;
00730		Root.Console.bLocked = False;
00731		UMenuRootWindow(Root).MenuBar.ShowWindow();
00732		LadderObj = None;
00733	
00734		Super.Close(bByParent);
00735	}
00736	
00737	function HideWindow()
00738	{
00739		Root.Console.bBlackOut = False;
00740	
00741		Super.HideWindow();
00742	}
00743	
00744	function Notify(UWindowWindow C, byte E)
00745	{
00746		local Class<UWindowWindow> LadderWindow;
00747	
00748		switch (E)
00749		{
00750		case DE_Click:
00751			switch (C)
00752			{
00753			case DMLadderButton:
00754				Unlite(SelectedLadder);
00755				SelectedLadder = 0;
00756				Lite(SelectedLadder);
00757				break;
00758			case DOMLadderButton:
00759				Unlite(SelectedLadder);
00760				SelectedLadder = 1;
00761				Lite(SelectedLadder);
00762				break;
00763			case CTFLadderButton:
00764				Unlite(SelectedLadder);
00765				SelectedLadder = 2;
00766				Lite(SelectedLadder);
00767				break;
00768			case ASLadderButton:
00769				Unlite(SelectedLadder);
00770				SelectedLadder = 3;
00771				Lite(SelectedLadder);
00772				break;
00773			case ChallengeLadderButton:
00774				Unlite(SelectedLadder);
00775				SelectedLadder = 4;
00776				Lite(SelectedLadder);
00777				break;
00778			case TrophyButton:
00779				Root.SetMousePos((Root.WinWidth*Root.GUIScale)/2, (Root.WinHeight*Root.GUIScale)/2);
00780				Close();
00781				Root.Console.CloseUWindow();
00782				GetPlayerOwner().ClientTravel("EOL_Statues.unr?Game=Botpack.TrophyGame", TRAVEL_Absolute, True);			
00783				break;
00784			case NextButton:
00785				LadderWindow = Class<UWindowWindow>(DynamicLoadObject(LadderTypes[SelectedLadder], class'Class'));
00786				LadderObj = None;
00787				HideWindow();
00788				Root.CreateWindow(LadderWindow, 100, 100, 200, 200, Root, True);
00789				break;
00790			case BackButton:
00791				Close();
00792				break;
00793			}
00794			break;
00795		case DE_Doubleclick:
00796			switch (C)
00797			{
00798			case DMLadderButton:
00799				Unlite(SelectedLadder);
00800				SelectedLadder = 0;
00801				Lite(SelectedLadder);
00802				LadderWindow = Class<UWindowWindow>(DynamicLoadObject(LadderTypes[SelectedLadder], class'Class'));
00803				HideWindow();
00804				Root.CreateWindow(LadderWindow, 100, 100, 200, 200, Root, True);
00805				break;
00806			case DOMLadderButton:
00807				Unlite(SelectedLadder);
00808				SelectedLadder = 1;
00809				Lite(SelectedLadder);
00810				LadderWindow = Class<UWindowWindow>(DynamicLoadObject(LadderTypes[SelectedLadder], class'Class'));
00811				HideWindow();
00812				Root.CreateWindow(LadderWindow, 100, 100, 200, 200, Root, True);
00813				break;
00814			case CTFLadderButton:
00815				Unlite(SelectedLadder);
00816				SelectedLadder = 2;
00817				Lite(SelectedLadder);
00818				LadderWindow = Class<UWindowWindow>(DynamicLoadObject(LadderTypes[SelectedLadder], class'Class'));
00819				HideWindow();
00820				Root.CreateWindow(LadderWindow, 100, 100, 200, 200, Root, True);
00821				break;
00822			case ASLadderButton:
00823				Unlite(SelectedLadder);
00824				SelectedLadder = 3;
00825				Lite(SelectedLadder);
00826				LadderWindow = Class<UWindowWindow>(DynamicLoadObject(LadderTypes[SelectedLadder], class'Class'));
00827				HideWindow();
00828				Root.CreateWindow(LadderWindow, 100, 100, 200, 200, Root, True);
00829				break;
00830			case ChallengeLadderButton:
00831				Unlite(SelectedLadder);
00832				SelectedLadder = 4;
00833				Lite(SelectedLadder);
00834				LadderWindow = Class<UWindowWindow>(DynamicLoadObject(LadderTypes[SelectedLadder], class'Class'));
00835				HideWindow();
00836				Root.CreateWindow(LadderWindow, 100, 100, 200, 200, Root, True);
00837				break;
00838			}
00839			break;
00840		}
00841	}
00842	
00843	function UnLite(int Ladder)
00844	{
00845		local color UnLiteColor;
00846	
00847		UnLiteColor.R = 255;
00848		UnLiteColor.G = 0;
00849		UnLiteColor.B = 0;
00850	
00851		switch (Ladder)
00852		{
00853			case 0:
00854				DMLadderButton.SetTextColor(UnLiteColor);
00855				break;
00856			case 1:
00857				DOMLadderButton.SetTextColor(UnLiteColor);
00858				break;
00859			case 2:
00860				CTFLadderButton.SetTextColor(UnLiteColor);
00861				break;
00862			case 3:
00863				ASLadderButton.SetTextColor(UnLiteColor);
00864				break;
00865			case 4:
00866				ChallengeLadderButton.SetTextColor(UnLiteColor);
00867				break;
00868		}
00869	}
00870	
00871	function Lite(int Ladder)
00872	{
00873		local color LiteColor;
00874	
00875		LiteColor.R = 255;
00876		LiteColor.G = 255;
00877		LiteColor.B = 0;
00878	
00879		switch (Ladder)
00880		{
00881			case 0:
00882				DMLadderButton.SetTextColor(LiteColor);
00883				break;
00884			case 1:
00885				DOMLadderButton.SetTextColor(LiteColor);
00886				break;
00887			case 2:
00888				CTFLadderButton.SetTextColor(LiteColor);
00889				break;
00890			case 3:
00891				ASLadderButton.SetTextColor(LiteColor);
00892				break;
00893			case 4:
00894				ChallengeLadderButton.SetTextColor(LiteColor);
00895				break;
00896		}
00897	}
00898	
00899	function Tick(float Delta)
00900	{
00901		if (bOpened)
00902			return;
00903		if (OpenTime < 2.0)
00904			OpenTime += Delta;
00905		else {
00906			if (class'UTLadderStub'.Static.GetStubClass().Static.IsDemo())
00907				OpenDemoDoors();
00908			else
00909				OpenDoors();
00910		}
00911	}
00912	
00913	function OpenDemoDoors()
00914	{
00915		local bool bOneOpened;
00916	
00917		if (LadderObj.DMRank == 4)
00918		{
00919			if ((DOMDoorOpen[LadderObj.Slot] == 0) && (DOMDoor != None))
00920			{
00921				UnLite(SelectedLadder);
00922				SelectedLadder = 1;
00923				Lite(SelectedLadder);
00924				DOMDoorOpen[LadderObj.Slot] = 1;
00925				DOMDoor.Open();
00926				SaveConfig();
00927				bOneOpened = True;
00928			}
00929		}
00930		if (LadderObj.DOMRank == 4)
00931		{
00932			if ((CTFDoorOpen[LadderObj.Slot] == 0) && (CTFDoor != None))
00933			{
00934				UnLite(SelectedLadder);
00935				SelectedLadder = 2;
00936				Lite(SelectedLadder);
00937				CTFDoorOpen[LadderObj.Slot] = 1;
00938				CTFDoor.Open();
00939				SaveConfig();
00940				bOneOpened = True;
00941			}
00942		}
00943		if (bOneOpened)
00944			GetPlayerOwner().PlaySound(sound'LadderSounds.ldoorsopen1b', SLOT_Interface);
00945		bOpened = True;
00946	}
00947	
00948	function OpenDoors()
00949	{
00950		local bool bOneOpened;
00951	
00952		if (LadderObj.DMPosition >= 4)
00953		{
00954			if ((DOMDoorOpen[LadderObj.Slot] == 0) && (DOMDoor != None))
00955			{
00956				DOMDoorOpen[LadderObj.Slot] = 1;
00957				DOMDoor.Open();
00958				SaveConfig();
00959				bOneOpened = True;
00960			}
00961		}
00962		if (LadderObj.DOMPosition >= 4)
00963		{
00964			if ((CTFDoorOpen[LadderObj.Slot] == 0) && (CTFDoor != None))
00965			{
00966				CTFDoorOpen[LadderObj.Slot] = 1;
00967				CTFDoor.Open();
00968				SaveConfig();
00969				bOneOpened = True;
00970			}
00971		}
00972		if (LadderObj.CTFPosition >= 4)
00973		{
00974			if ((ASDoorOpen[LadderObj.Slot] == 0) && (ASDoor != None))
00975			{
00976				ASDoorOpen[LadderObj.Slot] = 1;
00977				ASDoor.Open();
00978				SaveConfig();
00979				bOneOpened = True;
00980			}
00981		}
00982		if ( (LadderObj.DMRank == 6) && (LadderObj.DOMRank == 6) &&
00983			 (LadderObj.CTFRank == 6) && (LadderObj.ASRank == 6) )
00984		{
00985			if ((ChalDoorOpen[LadderObj.Slot] == 0) && (ChalDoor != None))
00986			{
00987				ChalDoorOpen[LadderObj.Slot] = 1;
00988				ChalDoor.Open();
00989				SaveConfig();
00990				bOneOpened = True;
00991			}
00992		}
00993		if ( (LadderObj.DMRank == 6) || (LadderObj.DOMRank == 6) ||
00994			 (LadderObj.CTFRank == 6) || (LadderObj.ASRank == 6) )
00995		{
00996			if ((TrophyDoorOpen[LadderObj.Slot] == 0) && (TrophyDoor != None))
00997			{
00998				TrophyDoorOpen[LadderObj.Slot] = 1;
00999				TrophyDoor.Open();
01000				SaveConfig();
01001				bOneOpened = True;
01002			}
01003		}
01004		if (bOneOpened)
01005			GetPlayerOwner().PlaySound(sound'LadderSounds.ldoorsopen1b', SLOT_Interface);
01006		bOpened = True;
01007	}
01008	
01009	defaultproperties
01010	{
01011	     BGName1(0)="UTMenu.Sel11"
01012	     BGName1(1)="UTMenu.Sel12"
01013	     BGName1(2)="UTMenu.Sel13"
01014	     BGName1(3)="UTMenu.Sel14"
01015	     BGName2(0)="UTMenu.Sel21"
01016	     BGName2(1)="UTMenu.Sel22"
01017	     BGName2(2)="UTMenu.Sel23"
01018	     BGName2(3)="UTMenu.Sel24"
01019	     BGName3(0)="UTMenu.Sel31"
01020	     BGName3(1)="UTMenu.Sel32"
01021	     BGName3(2)="UTMenu.Sel33"
01022	     BGName3(3)="UTMenu.Sel34"
01023	     DMText="Deathmatch"
01024	     DOMText="Domination"
01025	     CTFText="Capture the Flag"
01026	     ASText="Assault"
01027	     ChallengeText="Challenge"
01028	     ChallengeString="FINAL TOURNAMENT CHALLENGE"
01029	     ChalPosString="Challenge Rank:"
01030	     TrophyText="Trophy Room"
01031	     LadderTypes(0)="UTMenu.UTLadderDM"
01032	     LadderTypes(1)="UTMenu.UTLadderDOM"
01033	     LadderTypes(2)="UTMenu.UTLadderCTF"
01034	     LadderTypes(3)="UTMenu.UTLadderAS"
01035	     LadderTypes(4)="UTMenu.UTLadderChal"
01036	     RankString(0)="Deathmatch Rank:"
01037	     RankString(1)="Domination Rank:"
01038	     RankString(2)="CTF Rank:"
01039	     RankString(3)="Assault Rank:"
01040	     MatchesString="Matches Completed:"
01041	}

End Source Code