UTMenu
Class UTChallengeHUDConfig

source: e:\games\UnrealTournament\UTMenu\Classes\UTChallengeHUDConfig.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UWindow.UWindowClientWindow
            |
            +--UWindow.UWindowDialogClientWindow
               |
               +--UWindow.UWindowPageWindow
                  |
                  +--UMenu.UMenuPageWindow
                     |
                     +--UTMenu.UTChallengeHUDConfig
Direct Known Subclasses:None

class UTChallengeHUDConfig
extends UMenu.UMenuPageWindow


Variables
 int ControlOffset
 string CrosshairBHelp
 UWindowHSliderControl CrosshairBSlider
 string CrosshairBText
 UWindowComboControl CrosshairColorCombo
 string CrosshairColorHelp
 string CrosshairColorText
 string CrosshairGHelp
 UWindowHSliderControl CrosshairGSlider
 string CrosshairGText
 string CrosshairHelp
 string CrosshairRHelp
 UWindowHSliderControl CrosshairRSlider
 string CrosshairRText
 UWindowHSliderControl CrosshairSlider
 string CrosshairText
 UWindowSmallButton DefaultsButton
 string DefaultsHelp
 string DefaultsText
 string HUDBHelp
 UWindowHSliderControl HUDBSlider
 string HUDBText
 UWindowComboControl HUDColorCombo
 string HUDColorHelp
 string HUDColorNames[20]
 string HUDColorText
 string HUDColorValues[20]
 string HUDGHelp
 UWindowHSliderControl HUDGSlider
 string HUDGText
 string HUDRHelp
 UWindowHSliderControl HUDRSlider
 string HUDRText
 string HUDScaleHelp
 UWindowHSliderControl HUDScaleSlider
 string HUDScaleText
 string OpacityHelp
 UWindowHSliderControl OpacitySlider
 string OpacityText
 UWindowCheckbox ShowAmmoCheck
 string ShowAmmoHelp
 string ShowAmmoText
 UWindowCheckbox ShowFacesCheck
 string ShowFacesHelp
 string ShowFacesText
 UWindowCheckbox ShowFragsCheck
 string ShowFragsHelp
 string ShowFragsText
 UWindowCheckbox ShowHUDCheck
 string ShowHUDHelp
 string ShowHUDText
 UWindowCheckbox ShowStatusCheck
 string ShowStatusHelp
 string ShowStatusText
 UWindowCheckbox ShowTeamInfoCheck
 string ShowTeamInfoHelp
 string ShowTeamInfoText
 UWindowCheckbox ShowWeaponsCheck
 string ShowWeaponsHelp
 string ShowWeaponsText
 string StatusScaleHelp
 UWindowHSliderControl StatusScaleSlider
 string StatusScaleText
 UWindowCheckbox UseTeamColorCheck
 string UseTeamColorHelp
 string UseTeamColorText
 string WeaponScaleHelp
 UWindowHSliderControl WeaponScaleSlider
 string WeaponScaleText
 bool bInitialized


Function Summary
 void BeforePaint(Canvas C, float X, float Y)
 void ChangeToCustomColor()
 void ChangeToCustomCrosshairColor()
 void Created()
 void CrosshairChanged()
 void HUDLayoutChanged()
 void LoadCurrentValues()
 void LoadDefaultValues()
 void Notify(UWindowDialogControl C, byte E)
 void Paint(Canvas C, float X, float Y)
 void ResetHUD()
 void SaveConfigs()



Source Code


