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 }
|