//============================================================================== // 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 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(DynamicLoadObject( GameClassName, class'Class' )); if ( GameClass == None ) { Warn(Name@"could not load specified gametype:"@GameClassName); return False; } if ( GameClass.default.HUDType != "" ) { HUDClass = class(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 } */