00001	class UTChallengeHUDConfig extends UMenuPageWindow;
00002	
00003	#exec TEXTURE IMPORT NAME=HudPreview FILE=TEXTURES\HudPreview.PCX GROUP="Icons" MIPS=OFF FLAGS=2
00004	#exec TEXTURE IMPORT NAME=HudPreviewBG FILE=TEXTURES\HudPreviewBG.PCX GROUP="Icons" MIPS=OFF FLAGS=2
00005	
00006	var UWindowCheckbox ShowHUDCheck;
00007	var localized string ShowHUDText;
00008	var localized string ShowHUDHelp;
00009	
00010	var UWindowCheckbox ShowWeaponsCheck;
00011	var localized string ShowWeaponsText;
00012	var localized string ShowWeaponsHelp;
00013	
00014	var UWindowCheckbox ShowStatusCheck;
00015	var localized string ShowStatusText;
00016	var localized string ShowStatusHelp;
00017	
00018	var UWindowCheckbox ShowAmmoCheck;
00019	var localized string ShowAmmoText;
00020	var localized string ShowAmmoHelp;
00021	
00022	var UWindowCheckbox ShowTeamInfoCheck;
00023	var localized string ShowTeamInfoText;
00024	var localized string ShowTeamInfoHelp;
00025	
00026	var UWindowCheckbox ShowFacesCheck;
00027	var localized string ShowFacesText;
00028	var localized string ShowFacesHelp;
00029	
00030	var UWindowCheckbox ShowFragsCheck;
00031	var localized string ShowFragsText;
00032	var localized string ShowFragsHelp;
00033	
00034	var UWindowCheckbox UseTeamColorCheck;
00035	var localized string UseTeamColorText;
00036	var localized string UseTeamColorHelp;
00037	
00038	// HUD Color
00039	var UWindowComboControl HUDColorCombo;
00040	var localized string HUDColorText;
00041	var localized string HUDColorHelp;
00042	var localized string HUDColorNames[20];
00043	var localized string HUDColorValues[20];
00044	
00045	var UWindowHSliderControl HUDRSlider;
00046	var localized string HUDRText;
00047	var localized string HUDRHelp;
00048	
00049	var UWindowHSliderControl HUDGSlider;
00050	var localized string HUDGText;
00051	var localized string HUDGHelp;
00052	
00053	var UWindowHSliderControl HUDBSlider;
00054	var localized string HUDBText;
00055	var localized string HUDBHelp;
00056	
00057	// Crosshair Color
00058	var UWindowComboControl CrosshairColorCombo;
00059	var localized string CrosshairColorText;
00060	var localized string CrosshairColorHelp;
00061	
00062	var UWindowHSliderControl CrosshairRSlider;
00063	var localized string CrosshairRText;
00064	var localized string CrosshairRHelp;
00065	
00066	var UWindowHSliderControl CrosshairGSlider;
00067	var localized string CrosshairGText;
00068	var localized string CrosshairGHelp;
00069	
00070	var UWindowHSliderControl CrosshairBSlider;
00071	var localized string CrosshairBText;
00072	var localized string CrosshairBHelp;
00073	
00074	var UWindowHSliderControl OpacitySlider;
00075	var localized string OpacityText;
00076	var localized string OpacityHelp;
00077	
00078	var UWindowHSliderControl HUDScaleSlider;
00079	var localized string HUDScaleText;
00080	var localized string HUDScaleHelp;
00081	
00082	var UWindowHSliderControl WeaponScaleSlider;
00083	var localized string WeaponScaleText;
00084	var localized string WeaponScaleHelp;
00085	
00086	var UWindowHSliderControl StatusScaleSlider;
00087	var localized string StatusScaleText;
00088	var localized string StatusScaleHelp;
00089	
00090	// Crosshair
00091	var UWindowHSliderControl CrosshairSlider;
00092	var localized string CrosshairText;
00093	var localized string CrosshairHelp;
00094	
00095	var UWindowSmallButton DefaultsButton;
00096	var localized string DefaultsText;
00097	var localized string DefaultsHelp;
00098	
00099	var bool bInitialized;
00100	var int ControlOffset;
00101	
00102	function Created()
00103	{
00104		local int ControlWidth, ControlLeft, ControlRight;
00105		local int CenterWidth, CenterPos;
00106		local int I, S;
00107	
00108		Super.Created();
00109	
00110		ControlWidth = WinWidth/2.5;
00111		ControlLeft = (WinWidth/2 - ControlWidth)/2;
00112		ControlRight = WinWidth/2 + ControlLeft;
00113	
00114		CenterWidth = (WinWidth/4)*3;
00115		CenterPos = (WinWidth - CenterWidth)/2;
00116	
00117		DesiredWidth = 220;
00118	
00119		// Defaults Button
00120		DefaultsButton = UWindowSmallButton(CreateControl(class'UWindowSmallButton', 30, ControlOffset, 48, 16));
00121		DefaultsButton.SetText(DefaultsText);
00122		DefaultsButton.SetFont(F_Normal);
00123		DefaultsButton.SetHelpText(DefaultsHelp);
00124		ControlOffset += 25;
00125	
00126		ShowHUDCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', CenterPos, ControlOffset, CenterWidth, 1));
00127		ShowHUDCheck.SetText(ShowHUDText);
00128		ShowHUDCheck.SetHelpText(ShowHUDHelp);
00129		ShowHUDCheck.SetFont(F_Normal);
00130		ShowHUDCheck.Align = TA_Left;
00131		ControlOffset += 20;
00132	
00133		ShowWeaponsCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', CenterPos, ControlOffset, CenterWidth, 1));
00134		ShowWeaponsCheck.SetText(ShowWeaponsText);
00135		ShowWeaponsCheck.SetHelpText(ShowWeaponsHelp);
00136		ShowWeaponsCheck.SetFont(F_Normal);
00137		ShowWeaponsCheck.Align = TA_Left;
00138		ControlOffset += 20;
00139	
00140		ShowStatusCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', CenterPos, ControlOffset, CenterWidth, 1));
00141		ShowStatusCheck.SetText(ShowStatusText);
00142		ShowStatusCheck.SetHelpText(ShowStatusHelp);
00143		ShowStatusCheck.SetFont(F_Normal);
00144		ShowStatusCheck.Align = TA_Left;
00145		ControlOffset += 20;
00146	
00147		ShowAmmoCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', CenterPos, ControlOffset, CenterWidth, 1));
00148		ShowAmmoCheck.SetText(ShowAmmoText);
00149		ShowAmmoCheck.SetHelpText(ShowAmmoHelp);
00150		ShowAmmoCheck.SetFont(F_Normal);
00151		ShowAmmoCheck.Align = TA_Left;
00152		ControlOffset += 20;
00153	
00154		ShowTeamInfoCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', CenterPos, ControlOffset, CenterWidth, 1));
00155		ShowTeamInfoCheck.SetText(ShowTeamInfoText);
00156		ShowTeamInfoCheck.SetHelpText(ShowTeamInfoHelp);
00157		ShowTeamInfoCheck.SetFont(F_Normal);
00158		ShowTeamInfoCheck.Align = TA_Left;
00159		ControlOffset += 20;
00160	
00161		ShowFragsCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', CenterPos, ControlOffset, CenterWidth, 1));
00162		ShowFragsCheck.SetText(ShowFragsText);
00163		ShowFragsCheck.SetHelpText(ShowFragsHelp);
00164		ShowFragsCheck.SetFont(F_Normal);
00165		ShowFragsCheck.Align = TA_Left;
00166		ControlOffset += 20;
00167	
00168		ShowFacesCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', CenterPos, ControlOffset, CenterWidth, 1));
00169		ShowFacesCheck.SetText(ShowFacesText);
00170		ShowFacesCheck.SetHelpText(ShowFacesHelp);
00171		ShowFacesCheck.SetFont(F_Normal);
00172		ShowFacesCheck.Align = TA_Left;
00173		ControlOffset += 20;
00174	
00175		UseTeamColorCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', CenterPos, ControlOffset, CenterWidth, 1));
00176		UseTeamColorCheck.SetText(UseTeamColorText);
00177		UseTeamColorCheck.SetHelpText(UseTeamColorHelp);
00178		UseTeamColorCheck.SetFont(F_Normal);
00179		UseTeamColorCheck.Align = TA_Left;
00180		ControlOffset += 20;
00181	
00182		HUDColorCombo = UWindowComboControl(CreateControl(class'UWindowComboControl', CenterPos, ControlOffset, CenterWidth, 1));
00183		HUDColorCombo.SetText(HUDColorText);
00184		HUDColorCombo.SetHelpText(HUDColorHelp);
00185		HUDColorCombo.SetFont(F_Normal);
00186		HUDColorCombo.SetEditable(False);
00187		HUDColorCombo.Align = TA_Left;
00188		ControlOffset += 20;
00189		for(i=0;i<20 && HUDColorNames[i]!="";i++)
00190			HUDColorCombo.AddItem(HUDColorNames[i], HUDColorValues[i]);
00191	
00192		HUDRSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00193		HUDRSlider.SetRange(0, 16, 1);
00194		HUDRSlider.SetText(HUDRText);
00195		HUDRSlider.SetHelpText(HUDRHelp);
00196		HUDRSlider.SetFont(F_Normal);
00197		ControlOffset += 20;
00198	
00199		HUDGSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00200		HUDGSlider.SetRange(0, 16, 1);
00201		HUDGSlider.SetText(HUDGText);
00202		HUDGSlider.SetHelpText(HUDGHelp);
00203		HUDGSlider.SetFont(F_Normal);
00204		ControlOffset += 20;
00205	
00206		HUDBSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00207		HUDBSlider.SetRange(0, 16, 1);
00208		HUDBSlider.SetText(HUDBText);
00209		HUDBSlider.SetHelpText(HUDBHelp);
00210		HUDBSlider.SetFont(F_Normal);
00211		ControlOffset += 20;
00212	
00213		OpacitySlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00214		OpacitySlider.SetRange(1, 16, 1);
00215		OpacitySlider.SetText(OpacityText);
00216		OpacitySlider.SetHelpText(OpacityHelp);
00217		OpacitySlider.SetFont(F_Normal);
00218		ControlOffset += 105;
00219	
00220		HUDScaleSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00221		HUDScaleSlider.SetRange(1, 5, 1);
00222		HUDScaleSlider.SetText(HUDScaleText);
00223		HUDScaleSlider.SetHelpText(HUDScaleHelp);
00224		HUDScaleSlider.SetFont(F_Normal);
00225		ControlOffset += 25;
00226	
00227		WeaponScaleSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00228		WeaponScaleSlider.SetRange(1, 5, 1);
00229		WeaponScaleSlider.SetText(WeaponScaleText);
00230		WeaponScaleSlider.SetHelpText(WeaponScaleHelp);
00231		WeaponScaleSlider.SetFont(F_Normal);
00232		ControlOffset += 25;
00233	
00234		StatusScaleSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00235		StatusScaleSlider.SetRange(5, 15, 1);
00236		StatusScaleSlider.SetText(StatusScaleText);
00237		StatusScaleSlider.SetHelpText(StatusScaleHelp);
00238		StatusScaleSlider.SetFont(F_Normal);
00239		ControlOffset += 20;
00240	
00241		CrosshairColorCombo = UWindowComboControl(CreateControl(class'UWindowComboControl', CenterPos, ControlOffset, CenterWidth, 1));
00242		CrosshairColorCombo.SetText(CrosshairColorText);
00243		CrosshairColorCombo.SetHelpText(CrosshairColorHelp);
00244		CrosshairColorCombo.SetFont(F_Normal);
00245		CrosshairColorCombo.SetEditable(False);
00246		CrosshairColorCombo.Align = TA_Left;
00247		ControlOffset += 20;
00248		for(i=0;i<20 && HUDColorNames[i]!="";i++)
00249			CrosshairColorCombo.AddItem(HUDColorNames[i], HUDColorValues[i]);
00250	
00251		CrosshairRSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00252		CrosshairRSlider.SetRange(0, 16, 1);
00253		CrosshairRSlider.SetText(CrosshairRText);
00254		CrosshairRSlider.SetHelpText(CrosshairRHelp);
00255		CrosshairRSlider.SetFont(F_Normal);
00256		ControlOffset += 20;
00257	
00258		CrosshairGSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00259		CrosshairGSlider.SetRange(0, 16, 1);
00260		CrosshairGSlider.SetText(CrosshairGText);
00261		CrosshairGSlider.SetHelpText(CrosshairGHelp);
00262		CrosshairGSlider.SetFont(F_Normal);
00263		ControlOffset += 20;
00264	
00265		CrosshairBSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00266		CrosshairBSlider.SetRange(0, 16, 1);
00267		CrosshairBSlider.SetText(CrosshairBText);
00268		CrosshairBSlider.SetHelpText(CrosshairBHelp);
00269		CrosshairBSlider.SetFont(F_Normal);
00270		ControlOffset += 20;
00271	
00272		CrosshairSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00273		CrosshairSlider.SetText(CrosshairText);
00274		CrosshairSlider.SetHelpText(CrosshairHelp);
00275		CrosshairSlider.SetFont(F_Normal);
00276		ControlOffset += 30;
00277	
00278		DesiredHeight = ControlOffset + 70;
00279		
00280		LoadCurrentValues();
00281	}
00282	
00283	function LoadCurrentValues()
00284	{ 
00285		local int i;
00286		local ChallengeHUD H;
00287	
00288		bInitialized = False;
00289	
00290		H = ChallengeHUD(GetPlayerOwner().MyHUD);
00291	
00292		ShowHUDCheck.bChecked = !H.bHideHUD;
00293		ShowWeaponsCheck.bChecked = !H.bHideAllWeapons;
00294		ShowStatusCheck.bChecked = !H.bHideStatus;
00295		ShowAmmoCheck.bChecked = !H.bHideAmmo;
00296		ShowTeamInfoCheck.bChecked = !H.bHideTeamInfo;
00297		ShowFragsCheck.bChecked = !H.bHideFrags;
00298		ShowFacesCheck.bChecked = !H.bHideFaces;
00299		UseTeamColorCheck.bChecked = H.bUseTeamColor;
00300		OpacitySlider.SetValue(H.Opacity);
00301		HUDScaleSlider.SetValue(H.HUDScale*5);
00302		WeaponScaleSlider.SetValue(H.WeaponScale*5);
00303		StatusScaleSlider.SetValue(H.StatusScale*10);
00304		CrosshairSlider.SetRange(0, H.CrosshairCount - 1, 1);
00305		CrosshairSlider.SetValue(GetPlayerOwner().myHUD.Crosshair);
00306		i = HUDColorCombo.FindItemIndex2(H.FavoriteHUDColor.R$","$H.FavoriteHUDColor.G$","$H.FavoriteHUDColor.B, False);
00307		if(i == -1)
00308			HUDColorCombo.SetSelectedIndex(Max(HUDColorCombo.FindItemIndex2("cust", False), 0));
00309		else
00310			HUDColorCombo.SetSelectedIndex(i);
00311	
00312		HUDRSlider.SetValue(H.FavoriteHUDColor.R);
00313		HUDGSlider.SetValue(H.FavoriteHUDColor.G);
00314		HUDBSlider.SetValue(H.FavoriteHUDColor.B);
00315	
00316		i = CrosshairColorCombo.FindItemIndex2(H.CrosshairColor.R$","$H.CrosshairColor.G$","$H.CrosshairColor.B, False);
00317		if(i == -1)
00318			CrosshairColorCombo.SetSelectedIndex(Max(CrosshairColorCombo.FindItemIndex2("cust", False), 0));
00319		else
00320			CrosshairColorCombo.SetSelectedIndex(i);
00321	
00322		CrosshairRSlider.SetValue(H.CrosshairColor.R);
00323		CrosshairGSlider.SetValue(H.CrosshairColor.G);
00324		CrosshairBSlider.SetValue(H.CrosshairColor.B);
00325	
00326		ShowWeaponsCheck.bDisabled = !ShowHUDCheck.bChecked;
00327		ShowStatusCheck.bDisabled = !ShowHUDCheck.bChecked;
00328		ShowAmmoCheck.bDisabled = !ShowHUDCheck.bChecked;
00329		ShowTeamInfoCheck.bDisabled = !ShowHUDCheck.bChecked;
00330		ShowFragsCheck.bDisabled = !ShowHUDCheck.bChecked;
00331		ShowFacesCheck.bDisabled = !ShowHUDCheck.bChecked;
00332		UseTeamColorCheck.bDisabled = !ShowHUDCheck.bChecked;
00333	
00334		bInitialized = True;
00335	}
00336	
00337	function LoadDefaultValues()
00338	{
00339		local ChallengeHUD H;
00340	
00341		H = ChallengeHUD(GetPlayerOwner().MyHUD);
00342	
00343		H.Crosshair = class'HUD'.default.Crosshair;
00344		H.bHideHUD = class'ChallengeHUD'.default.bHideHUD;
00345		H.bHideAllWeapons = class'ChallengeHUD'.default.bHideAllWeapons;
00346		H.bHideStatus = class'ChallengeHUD'.default.bHideStatus;
00347		H.bHideAmmo = class'ChallengeHUD'.default.bHideAmmo;
00348		H.bHideTeamInfo = class'ChallengeHUD'.default.bHideTeamInfo;
00349		H.bHideFrags = class'ChallengeHUD'.default.bHideFrags;
00350		H.bHideFaces = class'ChallengeHUD'.default.bHideFaces;
00351		H.bUseTeamColor = class'ChallengeHUD'.default.bUseTeamColor;
00352		H.Opacity = class'ChallengeHUD'.default.Opacity;
00353		H.HUDScale = class'ChallengeHUD'.default.HUDScale;
00354		H.WeaponScale = class'ChallengeHUD'.default.WeaponScale;
00355		H.StatusScale = class'ChallengeHUD'.default.StatusScale;
00356		H.FavoriteHUDColor.R = class'ChallengeHUD'.default.FavoriteHUDColor.R;
00357		H.FavoriteHUDColor.G = class'ChallengeHUD'.default.FavoriteHUDColor.G;
00358		H.FavoriteHUDColor.B = class'ChallengeHUD'.default.FavoriteHUDColor.B; 
00359		H.CrosshairColor.R = class'ChallengeHUD'.default.CrosshairColor.R;
00360		H.CrosshairColor.G = class'ChallengeHUD'.default.CrosshairColor.G;
00361		H.CrosshairColor.B = class'ChallengeHUD'.default.CrosshairColor.B; 
00362	}
00363	
00364	function BeforePaint(Canvas C, float X, float Y)
00365	{
00366		local int ControlWidth, ControlLeft, ControlRight;
00367		local int CenterWidth, CenterPos;
00368	
00369		ControlWidth = WinWidth/2.5;
00370		ControlLeft = (WinWidth/2 - ControlWidth)/2;
00371		ControlRight = WinWidth/2 + ControlLeft;
00372		CenterWidth = (WinWidth/4)*3;
00373		CenterPos = (WinWidth - CenterWidth)/2;
00374	
00375		DefaultsButton.AutoWidth(C);
00376		DefaultsButton.WinLeft = CenterPos + CenterWidth - DefaultsButton.WinWidth;
00377	
00378		ShowHUDCheck.SetSize(CenterWidth, 1);
00379		ShowHUDCheck.WinLeft = CenterPos;
00380		ShowWeaponsCheck.SetSize(CenterWidth, 1);
00381		ShowWeaponsCheck.WinLeft = CenterPos;
00382		ShowStatusCheck.SetSize(CenterWidth, 1);
00383		ShowStatusCheck.WinLeft = CenterPos;
00384		ShowAmmoCheck.SetSize(CenterWidth, 1);
00385		ShowAmmoCheck.WinLeft = CenterPos;
00386		ShowTeamInfoCheck.SetSize(CenterWidth, 1);
00387		ShowTeamInfoCheck.WinLeft = CenterPos;
00388		ShowFragsCheck.SetSize(CenterWidth, 1);
00389		ShowFragsCheck.WinLeft = CenterPos;
00390		ShowFacesCheck.SetSize(CenterWidth, 1);
00391		ShowFacesCheck.WinLeft = CenterPos;
00392		OpacitySlider.SetSize(CenterWidth, 1);
00393		OpacitySlider.SliderWidth = 90;
00394		OpacitySlider.WinLeft = CenterPos;
00395		UseTeamColorCheck.SetSize(CenterWidth, 1);
00396		UseTeamColorCheck.WinLeft = CenterPos;
00397		HUDColorCombo.SetSize(CenterWidth, 1);
00398		HUDColorCombo.WinLeft = CenterPos;
00399		HUDColorCombo.EditBoxWidth = 90;
00400		HUDRSlider.SetSize(CenterWidth, 1);
00401		HUDRSlider.SliderWidth = 90;
00402		HUDRSlider.WinLeft = CenterPos;
00403		HUDGSlider.SetSize(CenterWidth, 1);
00404		HUDGSlider.SliderWidth = 90;
00405		HUDGSlider.WinLeft = CenterPos;
00406		HUDBSlider.SetSize(CenterWidth, 1);
00407		HUDBSlider.SliderWidth = 90;
00408		HUDBSlider.WinLeft = CenterPos;
00409		HUDScaleSlider.SetSize(CenterWidth, 1);
00410		HUDScaleSlider.SliderWidth = 90;
00411		HUDScaleSlider.WinLeft = CenterPos;
00412		WeaponScaleSlider.SetSize(CenterWidth, 1);
00413		WeaponScaleSlider.SliderWidth = 90;
00414		WeaponScaleSlider.WinLeft = CenterPos;
00415		StatusScaleSlider.SetSize(CenterWidth, 1);
00416		StatusScaleSlider.SliderWidth = 90;
00417		StatusScaleSlider.WinLeft = CenterPos;
00418		CrosshairSlider.SetSize(CenterWidth, 1);
00419		CrosshairSlider.SliderWidth = 90;
00420		CrosshairSlider.WinLeft = CenterPos;
00421		CrosshairColorCombo.SetSize(CenterWidth, 1);
00422		CrosshairColorCombo.WinLeft = CenterPos;
00423		CrosshairColorCombo.EditBoxWidth = 90;
00424		CrosshairRSlider.SetSize(CenterWidth, 1);
00425		CrosshairRSlider.SliderWidth = 90;
00426		CrosshairRSlider.WinLeft = CenterPos;
00427		CrosshairGSlider.SetSize(CenterWidth, 1);
00428		CrosshairGSlider.SliderWidth = 90;
00429		CrosshairGSlider.WinLeft = CenterPos;
00430		CrosshairBSlider.SetSize(CenterWidth, 1);
00431		CrosshairBSlider.SliderWidth = 90;
00432		CrosshairBSlider.WinLeft = CenterPos;
00433	}
00434	
00435	function Paint(Canvas C, float X, float Y)
00436	{
00437		local int ControlWidth, ControlLeft, ControlRight;
00438		local int CenterWidth, CenterPos, CrosshairX, HUDX;
00439		local ChallengeHUD H;
00440		local Texture CrossHair, T;
00441	
00442		ControlWidth = WinWidth/2.5;
00443		ControlLeft = (WinWidth/2 - ControlWidth)/2;
00444		ControlRight = WinWidth/2 + ControlLeft;
00445	
00446		CenterWidth = (WinWidth/4)*3;
00447		CenterPos = (WinWidth - CenterWidth)/2;
00448	
00449		Super.Paint(C, X, Y);
00450	
00451		H = ChallengeHUD(GetPlayerOwner().MyHUD);
00452		CrossHair = H.CrosshairTextures[H.Crosshair];
00453		if(CrossHair == None)
00454			CrossHair = H.LoadCrosshair(H.Crosshair);
00455	
00456		CrosshairX = (WinWidth - Crosshair.USize) / 2;
00457		T = GetLookAndFeelTexture();
00458		DrawUpBevel(C, CrosshairX - 3, CrosshairSlider.WinTop + 20 - 3, CrossHair.USize + 6, CrossHair.VSize + 6, T);
00459		DrawStretchedTexture(C, CrosshairX, CrosshairSlider.WinTop + 20, CrossHair.USize, CrossHair.VSize, Texture'BlackTexture');
00460	
00461		C.DrawColor.R = 15 * H.CrosshairColor.R;
00462		C.DrawColor.G = 15 * H.CrosshairColor.G;
00463		C.DrawColor.B = 15 * H.CrosshairColor.B;
00464		DrawClippedTexture(C, CrosshairX, CrosshairSlider.WinTop + 20, CrossHair);
00465	
00466	
00467		HUDX = (WinWidth - Texture'HudPreview'.USize) / 2;
00468		C.DrawColor.R = 255;
00469		C.DrawColor.G = 255;
00470		C.DrawColor.B = 255;
00471		DrawUpBevel(C, HUDX - 3, OpacitySlider.WinTop + 20 - 3, Texture'HudPreview'.USize + 6, Texture'HudPreview'.VSize + 6, T);
00472		DrawClippedTexture(C, HUDX, OpacitySlider.WinTop + 20, Texture'HudPreviewBG');
00473	
00474		if ( H.Opacity == 16 )
00475		{
00476			C.Style = GetPlayerOwner().ERenderStyle.STY_Normal;
00477			C.DrawColor.R = H.FavoriteHUDColor.R * 15.9;
00478			C.DrawColor.G = H.FavoriteHUDColor.G * 15.9;
00479			C.DrawColor.B = H.FavoriteHUDColor.B * 15.9;
00480		}
00481		else
00482		{
00483			C.Style = GetPlayerOwner().ERenderStyle.STY_Translucent;
00484			C.DrawColor.R = H.FavoriteHUDColor.R * (H.Opacity + 0.9);
00485			C.DrawColor.G = H.FavoriteHUDColor.G * (H.Opacity + 0.9);
00486			C.DrawColor.B = H.FavoriteHUDColor.B * (H.Opacity + 0.9);
00487		}
00488	
00489		DrawClippedTexture(C, HUDX, OpacitySlider.WinTop + 20, Texture'HudPreview');
00490	}
00491	
00492	function Notify(UWindowDialogControl C, byte E)
00493	{
00494		if(C == DefaultsButton && E == DE_Click)
00495		{
00496			ResetHUD();
00497			return;
00498		} 
00499	
00500		switch(E)
00501		{
00502		case DE_Change:
00503			switch(C)
00504			{
00505			case CrosshairSlider:
00506				CrosshairChanged();
00507				break;
00508			case HUDRSlider:
00509			case HUDGSlider:
00510			case HUDBSlider:
00511				ChangeToCustomColor();
00512				HUDLayoutChanged();
00513				break;
00514			case CrosshairRSlider:
00515			case CrosshairGSlider:
00516			case CrosshairBSlider:
00517				ChangeToCustomCrosshairColor();
00518				HUDLayoutChanged();
00519				break;
00520			case ShowHUDCheck:
00521			case ShowWeaponsCheck:
00522			case ShowStatusCheck:
00523			case ShowAmmoCheck:
00524			case ShowTeamInfoCheck:
00525			case ShowFragsCheck:
00526			case ShowFacesCheck:
00527			case OpacitySlider:
00528			case HUDScaleSlider:
00529			case WeaponScaleSlider:
00530			case StatusScaleSlider:
00531			case HUDColorCombo:
00532			case CrosshairColorCombo:
00533			case UseTeamColorCheck:
00534				HUDLayoutChanged();
00535				break;
00536			}
00537		}
00538		Super.Notify(C, E);
00539	}
00540	
00541	function ResetHUD()
00542	{
00543		class'HUD'.static.ResetConfig();
00544		class'ChallengeHUD'.static.ResetConfig();
00545		class'ChallengeHUD'.static.StaticSaveConfig();
00546		LoadDefaultValues();
00547		LoadCurrentValues();
00548	}
00549	
00550	singular function ChangeToCustomColor()
00551	{
00552		if(!bInitialized) return;
00553	
00554		bInitialized = False;
00555		HUDColorCombo.SetSelectedIndex(Max(HUDColorCombo.FindItemIndex2("cust", False), 0));
00556		bInitialized = True;
00557	}
00558	
00559	singular function ChangeToCustomCrosshairColor()
00560	{
00561		if(!bInitialized) return;
00562	
00563		bInitialized = False;
00564		CrosshairColorCombo.SetSelectedIndex(Max(CrosshairColorCombo.FindItemIndex2("cust", False), 0));
00565		bInitialized = True;
00566	}
00567	
00568	singular function HUDLayoutChanged()
00569	{
00570		local ChallengeHUD H;
00571		local string Temp;
00572		local int i;
00573	
00574		if(!bInitialized) return;
00575	
00576		H = ChallengeHUD(GetPlayerOwner().MyHUD);
00577	
00578		ShowWeaponsCheck.bDisabled = !ShowHUDCheck.bChecked;
00579		ShowStatusCheck.bDisabled = !ShowHUDCheck.bChecked;
00580		ShowAmmoCheck.bDisabled = !ShowHUDCheck.bChecked;
00581		ShowTeamInfoCheck.bDisabled = !ShowHUDCheck.bChecked;
00582		ShowFragsCheck.bDisabled = !ShowHUDCheck.bChecked;
00583		ShowFacesCheck.bDisabled = !ShowHUDCheck.bChecked;
00584		UseTeamColorCheck.bDisabled = !ShowHUDCheck.bChecked;
00585	
00586		H.bHideHUD = !ShowHUDCheck.bChecked;
00587		H.bHideAllWeapons = !ShowWeaponsCheck.bChecked;
00588		H.bHideStatus = !ShowStatusCheck.bChecked;
00589		H.bHideAmmo = !ShowAmmoCheck.bChecked;
00590		H.bHideTeamInfo = !ShowTeamInfoCheck.bChecked;
00591		H.bHideFrags = !ShowFragsCheck.bChecked;
00592		H.bHideFaces = !ShowFacesCheck.bChecked;
00593		H.bUseTeamColor = UseTeamColorCheck.bChecked;
00594		H.Opacity = OpacitySlider.GetValue();
00595		H.HUDScale = HUDScaleSlider.GetValue()/5;
00596		H.WeaponScale = WeaponScaleSlider.GetValue()/5;
00597		H.StatusScale = StatusScaleSlider.GetValue()/10;
00598	
00599		if(HUDColorCombo.GetValue2() == "cust")
00600		{
00601			H.FavoriteHUDColor.R = HUDRSlider.GetValue();
00602			H.FavoriteHUDColor.G = HUDGSlider.GetValue();
00603			H.FavoriteHUDColor.B = HUDBSlider.GetValue();
00604		}
00605		else
00606		{
00607			Temp = HUDColorCombo.GetValue2();
00608			i = InStr(Temp, ",");
00609			H.FavoriteHUDColor.R = Int(Left(Temp, i));
00610			Temp = Mid(Temp, i+1);
00611			i = InStr(Temp, ",");
00612			H.FavoriteHUDColor.G = Int(Left(Temp, i));
00613			Temp = Mid(Temp, i+1);
00614			H.FavoriteHUDColor.B = Int(Temp);
00615	
00616			bInitialized = False;
00617			HUDRSlider.SetValue(H.FavoriteHUDColor.R);
00618			HUDGSlider.SetValue(H.FavoriteHUDColor.G);
00619			HUDBSlider.SetValue(H.FavoriteHUDColor.B);
00620			bInitialized = True;
00621		}
00622	
00623		if(CrosshairColorCombo.GetValue2() == "cust")
00624		{
00625			H.CrosshairColor.R = CrosshairRSlider.GetValue();
00626			H.CrosshairColor.G = CrosshairGSlider.GetValue();
00627			H.CrosshairColor.B = CrosshairBSlider.GetValue();
00628		}
00629		else
00630		{
00631			Temp = CrosshairColorCombo.GetValue2();
00632			i = InStr(Temp, ",");
00633			H.CrosshairColor.R = Int(Left(Temp, i));
00634			Temp = Mid(Temp, i+1);
00635			i = InStr(Temp, ",");
00636			H.CrosshairColor.G = Int(Left(Temp, i));
00637			Temp = Mid(Temp, i+1);
00638			H.CrosshairColor.B = Int(Temp);
00639	
00640			bInitialized = False;
00641			CrosshairRSlider.SetValue(H.CrosshairColor.R);
00642			CrosshairGSlider.SetValue(H.CrosshairColor.G);
00643			CrosshairBSlider.SetValue(H.CrosshairColor.B);
00644			bInitialized = True;
00645		}
00646	}
00647	
00648	function CrosshairChanged()
00649	{
00650		GetPlayerOwner().myHUD.Crosshair = int(CrosshairSlider.Value);
00651	}
00652	
00653	function SaveConfigs()
00654	{
00655		GetPlayerOwner().SaveConfig();
00656		GetPlayerOwner().myHUD.SaveConfig();
00657		Super.SaveConfigs();
00658	}
00659	
00660	defaultproperties
00661	{
00662	     ShowHUDText="Show HUD"
00663	     ShowHUDHelp="Show the Heads-up Display (HUD)."
00664	     ShowWeaponsText="Show Weapon Display"
00665	     ShowWeaponsHelp="Show weapon displays on the HUD."
00666	     ShowStatusText="Show Player Status"
00667	     ShowStatusHelp="Shows the player status indicator (top right) on the HUD."
00668	     ShowAmmoText="Show Ammo Count"
00669	     ShowAmmoHelp="Show your current ammo count on the HUD."
00670	     ShowTeamInfoText="Show Team Info"
00671	     ShowTeamInfoHelp="Show team-related information on the HUD."
00672	     ShowFacesText="Show Chat Area"
00673	     ShowFacesHelp="Show the chat area in the top left corner, where chat messages and kills appear."
00674	     ShowFragsText="Show Frags"
00675	     ShowFragsHelp="Show your frag count on the HUD."
00676	     UseTeamColorText="Use Team Color in Team Games"
00677	     UseTeamColorHelp="In team games, this setting uses your team color as the color for your HUD."
00678	     HUDColorText="HUD Color"
00679	     HUDColorHelp="Change your prefered HUD color.  In team games your team color will be used instead."
00680	     HUDColorNames(0)="Red"
00681	     HUDColorNames(1)="Purple"
00682	     HUDColorNames(2)="Light Blue"
00683	     HUDColorNames(3)="Turquoise"
00684	     HUDColorNames(4)="Green"
00685	     HUDColorNames(5)="Orange"
00686	     HUDColorNames(6)="Gold"
00687	     HUDColorNames(7)="Pink"
00688	     HUDColorNames(8)="White"
00689	     HUDColorNames(9)="Deep Blue"
00690	     HUDColorNames(10)="Custom"
00691	     HUDColorValues(0)="16,0,0"
00692	     HUDColorValues(1)="16,0,16"
00693	     HUDColorValues(2)="0,8,16"
00694	     HUDColorValues(3)="0,16,16"
00695	     HUDColorValues(4)="0,16,0"
00696	     HUDColorValues(5)="16,8,0"
00697	     HUDColorValues(6)="16,16,0"
00698	     HUDColorValues(7)="16,0,8"
00699	     HUDColorValues(8)="16,16,16"
00700	     HUDColorValues(9)="0,0,16"
00701	     HUDColorValues(10)="cust"
00702	     HUDRText="HUD Color Red"
00703	     HUDRHelp="Use the RGB sliders to select a custom HUD color."
00704	     HUDGText="HUD Color Green"
00705	     HUDGHelp="Use the RGB sliders to select a custom HUD color."
00706	     HUDBText="HUD Color Blue"
00707	     HUDBHelp="Use the RGB sliders to select a custom HUD color."
00708	     CrosshairColorText="Crosshair Color"
00709	     CrosshairColorHelp="Change your prefered Crosshair color."
00710	     CrosshairRText="Crosshair Color Red"
00711	     CrosshairRHelp="Use the RGB sliders to select a custom Crosshair color."
00712	     CrosshairGText="Crosshair Color Green"
00713	     CrosshairGHelp="Use the RGB sliders to select a custom Crosshair color."
00714	     CrosshairBText="Crosshair Color Blue"
00715	     CrosshairBHelp="Use the RGB sliders to select a custom Crosshair color."
00716	     OpacityText="HUD Transparency"
00717	     OpacityHelp="Adjust the level of transparency in the HUD."
00718	     HUDScaleText="HUD Size"
00719	     HUDScaleHelp="Adjust the size of the elements on the HUD."
00720	     WeaponScaleText="Weapon Icon Size"
00721	     WeaponScaleHelp="Adjust the size of the weapon icons on the HUD."
00722	     StatusScaleText="Status Size"
00723	     StatusScaleHelp="Adjust the scale of the player status indicator (top right) on the HUD."
00724	     CrosshairText="Crosshair Style"
00725	     CrosshairHelp="Choose the crosshair appearing at the center of your screen."
00726	     DefaultsText="Reset"
00727	     DefaultsHelp="Reset HUD settings to default values."
00728	     ControlOffset=10
00729	}

End Source Code