From 84ce5f6804d55c83435dbebe4ad14c22449a719a Mon Sep 17 00:00:00 2001 From: GenZmeY Date: Sun, 25 Dec 2022 01:31:12 +0300 Subject: [PATCH] client-side "Access None" fixes --- .../Classes/ExtHUD_ObjectiveConatiner.uc | 28 +++++++++++++++++++ ServerExt/Classes/ExtMoviePlayer_HUD.uc | 16 +++++++++++ ServerExt/Classes/ExtMoviePlayer_Manager.uc | 16 +++++++++++ 3 files changed, 60 insertions(+) create mode 100644 ServerExt/Classes/ExtHUD_ObjectiveConatiner.uc diff --git a/ServerExt/Classes/ExtHUD_ObjectiveConatiner.uc b/ServerExt/Classes/ExtHUD_ObjectiveConatiner.uc new file mode 100644 index 0000000..0c23c80 --- /dev/null +++ b/ServerExt/Classes/ExtHUD_ObjectiveConatiner.uc @@ -0,0 +1,28 @@ +class ExtHUD_ObjectiveConatiner extends KFGFxHUD_ObjectiveConatiner; + +simulated function SetActive(bool bActive) +{ + if (bActive) + { + Super.SetActive(bActive); + } + else + { + SetVisible(bActive); + CurrentObjectiveInterface = none; + + // Fix: + // ScriptWarning: Accessed None + // KFGFxHUD_ObjectiveConatiner Transient.ExtMoviePlayer_HUD_0:KFGFxHUD_ObjectiveConatiner_0 + // Function KFGame.KFGFxHUD_ObjectiveConatiner:SetActive:01D9 + if (GetObject("objectiveNumberMC") != None) + { + GetObject("objectiveNumberMC").SetVisible(false); + } + } +} + +DefaultProperties +{ + +} \ No newline at end of file diff --git a/ServerExt/Classes/ExtMoviePlayer_HUD.uc b/ServerExt/Classes/ExtMoviePlayer_HUD.uc index 73598e4..dd02835 100644 --- a/ServerExt/Classes/ExtMoviePlayer_HUD.uc +++ b/ServerExt/Classes/ExtMoviePlayer_HUD.uc @@ -93,6 +93,20 @@ final function ShowKillMessageX(PlayerReplicationInfo PRI1, PlayerReplicationInf } } +function UpdateObjectiveActive() +{ + // Fix: + // ScriptWarning: Accessed None 'KFGRI' + // ExtMoviePlayer_HUD Transient.ExtMoviePlayer_HUD_0 + // Function KFGame.KFGFxMoviePlayer_HUD:UpdateObjectiveActive:00B7 + if (GetPC() == None || KFGameReplicationInfo(GetPC().WorldInfo.GRI) == None) + { + return; + } + + Super.UpdateObjectiveActive(); +} + defaultproperties { WidgetBindings.Remove((WidgetName="SpectatorInfoWidget",WidgetClass=class'KFGFxHUD_SpectatorInfo')) @@ -103,4 +117,6 @@ defaultproperties WidgetBindings.Add((WidgetName="PlayerBackpackWidget",WidgetClass=class'ExtHUD_PlayerBackpack')) WidgetBindings.Remove((WidgetName="WeaponSelectContainer",WidgetClass=class'KFGFxHUD_WeaponSelectWidget')) WidgetBindings.Add((WidgetName="WeaponSelectContainer",WidgetClass=class'ExtHUD_WeaponSelectWidget')) + WidgetBindings.Remove((WidgetName="ObjectiveContainer",WidgetClass=class'KFGFxHUD_ObjectiveConatiner')) + WidgetBindings.Add((WidgetName="ObjectiveContainer",WidgetClass=class'ExtHUD_ObjectiveConatiner')) } \ No newline at end of file diff --git a/ServerExt/Classes/ExtMoviePlayer_Manager.uc b/ServerExt/Classes/ExtMoviePlayer_Manager.uc index 1030ee1..e6962f9 100644 --- a/ServerExt/Classes/ExtMoviePlayer_Manager.uc +++ b/ServerExt/Classes/ExtMoviePlayer_Manager.uc @@ -111,6 +111,22 @@ function OnMenuOpen(name WidgetPath, KFGFxObject_Menu Widget) PerksMenu.ActionScriptVoid("closeContainer"); } +event OnClose() +{ + // Fix: + // ScriptWarning: Accessed None 'CurrentBackgroundMovie' + // ExtMoviePlayer_Manager KF-BIOTICSLAB.TheWorld:PersistentLevel.ExtPlayerController_0.ExtMoviePlayer_Manager_0 + // Function KFGame.KFGFxMoviePlayer_Manager:OnClose:0039 + if (CurrentBackgroundMovie != None) + { + Super.OnClose(); + } + else + { + CloseMenus(); + } +} + defaultproperties { InGamePartyWidgetClass=class'ExtWidget_PartyInGame'