483 lines
12 KiB
Ucode
483 lines
12 KiB
Ucode
//==============================================================================
|
|
// Created on: 09/22/2003
|
|
// Custom HUD settings menu for UT2K4Assault.ASGameInfo
|
|
//
|
|
// Written by Ron Prestenback
|
|
// © 2003, Epic Games, Inc. All Rights Reserved
|
|
//==============================================================================
|
|
class CustomHUDMenuAssault extends UT2K4CustomHUDMenu;
|
|
|
|
// Commented out UT2k4Merge - Ramm
|
|
/*
|
|
|
|
var class<HUD_Assault> HUDClass;
|
|
|
|
var automated moCheckbox ch_Reticles, ch_InfoPods, ch_bShow3DArrow, ch_bDrawAllObjectives, ch_bObjectiveReminder, ch_bShowWillowWhisp;
|
|
var automated moSlider sl_ReticleSize;
|
|
var automated moNumericEdit nu_PulseTime;
|
|
var automated GUISectionBackground sb_Main, sb_Misc;
|
|
|
|
var bool bReticle, bInfoPods, bShow3DArrow, bDrawAllObjectives, bObjectiveReminder, bShowWillowWhisp;
|
|
var float fReticle;
|
|
var int iPulseTime;
|
|
|
|
var localized string MainCaption;
|
|
|
|
function bool InitializeGameClass( string GameClassName )
|
|
{
|
|
sb_Main.ManageComponent(ch_Reticles);
|
|
sb_Main.ManageComponent(sl_ReticleSize);
|
|
|
|
sb_Misc.ManageComponent(ch_InfoPods);
|
|
sb_Misc.ManageComponent(ch_bDrawAllObjectives);
|
|
sb_Misc.ManageComponent(ch_bShow3DArrow);
|
|
sb_Misc.Managecomponent(ch_bObjectiveReminder);
|
|
sb_Misc.ManageComponent(nu_PulseTime);
|
|
sb_Misc.ManageComponent(ch_bShowWillowWhisp);
|
|
|
|
if ( GameClassName != "" )
|
|
GameClass = class<GameInfo>(DynamicLoadObject( GameClassName, class'Class' ));
|
|
|
|
if ( GameClass == None )
|
|
{
|
|
Warn(Name@"could not load specified gametype:"@GameClassName);
|
|
return False;
|
|
}
|
|
|
|
if ( GameClass.default.HUDType != "" )
|
|
{
|
|
HUDClass = class<HUD_Assault>(DynamicLoadObject(GameClass.default.HUDType, class'Class'));
|
|
if ( HUDClass == None )
|
|
{
|
|
Warn(Name@"could not load specified HUD type:"@GameClass.default.HUDType);
|
|
return False;
|
|
}
|
|
}
|
|
|
|
return True;
|
|
}
|
|
|
|
function LoadSettings()
|
|
{
|
|
local HUD_Assault ASHUD;
|
|
|
|
ASHUD = HUD_Assault(PlayerOwner().myHUD);
|
|
if ( ASHUD == None )
|
|
{
|
|
bReticle = HUDClass.default.bOnHUDObjectiveNotification;
|
|
ch_Reticles.SetComponentValue( bReticle, True );
|
|
|
|
bInfoPods = HUDClass.default.bShowInfoPods;
|
|
ch_InfoPods.SetComponentValue( bInfoPods, True );
|
|
|
|
fReticle = HUDClass.default.ObjectiveScale;
|
|
sl_ReticleSize.SetComponentValue( fReticle, True );
|
|
|
|
iPulseTime = HUDClass.default.ObjectiveProgressPulseTime;
|
|
nu_PulseTime.SetComponentValue( iPulseTime, True );
|
|
|
|
bShow3DArrow = HUDClass.default.bShow3DArrow;
|
|
ch_bShow3DArrow.SetComponentValue( bShow3DArrow, True );
|
|
|
|
bObjectiveReminder = HUDClass.default.bObjectiveReminder;
|
|
ch_bObjectiveReminder.SetComponentValue( bObjectiveReminder, True );
|
|
|
|
bDrawAllObjectives = HUDClass.default.bDrawAllObjectives;
|
|
ch_bDrawAllObjectives.SetComponentValue( bDrawAllObjectives, True );
|
|
|
|
bShowWillowWhisp = HUDClass.default.bShowWillowWhisp;
|
|
ch_bShowWillowWhisp.SetComponentValue( bShowWillowWhisp, True );
|
|
|
|
}
|
|
else
|
|
{
|
|
bReticle = ASHUD.bOnHUDObjectiveNotification;
|
|
ch_Reticles.SetComponentValue( bReticle, True );
|
|
|
|
bInfoPods = ASHUD.bShowInfoPods;
|
|
ch_InfoPods.SetComponentValue( bInfoPods, True );
|
|
|
|
fReticle = ASHUD.ObjectiveScale;
|
|
sl_ReticleSize.SetComponentValue( fReticle, True );
|
|
|
|
iPulseTime = ASHUD.ObjectiveProgressPulseTime;
|
|
nu_PulseTime.SetComponentValue( iPulseTime, True );
|
|
|
|
bShow3DArrow = ASHUD.bShow3DArrow;
|
|
ch_bShow3DArrow.SetComponentValue( bShow3DArrow, True );
|
|
|
|
bObjectiveReminder = ASHUD.bObjectiveReminder;
|
|
ch_bObjectiveReminder.SetComponentValue( bObjectiveReminder, True );
|
|
|
|
bDrawAllObjectives = ASHUD.bDrawAllObjectives;
|
|
ch_bDrawAllObjectives.SetComponentValue( bDrawAllObjectives, True );
|
|
|
|
bShowWillowWhisp = ASHUD.bShowWillowWhisp;
|
|
ch_bShowWillowWhisp.SetComponentValue( bShowWillowWhisp, True );
|
|
}
|
|
}
|
|
|
|
function InternalOnChange(GUIComponent Sender)
|
|
{
|
|
switch ( Sender )
|
|
{
|
|
case ch_Reticles:
|
|
bReticle = ch_Reticles.IsChecked();
|
|
break;
|
|
|
|
case ch_InfoPods:
|
|
bInfoPods = ch_InfoPods.IsChecked();
|
|
break;
|
|
|
|
case sl_ReticleSize:
|
|
fReticle = sl_ReticleSize.GetValue();
|
|
break;
|
|
|
|
case nu_PulseTime:
|
|
iPulseTime = nu_PulseTime.GetValue();
|
|
break;
|
|
|
|
case ch_bShow3DArrow:
|
|
bShow3DArrow = ch_bShow3DArrow.IsChecked();
|
|
break;
|
|
|
|
case ch_bObjectiveReminder:
|
|
bObjectiveReminder = ch_bObjectiveReminder.IsChecked();
|
|
break;
|
|
|
|
case ch_bDrawAllObjectives:
|
|
bDrawAllObjectives = ch_bDrawAllObjectives.IsChecked();
|
|
break;
|
|
|
|
case ch_bShowWillowWhisp:
|
|
bShowWillowWhisp = ch_bShowWillowWhisp.IsChecked();
|
|
break;
|
|
}
|
|
|
|
Super.InternalOnChange( Sender );
|
|
}
|
|
|
|
function SaveSettings()
|
|
{
|
|
local bool bSave;
|
|
local HUD_Assault ASHUD;
|
|
|
|
Super.SaveSettings();
|
|
|
|
ASHUD = HUD_Assault(PlayerOwner().myHUD);
|
|
if ( ASHUD == None )
|
|
{
|
|
if ( HUDClass.default.bOnHUDObjectiveNotification != bReticle )
|
|
{
|
|
HUDClass.default.bOnHUDObjectiveNotification = bReticle;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( HUDClass.default.bShowInfoPods != bInfoPods )
|
|
{
|
|
HUDClass.default.bShowInfoPods = bInfoPods;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( HUDClass.default.ObjectiveScale != fReticle )
|
|
{
|
|
HUDClass.default.ObjectiveScale = fReticle;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( HUDClass.default.ObjectiveProgressPulseTime != iPulseTime )
|
|
{
|
|
HUDClass.default.ObjectiveProgressPulseTime = iPulseTime;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( HUDClass.default.bShow3DArrow != bShow3DArrow )
|
|
{
|
|
HUDClass.default.bShow3DArrow = bShow3DArrow;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( HUDClass.default.bObjectiveReminder != bObjectiveReminder )
|
|
{
|
|
HUDClass.default.bObjectiveReminder = bObjectiveReminder;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( HUDClass.default.bDrawAllObjectives != bDrawAllObjectives )
|
|
{
|
|
HUDClass.default.bDrawAllObjectives = bDrawAllObjectives;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( HUDClass.default.bShowWillowWhisp != bShowWillowWhisp )
|
|
{
|
|
HUDClass.default.bShowWillowWhisp = bShowWillowWhisp;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( bSave )
|
|
HUDClass.static.StaticSaveConfig();
|
|
}
|
|
|
|
else
|
|
{
|
|
if ( ASHUD.bOnHUDObjectiveNotification != bReticle )
|
|
{
|
|
ASHUD.bOnHUDObjectiveNotification = bReticle;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( ASHUD.bShowInfoPods != bInfoPods )
|
|
{
|
|
ASHUD.bShowInfoPods = bInfoPods;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( ASHUD.ObjectiveScale != fReticle )
|
|
{
|
|
ASHUD.ObjectiveScale = fReticle;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( ASHUD.ObjectiveProgressPulseTime != iPulseTime )
|
|
{
|
|
ASHUD.ObjectiveProgressPulseTime = iPulseTime;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( ASHUD.bShow3DArrow != bShow3DArrow )
|
|
{
|
|
ASHUD.bShow3DArrow = bShow3DArrow;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( ASHUD.bObjectiveReminder != bObjectiveReminder )
|
|
{
|
|
ASHUD.bObjectiveReminder = bObjectiveReminder;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( ASHUD.bDrawAllObjectives != bDrawAllObjectives )
|
|
{
|
|
ASHUD.bDrawAllObjectives = bDrawAllObjectives;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( ASHUD.bShowWillowWhisp != bShowWillowWhisp )
|
|
{
|
|
ASHUD.bShowWillowWhisp = bShowWillowWhisp;
|
|
bSave = True;
|
|
}
|
|
|
|
if ( bSave )
|
|
ASHUD.SaveConfig();
|
|
}
|
|
}
|
|
|
|
function RestoreDefaults()
|
|
{
|
|
if ( HudClass != None )
|
|
{
|
|
HudClass.static.ResetConfig("bOnHUDObjectiveNotification");
|
|
HudClass.static.ResetConfig("bShowInfoPods");
|
|
HudClass.static.ResetConfig("ObjectiveScale");
|
|
HudClass.static.ResetConfig("ObjectiveProgressPulseTime");
|
|
HudClass.static.ResetConfig("bShow3DArrow");
|
|
HudClass.static.ResetConfig("bObjectiveReminder");
|
|
HudClass.static.ResetConfig("bDrawAllObjectives");
|
|
HudClass.static.ResetConfig("bShowWillowWhisp");
|
|
Super.RestoreDefaults();
|
|
}
|
|
}
|
|
|
|
DefaultProperties
|
|
{
|
|
WinWidth=0.690941
|
|
WinHeight=0.824065
|
|
WinLeft=0.140625
|
|
WinTop=0.072917
|
|
|
|
Begin Object class=GUISectionBackground name=ObjectiveBackground
|
|
WinWidth=0.631835
|
|
WinHeight=0.229493
|
|
WinLeft=0.171485
|
|
WinTop=0.122136
|
|
Caption="Objectives"
|
|
End Object
|
|
sb_Main=ObjectiveBackground
|
|
|
|
Begin Object class=GUISectionBackground Name=MiscBackground
|
|
Caption="Misc."
|
|
WinWidth=0.630273
|
|
WinHeight=0.402735
|
|
WinLeft=0.171485
|
|
WinTop=0.372135
|
|
End Object
|
|
sb_Misc=MiscBackground
|
|
|
|
Begin Object class=moCheckBox Name=Reticles
|
|
WinWidth=0.450000
|
|
WinLeft=0.024219
|
|
WinTop=0.2
|
|
Caption="Objective Reticles"
|
|
Hint="Draw Objective tracking indicators."
|
|
OnChange=InternalOnChange
|
|
CaptionWidth=0.1
|
|
bAutoSizeCaption=True
|
|
LabelJustification=TXTA_Left
|
|
ComponentJustification=TXTA_Center
|
|
TabOrder=0
|
|
End Object
|
|
ch_Reticles=Reticles
|
|
|
|
Begin Object class=moSlider Name=ReticleSize
|
|
WinWidth=0.450000
|
|
WinLeft=0.024219
|
|
WinTop=0.4
|
|
Caption="Objective Indicators Scale"
|
|
Hint="Size scale of on HUD Objective Indicators."
|
|
MinValue=0
|
|
MaxValue=4
|
|
bIntSlider=False
|
|
OnChange=InternalOnChange
|
|
CaptionWidth=0.1
|
|
bAutoSizeCaption=True
|
|
LabelJustification=TXTA_Left
|
|
ComponentJustification=TXTA_Right
|
|
TabOrder=1
|
|
End Object
|
|
sl_ReticleSize=ReticleSize
|
|
|
|
Begin Object class=moCheckBox Name=InfoPods
|
|
WinWidth=0.450000
|
|
WinLeft=0.517383
|
|
WinTop=0.15
|
|
Caption="Display Info Pods"
|
|
Hint="Show Info Pods."
|
|
OnChange=InternalOnChange
|
|
CaptionWidth=0.1
|
|
bAutoSizeCaption=True
|
|
LabelJustification=TXTA_Left
|
|
ComponentJustification=TXTA_Center
|
|
TabOrder=2
|
|
End Object
|
|
ch_InfoPods=InfoPods
|
|
|
|
Begin Object class=moNumericEdit Name=PulseTime
|
|
WinWidth=0.450000
|
|
WinLeft=0.517383
|
|
WinTop=0.3
|
|
Caption="Objective Update Time"
|
|
Hint="Number of seconds current Objective will be highlighted."
|
|
MinValue=0
|
|
MaxValue=99
|
|
OnChange=InternalOnChange
|
|
LabelJustification=TXTA_Left
|
|
ComponentJustification=TXTA_Right
|
|
CaptionWidth=0.7
|
|
bAutoSizeCaption=True
|
|
ComponentWidth=0.3
|
|
TabOrder=3
|
|
End Object
|
|
nu_PulseTime=PulseTime
|
|
|
|
Begin Object class=moCheckBox Name=Show3DArrow
|
|
WinWidth=0.450000
|
|
WinLeft=0.024219
|
|
WinTop=0.45
|
|
Caption="Show 3D Arrow"
|
|
Hint="Draw 3D Objective tracking arrow."
|
|
OnChange=InternalOnChange
|
|
CaptionWidth=0.1
|
|
bAutoSizeCaption=True
|
|
LabelJustification=TXTA_Left
|
|
ComponentJustification=TXTA_Center
|
|
TabOrder=4
|
|
End Object
|
|
ch_bShow3DArrow=Show3DArrow
|
|
|
|
Begin Object class=moCheckBox Name=DrawAllObjectives
|
|
WinWidth=0.450000
|
|
WinLeft=0.024219
|
|
WinTop=0.6
|
|
Caption="Show Full Indicators"
|
|
Hint="Draw Indicators when Objective is behind player."
|
|
OnChange=InternalOnChange
|
|
CaptionWidth=0.1
|
|
bAutoSizeCaption=True
|
|
LabelJustification=TXTA_Left
|
|
ComponentJustification=TXTA_Center
|
|
TabOrder=5
|
|
End Object
|
|
ch_bDrawAllObjectives=DrawAllObjectives
|
|
|
|
Begin Object class=moCheckBox Name=ObjectiveReminder
|
|
WinWidth=0.450000
|
|
WinHeight=0.072727
|
|
WinTop=0.75
|
|
Caption="Objective Reminder Announcer"
|
|
Hint="Remind objective goals at respawn."
|
|
OnChange=InternalOnChange
|
|
CaptionWidth=0.1
|
|
bAutoSizeCaption=True
|
|
LabelJustification=TXTA_Left
|
|
ComponentJustification=TXTA_Center
|
|
TabOrder=6
|
|
End Object
|
|
ch_bObjectiveReminder=ObjectiveReminder
|
|
|
|
Begin Object class=moCheckBox Name=ShowWillowWhisp
|
|
WinWidth=0.450000
|
|
WinLeft=0.024219
|
|
WinTop=0.6
|
|
Caption="Enable Willow Whisp"
|
|
Hint="Enable particle trail, showing path to objective."
|
|
OnChange=InternalOnChange
|
|
CaptionWidth=0.1
|
|
bAutoSizeCaption=True
|
|
LabelJustification=TXTA_Left
|
|
ComponentJustification=TXTA_Center
|
|
TabOrder=7
|
|
End Object
|
|
ch_bShowWillowWhisp=ShowWillowWhisp
|
|
|
|
Begin Object class=GUIButton name=ResetButton
|
|
WinWidth=0.139474
|
|
WinHeight=0.052944
|
|
WinLeft=0.288892
|
|
WinTop=0.792153
|
|
Caption="Defaults"
|
|
Hint="Restore all settings to their default value."
|
|
OnClick=InternalOnClick
|
|
TabOrder=7
|
|
End Object
|
|
b_Reset=ResetButton
|
|
|
|
Begin Object class=GUIButton Name=CancelButton
|
|
WinWidth=0.139474
|
|
WinHeight=0.052944
|
|
WinLeft=0.496436
|
|
WinTop=0.792153
|
|
Caption="Cancel"
|
|
Hint="Click to close this menu, discarding changes."
|
|
OnClick=InternalOnClick
|
|
TabOrder=8
|
|
End Object
|
|
b_Cancel=CancelButton
|
|
WindowName="Assault HUD Configuration"
|
|
|
|
Begin Object class=GUIButton Name=OKButton
|
|
WinWidth=0.139474
|
|
WinHeight=0.052944
|
|
WinLeft=0.640437
|
|
WinTop=0.792153
|
|
Caption="OK"
|
|
Hint="Click to close this menu, saving changes."
|
|
OnClick=InternalOnClick
|
|
TabOrder=9
|
|
End Object
|
|
b_OK=OKButton
|
|
|
|
}
|
|
*/
|