407 lines
8.9 KiB
Ucode
407 lines
8.9 KiB
Ucode
class KFHudSettings extends UT2K4Tab_HudSettings;
|
|
|
|
var automated moCheckBox ch_LightHud;
|
|
var() bool bLight;
|
|
|
|
var automated moCheckBox ch_SpecKillCounter;
|
|
var bool bTallySpecimenKills;
|
|
|
|
function InitComponent(GUIController MyController, GUIComponent MyOwner)
|
|
{
|
|
Super(Settings_Tabs).InitComponent(MyController, MyOwner);
|
|
|
|
i_BG1.ManageComponent(ch_Visible);
|
|
i_BG1.ManageComponent(ch_Weapons);
|
|
i_BG1.ManageComponent(ch_LightHud);
|
|
i_BG1.ManageComponent(ch_SpecKillCounter);
|
|
i_BG1.ManageComponent(ch_Personal);
|
|
i_BG1.ManageComponent(ch_Score);
|
|
// KFTODO: reintegrate these
|
|
//i_BG1.ManageComponent(ch_Portraits);
|
|
//i_BG1.ManageComponent(ch_VCPortraits);
|
|
i_BG1.ManageComponent(ch_DeathMsgs);
|
|
i_BG1.ManageComponent(nu_MsgCount);
|
|
i_BG1.ManageComponent(nu_MsgScale);
|
|
i_BG1.ManageComponent(nu_MsgOffset);
|
|
|
|
sl_Opacity.MySlider.bDrawPercentSign = True;
|
|
//sl_Scale.MySlider.bDrawPercentSign = True;
|
|
}
|
|
|
|
function InternalOnLoadINI(GUIComponent Sender, string s)
|
|
{
|
|
local HUD H;
|
|
|
|
H = PlayerOwner().myHUD;
|
|
|
|
switch (Sender)
|
|
{
|
|
case ch_DeathMsgs:
|
|
bNoMsgs = class'XGame.xDeathMessage'.default.bNoConsoleDeathMessages;
|
|
ch_DeathMsgs.SetComponentValue(bNoMsgs,true);
|
|
break;
|
|
|
|
case ch_Visible:
|
|
bVis = H.bHideHUD;
|
|
ch_Visible.SetComponentValue(bVis,true);
|
|
InitializeHUDColor();
|
|
break;
|
|
|
|
|
|
case ch_LightHud:
|
|
if ( HUDKillingFloor(H) != none )
|
|
{
|
|
bLight = HUDKillingFloor(H).bLightHud;
|
|
ch_LightHud.SetComponentValue(bLight,true);
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
bLight = class'KFMod.HUDKillingFloor'.default.bLightHud;
|
|
ch_LightHud.SetComponentValue(bLight,true);
|
|
break;
|
|
}
|
|
case ch_SpecKillCounter:
|
|
if ( HUDKillingFloor(H) != none )
|
|
{
|
|
bTallySpecimenKills = HUDKillingFloor(H).bTallySpecimenKills;
|
|
ch_SpecKillCounter.SetComponentValue(bTallySpecimenKills,true);
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
bTallySpecimenKills = class'KFMod.HUDKillingFloor'.default.bTallySpecimenKills;
|
|
ch_SpecKillCounter.SetComponentValue(bTallySpecimenKills,true);
|
|
break;
|
|
}
|
|
|
|
case ch_Weapons:
|
|
bWeapons = H.bShowWeaponInfo;
|
|
ch_Weapons.SetComponentValue(bWeapons,true);
|
|
break;
|
|
|
|
case ch_Personal:
|
|
bPersonal = H.bShowPersonalInfo;
|
|
ch_Personal.SetComponentValue(bPersonal,true);
|
|
break;
|
|
|
|
case ch_Score:
|
|
bScore = H.bShowPoints;
|
|
ch_Score.SetComponentValue(bScore,true);
|
|
break;
|
|
|
|
case ch_WeaponBar:
|
|
bWeaponBar = H.bShowWeaponBar;
|
|
ch_WeaponBar.SetComponentValue(bWeaponBar,true);
|
|
break;
|
|
|
|
// KFTODO: Figure out how to reintegrate this!
|
|
// case ch_Portraits:
|
|
// bPortraits = H.bShowPortrait;
|
|
// ch_Portraits.SetComponentValue(bPortraits,true);
|
|
// break;
|
|
|
|
case nu_MsgCount:
|
|
iCount = H.ConsoleMessageCount;
|
|
nu_MsgCount.SetComponentValue(iCount,true);
|
|
break;
|
|
|
|
case nu_MsgScale:
|
|
iScale = 8 - H.ConsoleFontSize;
|
|
nu_MsgScale.SetComponentValue(iScale,true);
|
|
break;
|
|
|
|
case nu_MsgOffset:
|
|
iOffset = H.MessageFontOffset+4;
|
|
nu_MsgOffset.SetComponentValue(iOffset,true);
|
|
break;
|
|
|
|
default:
|
|
GUIMenuOption(Sender).SetComponentValue(s,true);
|
|
}
|
|
}
|
|
|
|
function SaveSettings()
|
|
{
|
|
local PlayerController PC;
|
|
local HUD H;
|
|
local bool bSave;
|
|
|
|
PC = PlayerOwner();
|
|
H = PlayerOwner().myHUD;
|
|
|
|
if ( H.bHideHud != bVis )
|
|
{
|
|
H.bHideHUD = bVis;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( HUDKillingFloor(H) != none )
|
|
{
|
|
if ( HUDKillingFloor(H).bLightHud != bLight )
|
|
{
|
|
HUDKillingFloor(H).bLightHUD = bLight;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( HUDKillingFloor(H).bTallySpecimenKills != bTallySpecimenKills )
|
|
{
|
|
HUDKillingFloor(H).bTallySpecimenKills = bTallySpecimenKills;
|
|
bSave = True;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ( class'KFMod.HUDKillingFloor'.default.bLightHud != bLight )
|
|
{
|
|
class'KFMod.HUDKillingFloor'.default.bLightHud = bLight;
|
|
class'KFMod.HUDKillingFloor'.static.StaticSaveConfig();
|
|
}
|
|
|
|
if ( class'KFMod.HUDKillingFloor'.default.bTallySpecimenKills != bTallySpecimenKills )
|
|
{
|
|
class'KFMod.HUDKillingFloor'.default.bTallySpecimenKills = bTallySpecimenKills;
|
|
class'KFMod.HUDKillingFloor'.static.StaticSaveConfig();
|
|
}
|
|
}
|
|
|
|
if ( H.bShowWeaponInfo != bWeapons )
|
|
{
|
|
H.bShowWeaponInfo = bWeapons;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( H.bShowPersonalInfo != bPersonal )
|
|
{
|
|
H.bShowPersonalInfo = bPersonal;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( H.bShowPoints != bScore )
|
|
{
|
|
H.bShowPoints = bScore;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( H.bShowWeaponBar != bWeaponBar)
|
|
{
|
|
H.bShowWeaponBar = bWeaponBar;
|
|
bSave = True;
|
|
}
|
|
|
|
// if _RO_
|
|
/*
|
|
// end if _RO_
|
|
if ( H.bShowPortrait != bPortraits )
|
|
{
|
|
H.bShowPortrait = bPortraits;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( H.bShowPortraitVC != bVCPortraits )
|
|
{
|
|
H.bShowPortraitVC = bVCPortraits;
|
|
bSave = True;
|
|
}
|
|
// if _RO_
|
|
*/
|
|
// end if _RO_
|
|
|
|
if ( H.bNoEnemyNames == bNames )
|
|
{
|
|
H.bNoEnemyNames = !bNames;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( H.ConsoleMessageCount != iCount )
|
|
{
|
|
H.ConsoleMessageCount = iCount;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( H.ConsoleFontSize != Abs(iScale - 8) )
|
|
{
|
|
H.ConsoleFontSize = Abs(iScale - 8);
|
|
bSave = True;
|
|
}
|
|
|
|
if ( H.MessageFontOffset != iOffset - 4 )
|
|
{
|
|
H.MessageFontOffset = iOffset - 4;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( H.HudScale != fScale / 100.0 )
|
|
{
|
|
H.HudScale = fScale / 100.0;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( H.HudOpacity != (fOpacity / 100.0) * 255.0 )
|
|
{
|
|
H.HudOpacity = (fOpacity / 100.0) * 255.0;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( HudBase(H) != None )
|
|
{
|
|
if ( SaveCustomHUDColor() || bSave )
|
|
H.SaveConfig();
|
|
}
|
|
|
|
else
|
|
{
|
|
if ( bSave )
|
|
H.SaveConfig();
|
|
|
|
SaveCustomHUDColor();
|
|
}
|
|
|
|
if ( class'XGame.xDeathMessage'.default.bNoConsoleDeathMessages != bNoMsgs )
|
|
{
|
|
class'XGame.xDeathMessage'.default.bNoConsoleDeathMessages = bNoMsgs;
|
|
class'XGame.xDeathMessage'.static.StaticSaveConfig();
|
|
}
|
|
}
|
|
|
|
function InternalOnChange(GUIComponent Sender)
|
|
{
|
|
Super.InternalOnChange(Sender);
|
|
|
|
switch (Sender)
|
|
{
|
|
case ch_LightHud:
|
|
bLight = ch_LightHud.IsChecked();
|
|
break;
|
|
case ch_SpecKillCounter:
|
|
bTallySpecimenKills = ch_SpecKillCounter.IsChecked();
|
|
break;
|
|
}
|
|
}
|
|
|
|
function InitializeHUDColor()
|
|
{
|
|
fScale = PlayerOwner().myHUD.HudScale * 100;
|
|
fOpacity = (PlayerOwner().myHUD.HudOpacity / 255) * 100;
|
|
|
|
//sl_Scale.SetValue(fScale);
|
|
sl_Opacity.SetValue(fOpacity);
|
|
|
|
UpdatePreviewColor();
|
|
}
|
|
|
|
function UpdatePreviewColor()
|
|
{
|
|
local float o, s;
|
|
|
|
i_PreviewBG.ImageColor = cCustom;
|
|
|
|
o = 255.0 * (fOpacity / 100.0);
|
|
i_PreviewBG.ImageColor.A = o;
|
|
i_Preview.ImageColor.A = o;
|
|
|
|
s = 1.0;
|
|
i_PreviewBG.WinWidth = DefaultBGPos.X2 * s;
|
|
i_PreviewBG.WinHeight = DefaultBGPos.Y2 * s;
|
|
|
|
i_Preview.WinWidth = DefaultHealthPos.X2 * s;
|
|
i_Preview.WinHeight = DefaultHealthPos.Y2 * s;
|
|
|
|
i_Scale.WinWidth = i_PreviewBG.WinWidth;
|
|
i_Scale.WinHeight = i_PreviewBG.WinHeight;
|
|
|
|
}
|
|
|
|
|
|
defaultproperties
|
|
{
|
|
Begin Object Class=GUIImage Name=PreviewBackground
|
|
Image=none//Texture'InterfaceArt_tex.Menu.traderlist_normal'
|
|
ImageStyle=ISTY_Stretched
|
|
ImageAlign=IMGA_Center
|
|
WinTop=0.211713
|
|
WinLeft=0.749335
|
|
WinWidth=0.190000
|
|
WinHeight=0.160000
|
|
RenderWeight=1.002000
|
|
End Object
|
|
i_PreviewBG=GUIImage'KFGui.KFHudSettings.PreviewBackground'
|
|
|
|
Begin Object Class=GUIImage Name=Preview
|
|
Image=Texture'KillingFloorHud.Perk_Firebug'
|
|
ImageStyle=ISTY_Scaled
|
|
ImageAlign=IMGA_Center
|
|
X1=-1
|
|
Y1=-1
|
|
X2=-1
|
|
Y2=-1
|
|
WinTop=0.211559
|
|
WinLeft=0.749828
|
|
WinWidth=0.150000
|
|
WinHeight=0.150000
|
|
RenderWeight=1.003000
|
|
End Object
|
|
i_Preview=GUIImage'KFGui.KFHudSettings.Preview'
|
|
|
|
Begin Object Class=GUIImage Name=PreviewBK
|
|
Image=Texture'InterfaceArt_tex.Menu.traderlist_normal'
|
|
//Texture'InterfaceArt_tex.Menu.changeme_texture'
|
|
WinWidth=0.400000
|
|
WinHeight=0.250000
|
|
WinLeft=0.749335
|
|
WinTop=0.211713
|
|
ImageStyle=ISTY_Scaled
|
|
ImageRenderStyle=MSTY_Alpha
|
|
ImageColor=(R=255,G=255,B=255,A=255)
|
|
ImageAlign=IMGA_Center
|
|
RenderWeight=1.001
|
|
End Object
|
|
i_Scale=PreviewBK;
|
|
|
|
Begin Object class=moCheckBox Name=LightHud
|
|
WinWidth=0.196875
|
|
WinLeft=0.379297
|
|
WinTop=0.043906
|
|
Caption="Light HUD"
|
|
INIOption="@Internal"
|
|
OnLoadINI=InternalOnLoadINI
|
|
OnChange=InternalOnChange
|
|
Hint="Show a light version of the HUD"
|
|
CaptionWidth=0.9
|
|
bSquare=true
|
|
ComponentJustification=TXTA_Left
|
|
bAutoSizeCaption=True
|
|
TabOrder=1
|
|
End Object
|
|
ch_LightHud=LightHud
|
|
|
|
Begin Object class=moCheckBox Name=SpecimenKillCounter
|
|
WinWidth=0.196875
|
|
WinLeft=0.379297
|
|
WinTop=0.043906
|
|
Caption="Show Kill Counter"
|
|
INIOption="@Internal"
|
|
OnLoadINI=InternalOnLoadINI
|
|
OnChange=InternalOnChange
|
|
Hint="Tally specimen kills on the HUD"
|
|
CaptionWidth=0.9
|
|
bSquare=true
|
|
ComponentJustification=TXTA_Left
|
|
bAutoSizeCaption=True
|
|
TabOrder=1
|
|
End Object
|
|
ch_SpecKillCounter=SpecimenKillCounter
|
|
|
|
sl_Scale=none
|
|
|
|
sl_Red=None
|
|
sl_Green=None
|
|
sl_Blue=None
|
|
ch_WeaponBar=None
|
|
ch_EnemyNames=None
|
|
ch_CustomColor=None
|
|
co_CustomHUD=None
|
|
b_CustomHUD=None
|
|
}
|
|
|